Merge "DO NOT MERGE: Disable two multi user tests for TV devices" into lollipop-mr1-cts-dev
diff --git a/apps/CameraITS/tests/scene1/test_exposure.py b/apps/CameraITS/tests/scene1/test_exposure.py
index d217bdb..605bc53 100644
--- a/apps/CameraITS/tests/scene1/test_exposure.py
+++ b/apps/CameraITS/tests/scene1/test_exposure.py
@@ -54,7 +54,7 @@
         m = 1
         while s*m < sens_range[1] and e/m > expt_range[0]:
             mults.append(m)
-            req = its.objects.manual_capture_request(s*m, e/m)
+            req = its.objects.manual_capture_request(s*m, e/m, True)
             cap = cam.do_capture(req)
             img = its.image.convert_capture_to_rgb_image(cap)
             its.image.write_image(img, "%s_mult=%02d.jpg" % (NAME, m))
diff --git a/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java b/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java
index f9daa3c..8eef86d 100644
--- a/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java
+++ b/suite/cts/deviceTests/tvproviderperf/src/com/android/cts/tvproviderperf/TvProviderPerfTest.java
@@ -157,12 +157,12 @@
         // Query a channel
         try (final Cursor cursor = mContentResolver.query(Channels.CONTENT_URI,
                 projection, null, null, null)) {
-            final Uri channelUri = TvContract.buildChannelUri(cursor.getLong(0));
             applyBatchTimes = MeasureTime.measure(QUERY_RUNS, new MeasureRun() {
                 @Override
                 public void run(int i) {
                     assertTrue(cursor.moveToNext());
-                    try (Cursor c = mContentResolver.query(channelUri, null, null, null, null)) {
+                    try (Cursor c = mContentResolver.query(TvContract.buildChannelUri(
+                            cursor.getLong(0)), null, null, null, null)) {
                         while (c.moveToNext()) {
                             // Do nothing. Just iterate all the items.
                         }
@@ -321,12 +321,12 @@
         // Query a program
         try (final Cursor cursor = mContentResolver.query(Programs.CONTENT_URI,
                 projection, null, null, null)) {
-            final Uri programUri = TvContract.buildProgramUri(cursor.getLong(0));
             applyBatchTimes = MeasureTime.measure(QUERY_RUNS, new MeasureRun() {
                 @Override
                 public void run(int i) {
                     assertTrue(cursor.moveToNext());
-                    try (Cursor c = mContentResolver.query(programUri, null, null, null, null)) {
+                    try (Cursor c = mContentResolver.query(TvContract.buildProgramUri(
+                            cursor.getLong(0)), null, null, null, null)) {
                         while (c.moveToNext()) {
                             // Do nothing. Just iterate all the items.
                         }
diff --git a/tests/expectations/knownfailures.txt b/tests/expectations/knownfailures.txt
index 9e46580..06ef71e 100644
--- a/tests/expectations/knownfailures.txt
+++ b/tests/expectations/knownfailures.txt
@@ -120,6 +120,13 @@
   bug: 17530117
 },
 {
+  description: "The new image reader test is not yet passing on all devices",
+  names: [
+    "android.hardware.camera2.cts.ImageReaderTest#testAllOutputYUVResolutions"
+  ],
+  bug: 18689511
+},
+{
   description: "Current implementation of uninstallAllUserCaCerts does not throw expected security exception, wait for fix from framework",
   names: [
     "android.admin.cts.DevicePolicyManagerTest#testUninstallAllUserCaCerts_failIfNotProfileOwner"
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
old mode 100644
new mode 100755
index 00f7e1c..f2a9aee
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
@@ -96,6 +96,7 @@
     protected CameraCaptureSession mSession;
     protected ImageReader mReader;
     protected Surface mReaderSurface;
+    protected Surface mOldReaderSurface;
     protected Surface mPreviewSurface;
     protected Size mPreviewSize;
     protected List<Size> mOrderedPreviewSizes; // In descending order.
@@ -549,6 +550,8 @@
     protected void closeImageReader() {
         CameraTestUtils.closeImageReader(mReader);
         mReader = null;
+        Log.i(TAG,"mReaderSurface = " + mReaderSurface);
+        mOldReaderSurface = mReaderSurface;
         mReaderSurface = null;
     }
 
@@ -654,7 +657,11 @@
         outputSurfaces.add(mReaderSurface);
         mSessionListener = new BlockingSessionCallback();
         mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler);
-
+        if (mOldReaderSurface != null) {
+            Log.i(TAG,"release mOldReaderSurface = " + mOldReaderSurface);
+            mOldReaderSurface.release();
+            mOldReaderSurface = null;
+        }
         // Configure the requests.
         previewRequest.addTarget(mPreviewSurface);
         stillRequest.addTarget(mPreviewSurface);