Merge "Camera2: Update tests to match latest API" into klp-dev
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
index 8509491..03a443b 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
@@ -26,6 +26,7 @@
 import android.hardware.camera2.CaptureResult;
 import android.media.Image;
 import android.media.ImageReader;
+import android.os.Handler;
 import android.os.SystemClock;
 import android.test.AndroidTestCase;
 import android.util.Log;
@@ -45,7 +46,9 @@
     private static final boolean VERBOSE = Log.isLoggable(TAG, Log.VERBOSE);
 
     private CameraManager mCameraManager;
-    private CameraDevice.ErrorListener mMockErrorListener;
+    private CameraDevice.CameraDeviceListener mMockDeviceListener;
+    private CameraTestThread mLooperThread;
+    private Handler mCallbackHandler;
 
     /**
      * The error triggered flag starts out as false, and it will flip to true if any errors
@@ -86,10 +89,10 @@
         System.setProperty("dexmaker.dexcache", mContext.getCacheDir().toString());
         /**
          * Create errorlistener in context scope, to catch asynchronous device error.
-         * Use spy object here since we want to use the SimpleErrorListener callback
+         * Use spy object here since we want to use the SimpleDeviceListener callback
          * implementation (spy doesn't stub the functions unless we ask it to do so).
          */
-        mMockErrorListener = spy(new SimpleErrorListener());
+        mMockDeviceListener = spy(new SimpleDeviceListener());
     }
 
     @Override
@@ -105,6 +108,8 @@
         mCameraManager = (CameraManager)mContext.getSystemService(Context.CAMERA_SERVICE);
         assertNotNull("Can't connect to camera manager", mCameraManager);
         createDefaultSurface();
+        mLooperThread = new CameraTestThread();
+        mCallbackHandler = mLooperThread.start();
     }
 
     @Override
@@ -117,15 +122,64 @@
     /**
      * This class need to be public because spy need access it.
      */
