Merge "Fix testSetPreviewTextureBothCallbacks wait timeout" into marshmallow-cts-dev
diff --git a/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java b/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java
index 380e47d..8b0756e 100755
--- a/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java
+++ b/tests/tests/hardware/src/android/hardware/cts/CameraGLTest.java
@@ -171,7 +171,7 @@
         if (LOGV) Log.v(TAG, "Shutdown of camera complete.");
     }
 
-    /** The camera preview callback. Stops capture after the first callback */
+    /** The camera preview callback. */
     private final class PreviewCallback
             implements android.hardware.Camera.PreviewCallback {
         public void onPreviewFrame(byte [] data, Camera camera) {
@@ -179,7 +179,6 @@
             assertNotNull(data);
             Size size = camera.getParameters().getPreviewSize();
             assertEquals(size.width * size.height * 3 / 2, data.length);
-            mCamera.stopPreview();
             mPreviewDone.open();
         }
     }
@@ -350,6 +349,7 @@
             mCamera.setPreviewTexture(mSurfaceTexture);
             noTimeout = waitForPreviewDone();
             assertTrue("Timeout waiting for new preview callback!", noTimeout);
+            mCamera.stopPreview();
             terminateMessageLooper();
 
             // Check the order: setPreviewTexture->startPreview.
@@ -359,6 +359,7 @@
             mCamera.startPreview();
             noTimeout = waitForPreviewDone();
             assertTrue("Timeout waiting for new preview callback!", noTimeout);
+            mCamera.stopPreview();
 
             // Check the order: setting preview display to null->startPreview->
             // setPreviewTexture.
@@ -368,6 +369,7 @@
             mCamera.setPreviewTexture(mSurfaceTexture);
             noTimeout = waitForPreviewDone();
             assertTrue("Timeout waiting for new preview callback!", noTimeout);
+            mCamera.stopPreview();
             terminateMessageLooper();
         }
     };
@@ -396,6 +398,7 @@
             assertTrue("Timeout waiting for new frame from SurfaceTexture!", noTimeout);
             noTimeout = waitForPreviewDone();
             assertTrue("Timeout waiting for new preview callback!",noTimeout);
+            mCamera.stopPreview();
 
             mGLView.requestRender();
             terminateMessageLooper();
@@ -413,6 +416,7 @@
             assertTrue("Timeout waiting for new frame from SurfaceTexture!", noTimeout);
             noTimeout = waitForPreviewDone();
             assertTrue("Timeout waiting for new preview callback!", noTimeout);
+            mCamera.stopPreview();
 
             mGLView.requestRender();
 
@@ -424,6 +428,7 @@
             mCamera.setPreviewTexture(mSurfaceTexture);
             noTimeout = waitForPreviewDone();
             assertTrue(noTimeout);
+            mCamera.stopPreview();
             terminateMessageLooper();
         }
     };