Camera2: Fix CTS test case testSetPreviewDisplay
Patch makes sure to preparePreview when startPreview is called
before a valid Native Window set, this ensures that we can
successfully call startPreview later when a valid Native Window
is set.
Change-Id: If78f4c3639c726d8376aa5065d63432bbd55fee1
diff --git a/QCamera2/HAL/QCameraStateMachine.cpp b/QCamera2/HAL/QCameraStateMachine.cpp
index 2993d97..adaf214 100644
--- a/QCamera2/HAL/QCameraStateMachine.cpp
+++ b/QCamera2/HAL/QCameraStateMachine.cpp
@@ -381,9 +381,13 @@
case QCAMERA_SM_EVT_START_PREVIEW:
{
if (m_parent->mPreviewWindow == NULL) {
- // preview window is not set yet, move to previewReady state
- m_state = QCAMERA_SM_STATE_PREVIEW_READY;
- rc = NO_ERROR;
+ rc = m_parent->preparePreview();
+ if(rc == NO_ERROR) {
+ // preview window is not set yet, move to previewReady state
+ m_state = QCAMERA_SM_STATE_PREVIEW_READY;
+ } else {
+ ALOGE("%s: preparePreview failed",__func__);
+ }
} else {
rc = m_parent->preparePreview();
if (rc == NO_ERROR) {