-    public class SimpleErrorListener implements CameraDevice.ErrorListener {
+    public class SimpleDeviceListener extends CameraDevice.CameraDeviceListener {
+        private Object mIdleLock = new Object();
+        private boolean mIdle = false;
+
+        public SimpleDeviceListener() {
+
+        }
+
+        // Wait for idle to occur, with a timeout in milliseconds.
+        // A timeout of 0 means indefinite wait
+        public void waitForIdle(long timeout) {
+            synchronized(mIdleLock) {
+                if (!mIdle) {
+                    try {
+                        if (timeout > 0) {
+                            mIdleLock.wait(timeout);
+                        } else {
+                            mIdleLock.wait();
+                        }
+                    } catch (InterruptedException e) {
+                        // Probably fail the idle assert, but needs no other
+                        // action
+                    }
+                    assertTrue("Timeout waiting for camera device idle", mIdle);
+                }
+                mIdle = false;
+            }
+        }
+
+        // Clear idle flag
+        public void clearIdleFlag() {
+            synchronized(mIdleLock) {
+                mIdle = false;
+            }
+        }
+
         @Override
-        public void onCameraDeviceError(CameraDevice camera, int error) {
+        public void onCameraIdle(CameraDevice camera) {
+            synchronized(mIdleLock) {
+                mIdle = true;
+                mIdleLock.notifyAll();
+            }
+        }
+
+        @Override
+        public void onCameraDisconnected(CameraDevice camera) {
+            // Not expecting disconnections
+            mErrorTriggered = true;
+        }
+
+        @Override
+        public void onCameraError(CameraDevice camera, int error) {
             mErrorTriggered = true;
         }
     }
 
-    public void testCameraDeviceCreateCaptureRequest() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+    public void testCameraDeviceCreateCaptureBuilder() throws Exception {
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = null;
             try {
@@ -138,7 +192,7 @@
                  * present.
                  */
                 for (int j = 0; j < mTemplates.length; j++) {
-                    CaptureRequest capReq = camera.createCaptureRequest(mTemplates[j]);
+                    CaptureRequest.Builder capReq = camera.createCaptureRequest(mTemplates[j]);
                     assertNotNull("Failed to create capture request", capReq);
                     assertNotNull("Missing field: SENSOR_EXPOSURE_TIME",
                             capReq.get(CaptureRequest.SENSOR_EXPOSURE_TIME));
@@ -157,7 +211,7 @@
     }
 
     public void testCameraDeviceGetProperties() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = null;
             try {
@@ -182,7 +236,7 @@
     }
 
     public void testCameraDeviceSetErrorListener() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = null;
             try {
@@ -194,10 +248,10 @@
                  * Test: that the error listener can be set without problems.
                  * Also, wait some time to check if device doesn't run into error.
                  */
-                camera.setErrorListener(mMockErrorListener);
+                camera.setDeviceListener(mMockDeviceListener, mCallbackHandler);
                 SystemClock.sleep(ERROR_LISTENER_WAIT_TIMEOUT_MS);
-                verify(mMockErrorListener, never())
-                        .onCameraDeviceError(
+                verify(mMockDeviceListener, never())
+                        .onCameraError(
                                 any(CameraDevice.class),
                                 anyInt());
             }
@@ -242,14 +296,14 @@
     }
 
     private void runCaptureTest(boolean burst, boolean repeating) throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = null;
             try {
                 camera = mCameraManager.openCamera(ids[i]);
                 assertNotNull(
                         String.format("Failed to open camera device %s", ids[i]), camera);
-                camera.setErrorListener(mMockErrorListener);
+                camera.setDeviceListener(mMockDeviceListener, mCallbackHandler);
 
                 prepareCapture(camera);
 
@@ -280,8 +334,8 @@
                     // Test: burst of 5 shots of different template types
                     captureBurstShot(camera, ids[i], mTemplates, mTemplates.length, repeating);
                 }
-                verify(mMockErrorListener, never())
-                        .onCameraDeviceError(
+                verify(mMockDeviceListener, never())
+                        .onCameraError(
                                 any(CameraDevice.class),
                                 anyInt());
             }
@@ -299,9 +353,9 @@
             int template,
             boolean repeating) throws Exception {
 
-        CaptureRequest request = camera.createCaptureRequest(template);
-        assertNotNull("Failed to create capture request", request);
-        request.addTarget(mSurface);
+        CaptureRequest.Builder requestBuilder = camera.createCaptureRequest(template);
+        assertNotNull("Failed to create capture request", requestBuilder);
+        requestBuilder.addTarget(mSurface);
         CameraDevice.CaptureListener mockCaptureListener =
                 mock(CameraDevice.CaptureListener.class);
 
@@ -310,10 +364,11 @@
                     id, template));
         }
         if (!repeating) {
-            camera.capture(request, mockCaptureListener);
+            camera.capture(requestBuilder.build(), mockCaptureListener, mCallbackHandler);
         }
         else {
-            camera.setRepeatingRequest(request, mockCaptureListener);
+            camera.setRepeatingRequest(requestBuilder.build(), mockCaptureListener,
+                    mCallbackHandler);
         }
 
         int expectedCaptureResultCount = repeating ? REPEATING_CAPTURE_EXPECTED_RESULT_COUNT : 1;
@@ -335,10 +390,10 @@
         assertTrue("Invalid args to capture function", len <= templates.length);
         List<CaptureRequest> requests = new ArrayList<CaptureRequest>();
         for (int i = 0; i < len; i++) {
-            CaptureRequest request = camera.createCaptureRequest(templates[i]);
-            assertNotNull("Failed to create capture request", request);
-            request.addTarget(mSurface);
-            requests.add(request);
+            CaptureRequest.Builder requestBuilder = camera.createCaptureRequest(templates[i]);
+            assertNotNull("Failed to create capture request", requestBuilder);
+            requestBuilder.addTarget(mSurface);
+            requests.add(requestBuilder.build());
         }
         CameraDevice.CaptureListener mockCaptureListener =
                 mock(CameraDevice.CaptureListener.class);
@@ -348,10 +403,10 @@
         }
 
         if (!repeating) {
-            camera.captureBurst(requests, mockCaptureListener);
+            camera.captureBurst(requests, mockCaptureListener, mCallbackHandler);
         }
         else {
-            camera.setRepeatingBurst(requests, mockCaptureListener);
+            camera.setRepeatingBurst(requests, mockCaptureListener, mCallbackHandler);
         }
         int expectedResultCount = len;
         if (repeating) {
@@ -404,7 +459,7 @@
         // Should receive expected number of capture results.
         verify(mockListener,
                 timeout(CAPTURE_WAIT_TIMEOUT_MS).atLeast(expectResultCount))
-                        .onCaptureComplete(
+                        .onCaptureCompleted(
                                 any(CameraDevice.class),
                                 argThat(new IsCameraMetadataNotEmpty<CaptureRequest>()),
                                 argThat(new IsCameraMetadataNotEmpty<CaptureResult>()));
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraManagerTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraManagerTest.java
index 52f44f1..c2e0d0f 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraManagerTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraManagerTest.java
@@ -22,6 +22,7 @@
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CameraManager;
 import android.hardware.camera2.CameraProperties;
+import android.os.Handler;
 import android.test.AndroidTestCase;
 import android.util.Log;
 
@@ -62,8 +63,8 @@
 
     public void testCameraManagerGetDeviceIdList() throws Exception {
 
-        // Test: that the getDeviceIdList method runs without exceptions.
-        String[] ids = mCameraManager.getDeviceIdList();
+        // Test: that the getCameraIdList method runs without exceptions.
+        String[] ids = mCameraManager.getCameraIdList();
         if (VERBOSE) Log.v(TAG, "CameraManager ids: " + Arrays.toString(ids));
 
         // Test: that if the device has a camera, there must be at least one reported id.
@@ -95,7 +96,7 @@
 
     // Test: that properties can be queried from each device, without exceptions.
     public void testCameraManagerGetCameraProperties() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull(
@@ -113,7 +114,7 @@
 
     // Test: that an exception is thrown if an invalid device id is passed down.
     public void testCameraManagerInvalidDevice() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         // Create an invalid id by concatenating all the valid ids together.
         StringBuilder invalidId = new StringBuilder();
         invalidId.append("INVALID");
@@ -132,7 +133,7 @@
 
     // Test: that each camera device can be opened one at a time, several times.
     public void testCameraManagerOpenCamerasSerially() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             for (int j = 0; j < NUM_CAMERA_REOPENS; j++) {
                 CameraDevice camera = mCameraManager.openCamera(ids[i]);
@@ -148,7 +149,7 @@
      * exception is thrown if this can't be done.
      */
     public void testCameraManagerOpenAllCameras() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         CameraDevice[] cameras = new CameraDevice[ids.length];
         try {
             for (int i = 0; i < ids.length; i++) {
@@ -185,7 +186,7 @@
 
     // Test: that opening the same device multiple times throws the right exception.
     public void testCameraManagerOpenCameraTwice() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         CameraDevice[] cameras = new CameraDevice[2];
         if (ids.length > 0) {
             try {
@@ -218,7 +219,7 @@
         }
     }
 
-    private class NoopCameraListener implements CameraManager.CameraListener {
+    private class NoopCameraListener extends CameraManager.AvailabilityListener {
         @Override
         public void onCameraAvailable(String cameraId) {
             // No-op
@@ -237,11 +238,13 @@
      * a listener that isn't registered should have no effect.
      */
     public void testCameraManagerListener() throws Exception {
-        mCameraManager.unregisterCameraListener(mListener);
-        mCameraManager.registerCameraListener(mListener);
-        mCameraManager.registerCameraListener(mListener);
-        mCameraManager.unregisterCameraListener(mListener);
-        mCameraManager.unregisterCameraListener(mListener);
+        CameraTestThread callbackThread = new CameraTestThread();
+        Handler callbackHandler = callbackThread.start();
+
+        mCameraManager.removeAvailabilityListener(mListener);
+        mCameraManager.addAvailabilityListener(mListener, callbackHandler);
+        mCameraManager.addAvailabilityListener(mListener, callbackHandler);
+        mCameraManager.removeAvailabilityListener(mListener);
+        mCameraManager.removeAvailabilityListener(mListener);
     }
 }
-
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraPropertiesTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraPropertiesTest.java
index 501d5aa..a5576d9 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraPropertiesTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraPropertiesTest.java
@@ -54,7 +54,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAeAvailableAntibandingModes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -73,7 +73,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAeAvailableTargetFpsRanges() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -92,7 +92,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAeCompensationRange() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -111,7 +111,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAeCompensationStep() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -130,7 +130,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAfAvailableModes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -149,7 +149,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAvailableEffects() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -168,7 +168,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAvailableSceneModes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -187,7 +187,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAvailableVideoStabilizationModes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -206,7 +206,7 @@
     }
 
     public void testCameraPropertiesAndroidControlAwbAvailableModes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -225,7 +225,7 @@
     }
 
     public void testCameraPropertiesAndroidControlMaxRegions() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -244,7 +244,7 @@
     }
 
     public void testCameraPropertiesAndroidFlashInfoAvailable() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -263,7 +263,7 @@
     }
 
     public void testCameraPropertiesAndroidJpegAvailableThumbnailSizes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -282,7 +282,7 @@
     }
 
     public void testCameraPropertiesAndroidLensFacing() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -301,7 +301,7 @@
     }
 
     public void testCameraPropertiesAndroidLensInfoAvailableApertures() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -320,7 +320,7 @@
     }
 
     public void testCameraPropertiesAndroidLensInfoAvailableFilterDensities() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -339,7 +339,7 @@
     }
 
     public void testCameraPropertiesAndroidLensInfoAvailableFocalLengths() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -358,7 +358,7 @@
     }
 
     public void testCameraPropertiesAndroidLensInfoAvailableOpticalStabilization() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -377,7 +377,7 @@
     }
 
     public void testCameraPropertiesAndroidLensInfoHyperfocalDistance() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -396,7 +396,7 @@
     }
 
     public void testCameraPropertiesAndroidLensInfoMinimumFocusDistance() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -415,7 +415,7 @@
     }
 
     public void testCameraPropertiesAndroidLensInfoShadingMapSize() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -434,7 +434,7 @@
     }
 
     public void testCameraPropertiesAndroidRequestMaxNumOutputStreams() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -453,7 +453,7 @@
     }
 
     public void testCameraPropertiesAndroidScalerAvailableFormats() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -472,7 +472,7 @@
     }
 
     public void testCameraPropertiesAndroidScalerAvailableJpegMinDurations() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -491,7 +491,7 @@
     }
 
     public void testCameraPropertiesAndroidScalerAvailableJpegSizes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -510,7 +510,7 @@
     }
 
     public void testCameraPropertiesAndroidScalerAvailableMaxDigitalZoom() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -529,7 +529,7 @@
     }
 
     public void testCameraPropertiesAndroidScalerAvailableProcessedMinDurations() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -548,7 +548,7 @@
     }
 
     public void testCameraPropertiesAndroidScalerAvailableProcessedSizes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -567,7 +567,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorBaseGainFactor() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -586,7 +586,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorMaxAnalogSensitivity() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -605,7 +605,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorOrientation() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -624,7 +624,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorInfoActiveArraySize() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -643,7 +643,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorInfoSensitivityRange() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -662,7 +662,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorInfoExposureTimeRange() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -681,7 +681,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorInfoMaxFrameDuration() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -700,7 +700,7 @@
     }
 
     public void testCameraPropertiesAndroidSensorInfoPhysicalSize() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -719,7 +719,7 @@
     }
 
     public void testCameraPropertiesAndroidStatisticsInfoAvailableFaceDetectModes() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -738,7 +738,7 @@
     }
 
     public void testCameraPropertiesAndroidStatisticsInfoMaxFaceCount() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -757,7 +757,7 @@
     }
 
     public void testCameraPropertiesAndroidTonemapMaxCurvePoints() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
@@ -776,7 +776,7 @@
     }
 
     public void testCameraPropertiesAndroidInfoSupportedHardwareLevel() throws Exception {
-        String[] ids = mCameraManager.getDeviceIdList();
+        String[] ids = mCameraManager.getCameraIdList();
         for (int i = 0; i < ids.length; i++) {
             CameraDevice camera = mCameraManager.openCamera(ids[i]);
             assertNotNull("Failed to open camera", camera);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
index d5fad86..3ba9815 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
@@ -79,7 +79,7 @@
     @Override
     protected void setUp() throws Exception {
         super.setUp();
-        mCameraIds = mCameraManager.getDeviceIdList();
+        mCameraIds = mCameraManager.getCameraIdList();
         mLooperThread = new CameraTestThread();
         mHandler = mLooperThread.start();
     }
@@ -220,11 +220,12 @@
         outputSurfaces.add(surface);
         mCamera.configureOutputs(outputSurfaces);
 
-        CaptureRequest captureRequest = mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        assertNotNull("Fail to get captureRequest", captureRequest);
-        captureRequest.addTarget(mReader.getSurface());
+        CaptureRequest.Builder captureBuilder =
+                mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
+        assertNotNull("Fail to get captureRequest", captureBuilder);
+        captureBuilder.addTarget(mReader.getSurface());
 
-        return captureRequest;
+        return captureBuilder.build();
     }
 
     private void captureAndValidateImage(CaptureRequest request,
@@ -235,9 +236,9 @@
         // Only verify single image for still capture
         if (format == ImageFormat.JPEG) {
             captureCount = 1;
-            mCamera.capture(request, null);
+            mCamera.capture(request, null, null);
         } else {
-            mCamera.setRepeatingRequest(request, null);
+            mCamera.setRepeatingRequest(request, null, null);
         }
 
         for (int i = 0; i < captureCount; i++) {