Camera2: Renames for final camera2 API changes

- Listener -> Callback
- add/remove callbacks -> register/unregister

Bug: 17389922
Change-Id: Icc8b7c5c9f2d714458fd4cf3229443d320ed40f2
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
index fb23a5f..92a5e58 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/AllocationTest.java
@@ -20,7 +20,7 @@
 import static android.hardware.camera2.cts.helpers.Preconditions.*;
 import static android.hardware.camera2.cts.helpers.AssertHelpers.*;
 import static android.hardware.camera2.cts.CameraTestUtils.*;
-import static com.android.ex.camera2.blocking.BlockingStateListener.*;
+import static com.android.ex.camera2.blocking.BlockingStateCallback.*;
 
 import android.content.Context;
 import android.graphics.ImageFormat;
@@ -56,8 +56,8 @@
 import android.view.Surface;
 
 import com.android.ex.camera2.blocking.BlockingCameraManager.BlockingOpenException;
-import com.android.ex.camera2.blocking.BlockingStateListener;
-import com.android.ex.camera2.blocking.BlockingSessionListener;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -78,8 +78,8 @@
     private CameraManager mCameraManager;
     private CameraDevice mCamera;
     private CameraCaptureSession mSession;
-    private BlockingStateListener mCameraListener;
-    private BlockingSessionListener mSessionListener;
+    private BlockingStateCallback mCameraListener;
+    private BlockingSessionCallback mSessionListener;
 
     private String[] mCameraIds;
 
@@ -107,7 +107,7 @@
         mHandlerThread = new HandlerThread("AllocationTest");
         mHandlerThread.start();
         mHandler = new Handler(mHandlerThread.getLooper());
-        mCameraListener = new BlockingStateListener();
+        mCameraListener = new BlockingStateCallback();
 
         mCameraIterable = new CameraIterable();
         mSizeIterable = new SizeIterable();
@@ -360,7 +360,7 @@
         assertNotNull("Failed to get Surface", cameraTarget);
         outputSurfaces.add(cameraTarget);
 
-        mSessionListener = new BlockingSessionListener();
+        mSessionListener = new BlockingSessionCallback();
         mCamera.createCaptureSession(outputSurfaces, mSessionListener, mHandler);
         mSession = mSessionListener.waitAndGetSession(SESSION_CONFIGURE_TIMEOUT_MS);
         CaptureRequest.Builder captureBuilder =
@@ -384,7 +384,7 @@
         checkNotNull("request", request);
         checkNotNull("graph", graph);
 
-        mSession.capture(request, new CameraCaptureSession.CaptureListener() {
+        mSession.capture(request, new CameraCaptureSession.CaptureCallback() {
             @Override
             public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
                     TotalCaptureResult result) {
@@ -402,7 +402,7 @@
         if (VERBOSE) Log.v(TAG, "Stopping capture and waiting for idle");
         // Stop repeat, wait for captures to complete, and disconnect from surfaces
         mSession.close();
-        mSessionListener.getStateWaiter().waitForState(BlockingSessionListener.SESSION_CLOSED,
+        mSessionListener.getStateWaiter().waitForState(BlockingSessionCallback.SESSION_CLOSED,
                 SESSION_CLOSE_TIMEOUT_MS);
         mSession = null;
         mSessionListener = null;
@@ -824,7 +824,7 @@
 
             // TODO: start capture, i.e. configureOutputs
 
-            SimpleCaptureListener listener = new SimpleCaptureListener();
+            SimpleCaptureCallback listener = new SimpleCaptureCallback();
 
             if (!repeating) {
                 for (int i = 0; i < count; ++i) {
@@ -835,7 +835,7 @@
             }
 
             // Assume that the device is already IDLE.
-            mSessionListener.getStateWaiter().waitForState(BlockingSessionListener.SESSION_ACTIVE,
+            mSessionListener.getStateWaiter().waitForState(BlockingSessionCallback.SESSION_ACTIVE,
                     CAMERA_ACTIVE_TIMEOUT_MS);
 
             for (int i = 0; i < count; ++i) {
@@ -851,7 +851,7 @@
             if (repeating) {
                 mSession.stopRepeating();
                 mSessionListener.getStateWaiter().waitForState(
-                    BlockingSessionListener.SESSION_READY, CAMERA_IDLE_TIMEOUT_MS);
+                    BlockingSessionCallback.SESSION_READY, CAMERA_IDLE_TIMEOUT_MS);
             }
 
             // TODO: Make a Configure decorator or some such for configureOutputs
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 7ddae65..7f3c652 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraDeviceTest.java
@@ -17,8 +17,8 @@
 package android.hardware.camera2.cts;
 
 import static android.hardware.camera2.cts.CameraTestUtils.*;
-import static com.android.ex.camera2.blocking.BlockingStateListener.*;
-import static com.android.ex.camera2.blocking.BlockingSessionListener.*;
+import static com.android.ex.camera2.blocking.BlockingStateCallback.*;
+import static com.android.ex.camera2.blocking.BlockingSessionCallback.*;
 import static org.mockito.Mockito.*;
 import static android.hardware.camera2.CaptureRequest.*;
 
@@ -40,8 +40,8 @@
 import android.util.Range;
 import android.view.Surface;
 
-import com.android.ex.camera2.blocking.BlockingSessionListener;
-import com.android.ex.camera2.blocking.BlockingStateListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
 import com.android.ex.camera2.utils.StateWaiter;
 
 import org.mockito.ArgumentMatcher;
@@ -65,9 +65,9 @@
 
     private CameraCaptureSession mSession;
 
-    private BlockingStateListener mCameraMockListener;
+    private BlockingStateCallback mCameraMockListener;
     private int mLatestDeviceState = STATE_UNINITIALIZED;
-    private BlockingSessionListener mSessionMockListener;
+    private BlockingSessionCallback mSessionMockListener;
     private StateWaiter mSessionWaiter;
     private int mLatestSessionState = -1; // uninitialized
 
@@ -95,7 +95,7 @@
          * 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).
          */
-        mCameraMockListener = spy(new BlockingStateListener());
+        mCameraMockListener = spy(new BlockingStateCallback());
     }
 
     @Override
@@ -405,7 +405,7 @@
         // A cascade of Device->Session->Capture listeners, each of which invokes at least one
         // method on the camera device or session.
 
-        class ChainedCaptureListener extends CameraCaptureSession.CaptureListener {
+        class ChainedCaptureCallback extends CameraCaptureSession.CaptureCallback {
             public void onCaptureCompleted(CameraCaptureSession session, CaptureRequest request,
                     TotalCaptureResult result) {
                 try {
@@ -444,8 +444,8 @@
             }
         }
 
-        class ChainedSessionListener extends CameraCaptureSession.StateListener {
-            private final ChainedCaptureListener mCaptureListener = new ChainedCaptureListener();
+        class ChainedSessionListener extends CameraCaptureSession.StateCallback {
+            private final ChainedCaptureCallback mCaptureCallback = new ChainedCaptureCallback();
 
             public void onConfigured(CameraCaptureSession session) {
                 try {
@@ -456,7 +456,7 @@
                     session.getDevice();
                     session.abortCaptures();
                     // The important call for the next level of chaining
-                    session.capture(request.build(), mCaptureListener, mHandler);
+                    session.capture(request.build(), mCaptureCallback, mHandler);
                     // Some more calls
                     session.setRepeatingRequest(request.build(),
                             /*listener*/ null, /*handler*/ null);
@@ -479,7 +479,7 @@
             }
         }
 
-        class ChainedCameraListener extends CameraDevice.StateListener {
+        class ChainedCameraListener extends CameraDevice.StateCallback {
             private final ChainedSessionListener mSessionListener = new ChainedSessionListener();
 
             public CameraDevice cameraDevice;
@@ -760,19 +760,19 @@
         CaptureRequest.Builder requestBuilder = mCamera.createCaptureRequest(template);
         assertNotNull("Failed to create capture request", requestBuilder);
         requestBuilder.addTarget(mReaderSurface);
-        CameraCaptureSession.CaptureListener mockCaptureListener =
-                mock(CameraCaptureSession.CaptureListener.class);
+        CameraCaptureSession.CaptureCallback mockCaptureCallback =
+                mock(CameraCaptureSession.CaptureCallback.class);
 
         if (VERBOSE) {
             Log.v(TAG, String.format("Capturing shot for device %s, template %d",
                     id, template));
         }
 
-        startCapture(requestBuilder.build(), repeating, mockCaptureListener, mHandler);
+        startCapture(requestBuilder.build(), repeating, mockCaptureCallback, mHandler);
         waitForSessionState(SESSION_ACTIVE, SESSION_ACTIVE_TIMEOUT_MS);
 
         int expectedCaptureResultCount = repeating ? REPEATING_CAPTURE_EXPECTED_RESULT_COUNT : 1;
-        verifyCaptureResults(mockCaptureListener, expectedCaptureResultCount);
+        verifyCaptureResults(mockCaptureCallback, expectedCaptureResultCount);
 
         if (repeating) {
             if (abort) {
@@ -802,18 +802,18 @@
             requestBuilder.addTarget(mReaderSurface);
             requests.add(requestBuilder.build());
         }
-        CameraCaptureSession.CaptureListener mockCaptureListener =
-                mock(CameraCaptureSession.CaptureListener.class);
+        CameraCaptureSession.CaptureCallback mockCaptureCallback =
+                mock(CameraCaptureSession.CaptureCallback.class);
 
         if (VERBOSE) {
             Log.v(TAG, String.format("Capturing burst shot for device %s", id));
         }
 
         if (!repeating) {
-            mSession.captureBurst(requests, mockCaptureListener, mHandler);
+            mSession.captureBurst(requests, mockCaptureCallback, mHandler);
         }
         else {
-            mSession.setRepeatingBurst(requests, mockCaptureListener, mHandler);
+            mSession.setRepeatingBurst(requests, mockCaptureCallback, mHandler);
         }
         waitForSessionState(SESSION_ACTIVE, SESSION_READY_TIMEOUT_MS);
 
@@ -822,7 +822,7 @@
             expectedResultCount *= REPEATING_CAPTURE_EXPECTED_RESULT_COUNT;
         }
 
-        verifyCaptureResults(mockCaptureListener, expectedResultCount);
+        verifyCaptureResults(mockCaptureCallback, expectedResultCount);
 
         if (repeating) {
             if (abort) {
@@ -854,7 +854,7 @@
         }
 
         // Create a new session listener each time, it's not reusable across cameras
-        mSessionMockListener = spy(new BlockingSessionListener());
+        mSessionMockListener = spy(new BlockingSessionCallback());
         mSessionWaiter = mSessionMockListener.getStateWaiter();
 
         List<Surface> outputSurfaces = new ArrayList<>(Arrays.asList(mReaderSurface));
@@ -876,7 +876,7 @@
     }
 
     private void verifyCaptureResults(
-            CameraCaptureSession.CaptureListener mockListener,
+            CameraCaptureSession.CaptureCallback mockListener,
             int expectResultCount) {
         final int TIMEOUT_PER_RESULT_MS = 2000;
         // Should receive expected number of capture results.
@@ -1304,11 +1304,11 @@
      *
      * @param request The {@link #CaptureRequest} to be captured.
      * @param repeating If the capture is single capture or repeating.
-     * @param listener The {@link #CaptureListener} camera device used to notify callbacks.
+     * @param listener The {@link #CaptureCallback} camera device used to notify callbacks.
      * @param handler The handler camera device used to post callbacks.
      */
     protected void startCapture(CaptureRequest request, boolean repeating,
-            CameraCaptureSession.CaptureListener listener, Handler handler)
+            CameraCaptureSession.CaptureCallback listener, Handler handler)
                     throws CameraAccessException {
         if (VERBOSE) Log.v(TAG, "Starting capture from session");
 
@@ -1321,7 +1321,7 @@
 
     /**
      * Close a {@link #CameraCaptureSession capture session}; blocking until
-     * the close finishes with a transition to {@link CameraCaptureSession.StateListener#onClosed}.
+     * the close finishes with a transition to {@link CameraCaptureSession.StateCallback#onClosed}.
      */
     protected void closeSession() {
         if (mSession == null) {
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 a8c9896..192fb85 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraManagerTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraManagerTest.java
@@ -25,16 +25,16 @@
 import android.hardware.camera2.CameraAccessException;
 import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CameraDevice;
-import android.hardware.camera2.CameraDevice.StateListener;
+import android.hardware.camera2.CameraDevice.StateCallback;
 import android.hardware.camera2.CameraManager;
-import android.hardware.camera2.cts.CameraTestUtils.MockStateListener;
+import android.hardware.camera2.cts.CameraTestUtils.MockStateCallback;
 import android.hardware.camera2.cts.helpers.CameraErrorCollector;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.test.AndroidTestCase;
 import android.util.Log;
 
-import com.android.ex.camera2.blocking.BlockingStateListener;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
 
 import org.mockito.ArgumentCaptor;
 import org.mockito.InOrder;
@@ -56,7 +56,7 @@
     private NoopCameraListener mListener;
     private HandlerThread mHandlerThread;
     private Handler mHandler;
-    private BlockingStateListener mCameraListener;
+    private BlockingStateCallback mCameraListener;
     private CameraErrorCollector mCollector;
 
     @Override
@@ -81,7 +81,7 @@
          */
         System.setProperty("dexmaker.dexcache", getContext().getCacheDir().toString());
 
-        mCameraListener = spy(new BlockingStateListener());
+        mCameraListener = spy(new BlockingStateCallback());
 
         mHandlerThread = new HandlerThread(TAG);
         mHandlerThread.start();
@@ -205,13 +205,13 @@
             for (int j = 0; j < NUM_CAMERA_REOPENS; j++) {
                 CameraDevice camera = null;
                 try {
-                    MockStateListener mockListener = MockStateListener.mock();
-                    mCameraListener = new BlockingStateListener(mockListener);
+                    MockStateCallback mockListener = MockStateCallback.mock();
+                    mCameraListener = new BlockingStateCallback(mockListener);
 
                     mCameraManager.openCamera(ids[i], mCameraListener, mHandler);
 
                     // Block until unConfigured
-                    mCameraListener.waitForState(BlockingStateListener.STATE_OPENED,
+                    mCameraListener.waitForState(BlockingStateCallback.STATE_OPENED,
                             CameraTestUtils.CAMERA_IDLE_TIMEOUT_MS);
 
                     // Ensure state transitions are in right order:
@@ -241,19 +241,19 @@
         }
 
         List<CameraDevice> cameraList = new ArrayList<CameraDevice>();
-        List<MockStateListener> listenerList = new ArrayList<MockStateListener>();
-        List<BlockingStateListener> blockingListenerList = new ArrayList<BlockingStateListener>();
+        List<MockStateCallback> listenerList = new ArrayList<MockStateCallback>();
+        List<BlockingStateCallback> blockingListenerList = new ArrayList<BlockingStateCallback>();
         try {
             for (int i = 0; i < ids.length; i++) {
                 // Ignore state changes from other cameras
-                MockStateListener mockListener = MockStateListener.mock();
-                mCameraListener = new BlockingStateListener(mockListener);
+                MockStateCallback mockListener = MockStateCallback.mock();
+                mCameraListener = new BlockingStateCallback(mockListener);
 
                 /**
                  * Track whether or not we got a synchronous error from openCamera.
                  *
                  * A synchronous error must also be accompanied by an asynchronous
-                 * StateListener#onError callback.
+                 * StateCallback#onError callback.
                  */
                 boolean expectingError = false;
 
@@ -271,16 +271,16 @@
                 }
 
                 List<Integer> expectedStates = new ArrayList<Integer>();
-                expectedStates.add(BlockingStateListener.STATE_OPENED);
-                expectedStates.add(BlockingStateListener.STATE_ERROR);
+                expectedStates.add(BlockingStateCallback.STATE_OPENED);
+                expectedStates.add(BlockingStateCallback.STATE_ERROR);
                 int state = mCameraListener.waitForAnyOfStates(
                         expectedStates, CameraTestUtils.CAMERA_IDLE_TIMEOUT_MS);
 
                 // It's possible that we got an asynchronous error transition only. This is ok.
                 if (expectingError) {
                     assertEquals("Throwing a CAMERA_ERROR exception must be accompanied with a " +
-                            "StateListener#onError callback",
-                            BlockingStateListener.STATE_ERROR, state);
+                            "StateCallback#onError callback",
+                            BlockingStateCallback.STATE_ERROR, state);
                 }
 
                 /**
@@ -297,7 +297,7 @@
                  */
 
                 CameraDevice camera;
-                if (state == BlockingStateListener.STATE_ERROR) {
+                if (state == BlockingStateCallback.STATE_ERROR) {
                     // Camera did not open because too many other cameras were opened
                     // => onError called exactly once with a non-null camera
                     assertTrue("At least one camera must be opened successfully",
@@ -309,13 +309,13 @@
                     verify(mockListener)
                             .onError(
                                     argument.capture(),
-                                    eq(CameraDevice.StateListener.ERROR_MAX_CAMERAS_IN_USE));
+                                    eq(CameraDevice.StateCallback.ERROR_MAX_CAMERAS_IN_USE));
                     verifyNoMoreInteractions(mockListener);
 
                     camera = argument.getValue();
                     assertNotNull("Expected a non-null camera for the error transition for ID: "
                             + ids[i], camera);
-                } else if (state == BlockingStateListener.STATE_OPENED) {
+                } else if (state == BlockingStateCallback.STATE_OPENED) {
                     // Camera opened successfully.
                     // => onOpened called exactly once
                     camera = verifyCameraStateOpened(cameraId,
@@ -334,9 +334,9 @@
             for (CameraDevice camera : cameraList) {
                 camera.close();
             }
-            for (BlockingStateListener blockingListener : blockingListenerList) {
+            for (BlockingStateCallback blockingListener : blockingListenerList) {
                 blockingListener.waitForState(
-                        BlockingStateListener.STATE_CLOSED,
+                        BlockingStateCallback.STATE_CLOSED,
                         CameraTestUtils.CAMERA_IDLE_TIMEOUT_MS);
             }
         }
@@ -346,7 +346,7 @@
          * after closing the cameras.
          */
         int i = 0;
-        for (MockStateListener listener : listenerList) {
+        for (MockStateCallback listener : listenerList) {
             CameraDevice camera = cameraList.get(i);
 
             verify(listener).onClosed(eq(camera));
@@ -373,7 +373,7 @@
      * @return The camera device (non-{@code null}).
      */
     private static CameraDevice verifyCameraStateOpened(String cameraId,
-            MockStateListener listener) {
+            MockStateCallback listener) {
         ArgumentCaptor<CameraDevice> argument =
                 ArgumentCaptor.forClass(CameraDevice.class);
         InOrder inOrder = inOrder(listener);
@@ -411,13 +411,13 @@
             mCollector.setCameraId(ids[i]);
 
             try {
-                MockStateListener mockSuccessListener = MockStateListener.mock();
-                MockStateListener mockFailListener = MockStateListener.mock();
+                MockStateCallback mockSuccessListener = MockStateCallback.mock();
+                MockStateCallback mockFailListener = MockStateCallback.mock();
 
-                BlockingStateListener successListener =
-                        new BlockingStateListener(mockSuccessListener);
-                BlockingStateListener failListener =
-                        new BlockingStateListener(mockFailListener);
+                BlockingStateCallback successListener =
+                        new BlockingStateCallback(mockSuccessListener);
+                BlockingStateCallback failListener =
+                        new BlockingStateCallback(mockFailListener);
 
                 mCameraManager.openCamera(ids[i], successListener, mHandler);
 
@@ -434,7 +434,7 @@
                             CameraAccessException.CAMERA_ERROR, e.getReason());
                 }
 
-                successListener.waitForState(BlockingStateListener.STATE_OPENED,
+                successListener.waitForState(BlockingStateCallback.STATE_OPENED,
                         CameraTestUtils.CAMERA_IDLE_TIMEOUT_MS);
                 // Have to get the successCamera here, otherwise, it won't be
                 // closed if STATE_ERROR timeout exception occurs.
@@ -442,7 +442,7 @@
                         ArgumentCaptor.forClass(CameraDevice.class);
                 verify(mockSuccessListener, atLeastOnce()).onOpened(argument.capture());
 
-                failListener.waitForState(BlockingStateListener.STATE_ERROR,
+                failListener.waitForState(BlockingStateCallback.STATE_ERROR,
                         CameraTestUtils.CAMERA_IDLE_TIMEOUT_MS);
 
                 successCamera = verifyCameraStateOpened(
@@ -451,7 +451,7 @@
                 verify(mockFailListener)
                         .onError(
                                 and(notNull(CameraDevice.class), not(eq(successCamera))),
-                                eq(StateListener.ERROR_CAMERA_IN_USE));
+                                eq(StateCallback.ERROR_CAMERA_IN_USE));
                 verifyNoMoreInteractions(mockFailListener);
             } finally {
                 if (successCamera != null) {
@@ -461,7 +461,7 @@
         }
     }
 
-    private class NoopCameraListener extends CameraManager.AvailabilityListener {
+    private class NoopCameraListener extends CameraManager.AvailabilityCallback {
         @Override
         public void onCameraAvailable(String cameraId) {
             // No-op
@@ -480,11 +480,11 @@
      * a listener that isn't registered should have no effect.
      */
     public void testCameraManagerListener() throws Exception {
-        mCameraManager.removeAvailabilityListener(mListener);
-        mCameraManager.addAvailabilityListener(mListener, mHandler);
-        mCameraManager.addAvailabilityListener(mListener, mHandler);
-        mCameraManager.removeAvailabilityListener(mListener);
-        mCameraManager.removeAvailabilityListener(mListener);
+        mCameraManager.unregisterAvailabilityCallback(mListener);
+        mCameraManager.registerAvailabilityCallback(mListener, mHandler);
+        mCameraManager.registerAvailabilityCallback(mListener, mHandler);
+        mCameraManager.unregisterAvailabilityCallback(mListener);
+        mCameraManager.unregisterAvailabilityCallback(mListener);
 
         // TODO: test the listener callbacks
     }
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
index 1f4fc49..2e072d5 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CameraTestUtils.java
@@ -16,7 +16,7 @@
 
 package android.hardware.camera2.cts;
 
-import static com.android.ex.camera2.blocking.BlockingStateListener.*;
+import static com.android.ex.camera2.blocking.BlockingStateCallback.*;
 
 import android.graphics.BitmapFactory;
 import android.graphics.ImageFormat;
@@ -43,8 +43,8 @@
 
 import com.android.ex.camera2.blocking.BlockingCameraManager;
 import com.android.ex.camera2.blocking.BlockingCameraManager.BlockingOpenException;
-import com.android.ex.camera2.blocking.BlockingSessionListener;
-import com.android.ex.camera2.blocking.BlockingStateListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
 import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
 
 import junit.framework.Assert;
@@ -195,7 +195,7 @@
         }
     }
 
-    public static class SimpleCaptureListener extends CameraCaptureSession.CaptureListener {
+    public static class SimpleCaptureCallback extends CameraCaptureSession.CaptureCallback {
         private final LinkedBlockingQueue<CaptureResult> mQueue =
                 new LinkedBlockingQueue<CaptureResult>();
 
@@ -292,7 +292,7 @@
      *            If opening times out. Typically unrecoverable.
      */
     public static CameraDevice openCamera(CameraManager manager, String cameraId,
-            CameraDevice.StateListener listener, Handler handler) throws CameraAccessException,
+            CameraDevice.StateCallback listener, Handler handler) throws CameraAccessException,
             BlockingOpenException {
 
         /**
@@ -338,9 +338,9 @@
      */
     public static CameraCaptureSession configureCameraSession(CameraDevice camera,
             List<Surface> outputSurfaces,
-            CameraCaptureSession.StateListener listener, Handler handler)
+            CameraCaptureSession.StateCallback listener, Handler handler)
             throws CameraAccessException {
-        BlockingSessionListener sessionListener = new BlockingSessionListener(listener);
+        BlockingSessionCallback sessionListener = new BlockingSessionCallback(listener);
         camera.createCaptureSession(outputSurfaces, sessionListener, handler);
 
         return sessionListener.waitAndGetSession(SESSION_CONFIGURE_TIMEOUT_MS);
@@ -781,19 +781,19 @@
     }
 
     /**
-     * Provide a mock for {@link CameraDevice.StateListener}.
+     * Provide a mock for {@link CameraDevice.StateCallback}.
      *
-     * <p>Only useful because mockito can't mock {@link CameraDevice.StateListener} which is an
+     * <p>Only useful because mockito can't mock {@link CameraDevice.StateCallback} which is an
      * abstract class.</p>
      *
      * <p>
      * Use this instead of other classes when needing to verify interactions, since
-     * trying to spy on {@link BlockingStateListener} (or others) will cause unnecessary extra
+     * trying to spy on {@link BlockingStateCallback} (or others) will cause unnecessary extra
      * interactions which will cause false test failures.
      * </p>
      *
      */
-    public static class MockStateListener extends CameraDevice.StateListener {
+    public static class MockStateCallback extends CameraDevice.StateCallback {
 
         @Override
         public void onOpened(CameraDevice camera) {
@@ -807,13 +807,13 @@
         public void onError(CameraDevice camera, int error) {
         }
 
-        private MockStateListener() {}
+        private MockStateCallback() {}
 
         /**
-         * Create a Mockito-ready mocked StateListener.
+         * Create a Mockito-ready mocked StateCallback.
          */
-        public static MockStateListener mock() {
-            return Mockito.spy(new MockStateListener());
+        public static MockStateCallback mock() {
+            return Mockito.spy(new MockStateCallback());
         }
     }
 
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
index fd4f338..3d55c85 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureRequestTest.java
@@ -27,7 +27,7 @@
 import android.hardware.camera2.CameraMetadata;
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.CaptureResult;
-import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureListener;
+import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureCallback;
 import android.hardware.camera2.cts.testcases.Camera2SurfaceViewTestCase;
 import android.hardware.camera2.params.ColorSpaceTransform;
 import android.hardware.camera2.params.Face;
@@ -138,7 +138,7 @@
                     continue;
                 }
 
-                SimpleCaptureListener listener = new SimpleCaptureListener();
+                SimpleCaptureCallback listener = new SimpleCaptureCallback();
                 CaptureRequest.Builder requestBuilder =
                         mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
 
@@ -156,7 +156,7 @@
 
                 // Double the exposure time and gain, with black level still being locked.
                 changeExposure(requestBuilder, DEFAULT_EXP_TIME_NS * 2, DEFAULT_SENSITIVITY * 2);
-                listener = new SimpleCaptureListener();
+                listener = new SimpleCaptureCallback();
                 startPreview(requestBuilder, previewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
                 // Allow at most one lock OFF state as the exposure is changed once.
@@ -191,7 +191,7 @@
                     continue;
                 }
 
-                SimpleCaptureListener listener = new SimpleCaptureListener();
+                SimpleCaptureCallback listener = new SimpleCaptureCallback();
                 CaptureRequest.Builder requestBuilder =
                         mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
 
@@ -204,7 +204,7 @@
                 Size previewSz =
                         getMaxPreviewSize(mCamera.getId(), mCameraManager, PREVIEW_SIZE_BOUND);
 
-                listener = new SimpleCaptureListener();
+                listener = new SimpleCaptureCallback();
                 startPreview(requestBuilder, previewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
                 verifyShadingMap(listener, NUM_FRAMES_VERIFIED, SHADING_MODE_OFF);
@@ -213,7 +213,7 @@
                 // should output valid maps.
                 requestBuilder.set(CaptureRequest.SHADING_MODE, SHADING_MODE_FAST);
 
-                listener = new SimpleCaptureListener();
+                listener = new SimpleCaptureCallback();
                 startPreview(requestBuilder, previewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
                 // Allow at most one lock OFF state as the exposure is changed once.
@@ -223,7 +223,7 @@
                 // should output valid maps.
                 requestBuilder.set(CaptureRequest.SHADING_MODE, SHADING_MODE_HIGH_QUALITY);
 
-                listener = new SimpleCaptureListener();
+                listener = new SimpleCaptureCallback();
                 startPreview(requestBuilder, previewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
                 verifyShadingMap(listener, NUM_FRAMES_VERIFIED, SHADING_MODE_HIGH_QUALITY);
@@ -309,7 +309,7 @@
             try {
                 openDevice(mCameraIds[i]);
 
-                SimpleCaptureListener listener = new SimpleCaptureListener();
+                SimpleCaptureCallback listener = new SimpleCaptureCallback();
                 CaptureRequest.Builder requestBuilder =
                         mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
 
@@ -555,12 +555,12 @@
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
         int[] availableModes = mStaticInfo.getAvailableNoiseReductionModesChecked();
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         startPreview(requestBuilder, maxPrevSize, resultListener);
 
         for (int mode : availableModes) {
             requestBuilder.set(CaptureRequest.NOISE_REDUCTION_MODE, mode);
-            resultListener = new SimpleCaptureListener();
+            resultListener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), resultListener, mHandler);
             waitForSettingsApplied(resultListener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -583,7 +583,7 @@
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
         requestBuilder.set(CaptureRequest.CONTROL_AF_MODE, CaptureRequest.CONTROL_AF_MODE_OFF);
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         startPreview(requestBuilder, maxPrevSize, resultListener);
 
         CaptureRequest request;
@@ -591,7 +591,7 @@
         for (int i = 0; i < testDistances.length; i++) {
             requestBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, testDistances[i]);
             request = requestBuilder.build();
-            resultListener = new SimpleCaptureListener();
+            resultListener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(request, resultListener, mHandler);
             waitForSettingsApplied(resultListener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
             resultDistances[i] = verifyFocusDistanceControl(testDistances[i], request,
@@ -614,7 +614,7 @@
             if (hyperFocalDistance > 0) {
                 requestBuilder.set(CaptureRequest.LENS_FOCUS_DISTANCE, hyperFocalDistance);
                 request = requestBuilder.build();
-                resultListener = new SimpleCaptureListener();
+                resultListener = new SimpleCaptureCallback();
                 mSession.setRepeatingRequest(request, resultListener, mHandler);
                 waitForSettingsApplied(resultListener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -651,7 +651,7 @@
      * @return the result focus distance
      */
     private float verifyFocusDistanceControl(float distance, CaptureRequest request,
-            SimpleCaptureListener resultListener) {
+            SimpleCaptureCallback resultListener) {
         // Need make sure the result corresponding to the request is back, then check.
         CaptureResult result =
                 resultListener.getCaptureResultForRequest(request, NUM_RESULTS_WAIT_TIMEOUT);
@@ -682,12 +682,12 @@
         int[] edgeModes = mStaticInfo.getAvailableEdgeModesChecked();
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         startPreview(requestBuilder, maxPrevSize, resultListener);
 
         for (int mode : edgeModes) {
             requestBuilder.set(CaptureRequest.EDGE_MODE, mode);
-            resultListener = new SimpleCaptureListener();
+            resultListener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), resultListener, mHandler);
             waitForSettingsApplied(resultListener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -717,7 +717,7 @@
         updatePreviewSurface(maxPreviewSz);
         CaptureRequest.Builder manualRequestBuilder = createRequestForPreview();
         CaptureRequest.Builder previewRequestBuilder = createRequestForPreview();
-        SimpleCaptureListener listener = new SimpleCaptureListener();
+        SimpleCaptureCallback listener = new SimpleCaptureCallback();
 
         startPreview(previewRequestBuilder, maxPreviewSz, listener);
 
@@ -814,7 +814,7 @@
      * @param listener The Capture listener that is used to wait for capture result
      * @param aeMode The AE mode for flash to test with
      */
-    private void flashTestByAeMode(SimpleCaptureListener listener, int aeMode) throws Exception {
+    private void flashTestByAeMode(SimpleCaptureCallback listener, int aeMode) throws Exception {
         CaptureResult result;
         final int NUM_FLASH_REQUESTS_TESTED = 10;
         CaptureRequest.Builder requestBuilder = createRequestForPreview();
@@ -892,7 +892,7 @@
                 result.get(CaptureResult.FLASH_MODE));
     }
 
-    private void verifyAntiBandingMode(SimpleCaptureListener listener, int numFramesVerified,
+    private void verifyAntiBandingMode(SimpleCaptureCallback listener, int numFramesVerified,
             int mode, boolean isAeManual, long requestExpTime) throws Exception {
         // Skip the first a couple of frames as antibanding may not be fully up yet.
         final int NUM_FRAMES_SKIPPED = 5;
@@ -959,7 +959,7 @@
         requestBuilder.set(CaptureRequest.CONTROL_AE_ANTIBANDING_MODE, mode);
 
         // Test auto AE mode anti-banding behavior
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         startPreview(requestBuilder, size, resultListener);
         waitForSettingsApplied(resultListener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
         verifyAntiBandingMode(resultListener, NUM_FRAMES_VERIFIED, mode, /*isAeManual*/false,
@@ -970,7 +970,7 @@
         final long TEST_MANUAL_EXP_TIME_NS = 65000000L;
         long manualExpTime = mStaticInfo.getExposureClampToRange(TEST_MANUAL_EXP_TIME_NS);
         changeExposure(requestBuilder, manualExpTime);
-        resultListener = new SimpleCaptureListener();
+        resultListener = new SimpleCaptureCallback();
         startPreview(requestBuilder, size, resultListener);
         waitForSettingsApplied(resultListener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
         verifyAntiBandingMode(resultListener, NUM_FRAMES_VERIFIED, mode, /*isAeManual*/true,
@@ -1053,7 +1053,7 @@
         }
 
         final int NUM_CAPTURES_BEFORE_LOCK = 2;
-        SimpleCaptureListener listener =  new SimpleCaptureListener();
+        SimpleCaptureCallback listener =  new SimpleCaptureCallback();
 
         CaptureResult[] resultsDuringLock = new CaptureResult[numCapturesDuringLock];
 
@@ -1119,7 +1119,7 @@
 
         requestBuilder.set(CaptureRequest.CONTROL_AE_MODE, CONTROL_AE_MODE_OFF);
         configurePreviewOutput(requestBuilder);
-        SimpleCaptureListener listener =  new SimpleCaptureListener();
+        SimpleCaptureCallback listener =  new SimpleCaptureCallback();
 
         long[] expTimes = getExposureTimeTestValues();
         int[] sensitivities = getSensitivityTestValues();
@@ -1151,7 +1151,7 @@
     /**
      * Verify black level lock control.
      */
-    private void verifyBlackLevelLockResults(SimpleCaptureListener listener, int numFramesVerified,
+    private void verifyBlackLevelLockResults(SimpleCaptureCallback listener, int numFramesVerified,
             int maxLockOffCnt) throws Exception {
         int noLockCnt = 0;
         for (int i = 0; i < numFramesVerified; i++) {
@@ -1175,7 +1175,7 @@
     /**
      * Verify shading map for different shading modes.
      */
-    private void verifyShadingMap(SimpleCaptureListener listener, int numFramesVerified,
+    private void verifyShadingMap(SimpleCaptureCallback listener, int numFramesVerified,
             int shadingMode) throws Exception {
 
         for (int i = 0; i < numFramesVerified; i++) {
@@ -1225,7 +1225,7 @@
     private void faceDetectionTestByCamera() throws Exception {
         int[] faceDetectModes = mStaticInfo.getAvailableFaceDetectModesChecked();
 
-        SimpleCaptureListener listener;
+        SimpleCaptureCallback listener;
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
 
@@ -1238,7 +1238,7 @@
 
             // Create a new listener for each run to avoid the results from one run spill
             // into another run.
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             startPreview(requestBuilder, maxPreviewSz, listener);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
             verifyFaceDetectionResults(listener, NUM_FACE_DETECTION_FRAMES_VERIFIED, mode);
@@ -1254,7 +1254,7 @@
      * @param numFramesVerified Number of results to be verified
      * @param faceDetectionMode Face detection mode to be verified against
      */
-    private void verifyFaceDetectionResults(SimpleCaptureListener listener, int numFramesVerified,
+    private void verifyFaceDetectionResults(SimpleCaptureCallback listener, int numFramesVerified,
             int faceDetectionMode) {
         for (int i = 0; i < numFramesVerified; i++) {
             CaptureResult result = listener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
@@ -1337,7 +1337,7 @@
             return;
         }
 
-        SimpleCaptureListener listener;
+        SimpleCaptureCallback listener;
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
 
@@ -1356,7 +1356,7 @@
                 requestBuilder.set(CaptureRequest.TONEMAP_CURVE, tcLinear);
                 // Create a new listener for each run to avoid the results from one run spill
                 // into another run.
-                listener = new SimpleCaptureListener();
+                listener = new SimpleCaptureCallback();
                 startPreview(requestBuilder, maxPreviewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
                 verifyToneMapModeResults(listener, NUM_FRAMES_VERIFIED, mode,
@@ -1367,7 +1367,7 @@
                 requestBuilder.set(CaptureRequest.TONEMAP_CURVE, tcSrgb);
                 // Create a new listener for each run to avoid the results from one run spill
                 // into another run.
-                listener = new SimpleCaptureListener();
+                listener = new SimpleCaptureCallback();
                 startPreview(requestBuilder, maxPreviewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
                 verifyToneMapModeResults(listener, NUM_FRAMES_VERIFIED, mode,
@@ -1375,7 +1375,7 @@
             } else {
                 // Create a new listener for each run to avoid the results from one run spill
                 // into another run.
-                listener = new SimpleCaptureListener();
+                listener = new SimpleCaptureCallback();
                 startPreview(requestBuilder, maxPreviewSz, listener);
                 waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
                 verifyToneMapModeResults(listener, NUM_FRAMES_VERIFIED, mode,
@@ -1398,7 +1398,7 @@
      * @param inputToneCurve Tonemap curve used by all 3 channels, ignored when
      * map mode is not CONTRAST_CURVE.
      */
-    private void verifyToneMapModeResults(SimpleCaptureListener listener, int numFramesVerified,
+    private void verifyToneMapModeResults(SimpleCaptureCallback listener, int numFramesVerified,
             int tonemapMode, float[] inputToneCurve) {
         final int MIN_TONEMAP_CURVE_POINTS = 2;
         final Float ZERO = new Float(0);
@@ -1459,9 +1459,9 @@
         startPreview(requestBuilder, maxPreviewSize, /*listener*/null);
 
         for (int mode : awbModes) {
-            SimpleCaptureListener listener;
+            SimpleCaptureCallback listener;
             requestBuilder.set(CaptureRequest.CONTROL_AWB_MODE, mode);
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -1471,7 +1471,7 @@
 
             // Verify color correction transform and gains stay unchanged after a lock.
             requestBuilder.set(CaptureRequest.CONTROL_AWB_LOCK, true);
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -1484,7 +1484,7 @@
         }
     }
 
-    private void verifyAwbCaptureResultUnchanged(SimpleCaptureListener listener,
+    private void verifyAwbCaptureResultUnchanged(SimpleCaptureCallback listener,
             int numFramesVerified) {
         // Skip check if cc gains/transform/mode are not available
         if (!mStaticInfo.areKeysAvailable(
@@ -1532,9 +1532,9 @@
         startPreview(requestBuilder, maxPreviewSize, /*listener*/null);
 
         for (int mode : afModes) {
-            SimpleCaptureListener listener;
+            SimpleCaptureCallback listener;
             requestBuilder.set(CaptureRequest.CONTROL_AF_MODE, mode);
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -1571,11 +1571,11 @@
         Size maxPreviewSize = mOrderedPreviewSizes.get(0);
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        SimpleCaptureListener listener = new SimpleCaptureListener();
+        SimpleCaptureCallback listener = new SimpleCaptureCallback();
         startPreview(requestBuilder, maxPreviewSize, listener);
 
         for (int mode : videoStabModes) {
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             requestBuilder.set(CaptureRequest.CONTROL_VIDEO_STABILIZATION_MODE, mode);
             mSession.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
@@ -1584,7 +1584,7 @@
         }
 
         for (int mode : opticalStabModes) {
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             requestBuilder.set(CaptureRequest.LENS_OPTICAL_STABILIZATION_MODE, mode);
             mSession.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
@@ -1630,7 +1630,7 @@
         MeteringRectangle[][] expectRegions = new MeteringRectangle[ZOOM_STEPS][];
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        SimpleCaptureListener listener = new SimpleCaptureListener();
+        SimpleCaptureCallback listener = new SimpleCaptureCallback();
 
         updatePreviewSurface(previewSize);
         configurePreviewOutput(requestBuilder);
@@ -1793,13 +1793,13 @@
         Size maxPreviewSize = mOrderedPreviewSizes.get(0);
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        SimpleCaptureListener listener = new SimpleCaptureListener();
+        SimpleCaptureCallback listener = new SimpleCaptureCallback();
         requestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_USE_SCENE_MODE);
         startPreview(requestBuilder, maxPreviewSize, listener);
 
         for(int mode : sceneModes) {
             requestBuilder.set(CaptureRequest.CONTROL_SCENE_MODE, mode);
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -1817,12 +1817,12 @@
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
         requestBuilder.set(CaptureRequest.CONTROL_MODE, CaptureRequest.CONTROL_MODE_AUTO);
-        SimpleCaptureListener listener = new SimpleCaptureListener();
+        SimpleCaptureCallback listener = new SimpleCaptureCallback();
         startPreview(requestBuilder, maxPreviewSize, listener);
 
         for(int mode : effectModes) {
             requestBuilder.set(CaptureRequest.CONTROL_EFFECT_MODE, mode);
-            listener = new SimpleCaptureListener();
+            listener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), listener, mHandler);
             waitForSettingsApplied(listener, NUM_FRAMES_WAITED_FOR_UNKNOWN_LATENCY);
 
@@ -1999,7 +1999,7 @@
      * @param numFramesVerified The number of capture results to be verified
      */
     private <T> void verifyCaptureResultForKey(CaptureResult.Key<T> key, T requestMode,
-            SimpleCaptureListener listener, int numFramesVerified) {
+            SimpleCaptureCallback listener, int numFramesVerified) {
         for (int i = 0; i < numFramesVerified; i++) {
             CaptureResult result = listener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
             validatePipelineDepth(result);
@@ -2035,7 +2035,7 @@
         Range<Integer>[] fpsRanges = mStaticInfo.getAeAvailableTargetFpsRangesChecked();
         boolean antiBandingOffIsSupported = mStaticInfo.isAntiBandingOffModeSupported();
         Range<Integer> fpsRange;
-        SimpleCaptureListener resultListener;
+        SimpleCaptureCallback resultListener;
 
         for (int i = 0; i < fpsRanges.length; i += 1) {
             fpsRange = fpsRanges[i];
@@ -2065,7 +2065,7 @@
                         " mode");
             }
 
-            resultListener = new SimpleCaptureListener();
+            resultListener = new SimpleCaptureCallback();
             startPreview(requestBuilder, previewSz, resultListener);
             long[] frameDurationRange =
                     new long[]{(long) (1e9 / fpsRange.getUpper()), (long) (1e9 / fpsRange.getLower())};
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
index ba4fce0..483587e 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/CaptureResultTest.java
@@ -113,7 +113,7 @@
                 requestBuilder.addTarget(mReaderSurface);
 
                 // Start capture
-                SimpleCaptureListener captureListener = new SimpleCaptureListener();
+                SimpleCaptureCallback captureListener = new SimpleCaptureCallback();
                 startCapture(requestBuilder.build(), /*repeating*/true, captureListener, mHandler);
 
                 // Get the waived keys for current camera device
@@ -293,10 +293,10 @@
                 multiBuilder.addTarget(previewReader.getSurface());
                 multiBuilder.addTarget(jpegReader.getSurface());
 
-                CaptureListener mockCaptureListener = getMockCaptureListener();
+                CaptureCallback mockCaptureCallback = getMockCaptureListener();
 
                 // Capture targeting only preview
-                Pair<TotalCaptureResult, Long> result = captureAndVerifyResult(mockCaptureListener,
+                Pair<TotalCaptureResult, Long> result = captureAndVerifyResult(mockCaptureCallback,
                         session, previewBuilder.build(), mHandler);
 
                 // Check if all timestamps are the same
@@ -304,7 +304,7 @@
                         prevListener.getImage(CAPTURE_IMAGE_TIMEOUT_MS), result.second);
 
                 // Capture targeting both jpeg and preview
-                Pair<TotalCaptureResult, Long> result2 = captureAndVerifyResult(mockCaptureListener,
+                Pair<TotalCaptureResult, Long> result2 = captureAndVerifyResult(mockCaptureCallback,
                         session, multiBuilder.build(), mHandler);
 
                 // Check if all timestamps are the same
@@ -319,9 +319,9 @@
 
                 // Capture two preview frames
                 long startTime = SystemClock.elapsedRealtimeNanos();
-                Pair<TotalCaptureResult, Long> result3 = captureAndVerifyResult(mockCaptureListener,
+                Pair<TotalCaptureResult, Long> result3 = captureAndVerifyResult(mockCaptureCallback,
                         session, previewBuilder.build(), mHandler);
-                Pair<TotalCaptureResult, Long> result4 = captureAndVerifyResult(mockCaptureListener,
+                Pair<TotalCaptureResult, Long> result4 = captureAndVerifyResult(mockCaptureCallback,
                         session, previewBuilder.build(), mHandler);
                 long clockDiff = SystemClock.elapsedRealtimeNanos() - startTime;
                 long resultDiff = result4.second - result3.second;
@@ -352,7 +352,7 @@
                 resultImage.getTimestamp(), captureTime);
     }
 
-    private void validateCaptureResult(SimpleCaptureListener captureListener,
+    private void validateCaptureResult(SimpleCaptureCallback captureListener,
             List<CaptureResult.Key<?>> skippedKeys, CaptureRequest.Builder requestBuilder,
             int numFramesVerified) throws Exception {
         CaptureResult result = null;
@@ -524,7 +524,7 @@
      * with multiple handlers.</p>
      * */
     private static class TotalAndPartialResultListener
-            extends CameraCaptureSession.CaptureListener {
+            extends CameraCaptureSession.CaptureCallback {
         static final int ERROR_DUPLICATED_REQUEST = 1 << 0;
         static final int ERROR_WRONG_CALLBACK_ORDER = 1 << 1;
 
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/DngCreatorTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/DngCreatorTest.java
index 1173eab..29c3526 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/DngCreatorTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/DngCreatorTest.java
@@ -290,8 +290,8 @@
         CaptureRequest.Builder request = prepareCaptureRequestForSurfaces(outputSurfaces);
         request.set(CaptureRequest.STATISTICS_LENS_SHADING_MAP_MODE,
                 CaptureRequest.STATISTICS_LENS_SHADING_MAP_MODE_ON);
-        CameraTestUtils.SimpleCaptureListener resultListener =
-                new CameraTestUtils.SimpleCaptureListener();
+        CameraTestUtils.SimpleCaptureCallback resultListener =
+                new CameraTestUtils.SimpleCaptureCallback();
 
         startCapture(request.build(), /*repeating*/false, resultListener, mHandler);
 
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 a44b255..7d2341a 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/ImageReaderTest.java
@@ -218,7 +218,7 @@
                 outputSurfaces.add(yuvSurface);
                 outputSurfaces.add(captureSurface);
                 CaptureRequest.Builder request = prepareCaptureRequestForSurfaces(outputSurfaces);
-                SimpleCaptureListener resultListener = new SimpleCaptureListener();
+                SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
 
                 for (int i = 0; i < NUM_SINGLE_CAPTURE_TESTED; i++) {
                     startCapture(request.build(), /*repeating*/false, resultListener, mHandler);
@@ -278,7 +278,7 @@
 
                 // Start capture.
                 CaptureRequest request = prepareCaptureRequest();
-                SimpleCaptureListener listener = new SimpleCaptureListener();
+                SimpleCaptureCallback listener = new SimpleCaptureCallback();
                 startCapture(request, repeating, listener, mHandler);
 
                 int numFrameVerified = repeating ? NUM_FRAME_VERIFIED : 1;
@@ -305,7 +305,7 @@
      * @param size The capture size.
      * @param listener The capture listener to get capture result callbacks.
      */
-    private void validateCaptureResult(int format, Size size, SimpleCaptureListener listener,
+    private void validateCaptureResult(int format, Size size, SimpleCaptureCallback listener,
             int numFrameVerified) {
         for (int i = 0; i < numFrameVerified; i++) {
             CaptureResult result = listener.getCaptureResult(CAPTURE_RESULT_TIMEOUT_MS);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java
index 72e18bb..1033ecd 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/MultiViewTest.java
@@ -126,7 +126,7 @@
             // The only error accepted is ERROR_MAX_CAMERAS_IN_USE, which means HAL doesn't support
             // concurrent camera streaming
             assertEquals("Camera device open failed",
-                    CameraDevice.StateListener.ERROR_MAX_CAMERAS_IN_USE, e.getCode());
+                    CameraDevice.StateCallback.ERROR_MAX_CAMERAS_IN_USE, e.getCode());
             Log.i(TAG, "Camera HAL does not support dual camera preview. Skip the test");
         } finally {
             for (int i = 0; i < NUM_CAMERAS_TESTED; i++) {
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java
index 761a5a3..aeab4cf 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/PerformanceTest.java
@@ -16,11 +16,11 @@
 
 package android.hardware.camera2.cts;
 
-import static com.android.ex.camera2.blocking.BlockingSessionListener.*;
+import static com.android.ex.camera2.blocking.BlockingSessionCallback.*;
 
 import android.graphics.ImageFormat;
 import android.hardware.camera2.CameraCaptureSession;
-import android.hardware.camera2.CameraCaptureSession.CaptureListener;
+import android.hardware.camera2.CameraCaptureSession.CaptureCallback;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.CaptureResult;
@@ -43,7 +43,7 @@
 import com.android.cts.util.ResultType;
 import com.android.cts.util.ResultUnit;
 import com.android.cts.util.Stat;
-import com.android.ex.camera2.blocking.BlockingSessionListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
 import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
 
 import java.util.ArrayList;
@@ -121,8 +121,8 @@
                         configureStreamTimes[i] = configureTimeMs - openTimeMs;
 
                         // Blocking start preview (start preview to first image arrives)
-                        CameraTestUtils.SimpleCaptureListener resultListener =
-                                new CameraTestUtils.SimpleCaptureListener();
+                        CameraTestUtils.SimpleCaptureCallback resultListener =
+                                new CameraTestUtils.SimpleCaptureCallback();
                         blockingStartPreview(resultListener, imageListener);
                         previewStartedTimeMs = SystemClock.elapsedRealtime();
                         startPreviewTimes[i] = previewStartedTimeMs - configureTimeMs;
@@ -203,8 +203,8 @@
                             mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
                     CaptureRequest.Builder captureBuilder =
                             mCamera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
-                    CameraTestUtils.SimpleCaptureListener previewResultListener =
-                            new CameraTestUtils.SimpleCaptureListener();
+                    CameraTestUtils.SimpleCaptureCallback previewResultListener =
+                            new CameraTestUtils.SimpleCaptureCallback();
                     SimpleTimingResultListener captureResultListener =
                             new SimpleTimingResultListener();
                     SimpleImageListener imageListener = new SimpleImageListener();
@@ -267,7 +267,7 @@
                 CameraTestUtils.SESSION_CLOSE_TIMEOUT_MS);
     }
 
-    private void blockingStartPreview(CaptureListener listener, SimpleImageListener imageListener)
+    private void blockingStartPreview(CaptureCallback listener, SimpleImageListener imageListener)
             throws Exception {
         if (mPreviewSurface == null || mReaderSurface == null) {
             throw new IllegalStateException("preview and reader surface must be initilized first");
@@ -281,7 +281,7 @@
         imageListener.waitForImageAvailable(CameraTestUtils.CAPTURE_IMAGE_TIMEOUT_MS);
     }
 
-    private void blockingCaptureImage(CaptureListener listener,
+    private void blockingCaptureImage(CaptureCallback listener,
             SimpleImageListener imageListener) throws Exception {
         if (mReaderSurface == null) {
             throw new IllegalStateException("reader surface must be initialized first");
@@ -301,7 +301,7 @@
         if (mPreviewSurface == null || mReaderSurface == null) {
             throw new IllegalStateException("preview and reader surface must be initilized first");
         }
-        mSessionListener = new BlockingSessionListener();
+        mSessionListener = new BlockingSessionCallback();
         List<Surface> outputSurfaces = new ArrayList<>();
         outputSurfaces.add(mPreviewSurface);
         outputSurfaces.add(mReaderSurface);
@@ -383,7 +383,7 @@
     }
 
     private static class SimpleTimingResultListener
-            extends CameraCaptureSession.CaptureListener {
+            extends CameraCaptureSession.CaptureCallback {
         private final LinkedBlockingQueue<Pair<CaptureResult, Long> > mPartialResultQueue =
                 new LinkedBlockingQueue<Pair<CaptureResult, Long> >();
         private final LinkedBlockingQueue<Pair<CaptureResult, Long> > mResultQueue =
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
index f402da5..83c3afb 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/RecordingTest.java
@@ -12,7 +12,7 @@
 package android.hardware.camera2.cts;
 
 import static android.hardware.camera2.cts.CameraTestUtils.*;
-import static com.android.ex.camera2.blocking.BlockingSessionListener.*;
+import static com.android.ex.camera2.blocking.BlockingSessionCallback.*;
 
 import android.graphics.ImageFormat;
 import android.hardware.camera2.CameraCharacteristics;
@@ -39,7 +39,7 @@
 import android.util.Range;
 import android.view.Surface;
 
-import com.android.ex.camera2.blocking.BlockingSessionListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
 
 import junit.framework.AssertionFailedError;
 
@@ -337,7 +337,7 @@
         if (mReaderSurface != null) {
             outputSurfaces.add(mReaderSurface);
         }
-        mSessionListener = new BlockingSessionListener();
+        mSessionListener = new BlockingSessionCallback();
         mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler);
 
         CaptureRequest.Builder recordingRequestBuilder =
@@ -581,7 +581,7 @@
             prepareRecordingWithProfile(profile);
 
             // prepare video snapshot
-            SimpleCaptureListener resultListener = new SimpleCaptureListener();
+            SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
             SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
             CaptureRequest.Builder videoSnapshotRequestBuilder =
                     mCamera.createCaptureRequest(CameraDevice.TEMPLATE_VIDEO_SNAPSHOT);
@@ -726,7 +726,7 @@
     }
 
     private void startRecording(boolean useMediaRecorder,
-            CameraCaptureSession.CaptureListener listener) throws Exception {
+            CameraCaptureSession.CaptureCallback listener) throws Exception {
         List<Surface> outputSurfaces = new ArrayList<Surface>(2);
         assertTrue("Both preview and recording surfaces should be valid",
                 mPreviewSurface.isValid() && mRecordingSurface.isValid());
@@ -736,7 +736,7 @@
         if (mReaderSurface != null) {
             outputSurfaces.add(mReaderSurface);
         }
-        mSessionListener = new BlockingSessionListener();
+        mSessionListener = new BlockingSessionCallback();
         mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler);
 
         CaptureRequest.Builder recordingRequestBuilder =
@@ -841,7 +841,7 @@
      * Here frame drop is defined as frame duration >= 2 * expected frame duration.
      */
     private void validateFrameDropAroundVideoSnapshot(
-            SimpleCaptureListener resultListener, long imageTimeStamp) {
+            SimpleCaptureCallback resultListener, long imageTimeStamp) {
         int expectedDurationMs = 1000 / mVideoFrameRate;
         CaptureResult prevResult = resultListener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
         long prevTS = getValueNotNull(prevResult, CaptureResult.SENSOR_TIMESTAMP);
@@ -890,7 +890,7 @@
     /**
      * Validate frame jittering from the input simple listener's buffered results
      */
-    private void validateJittering(SimpleCaptureListener resultListener) {
+    private void validateJittering(SimpleCaptureCallback resultListener) {
         int expectedDurationMs = 1000 / mVideoFrameRate;
         CaptureResult prevResult = resultListener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
         long prevTS = getValueNotNull(prevResult, CaptureResult.SENSOR_TIMESTAMP);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java
index bdbe44f..5b0f0fd 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/RobustnessTest.java
@@ -25,7 +25,7 @@
 import android.util.Log;
 import android.view.Surface;
 
-import com.android.ex.camera2.blocking.BlockingSessionListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -60,12 +60,12 @@
                 CaptureRequest.Builder request =
                         mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
                 request.addTarget(surface);
-                CameraCaptureSession.CaptureListener mockCaptureListener =
-                        mock(CameraCaptureSession.CaptureListener.class);
+                CameraCaptureSession.CaptureCallback mockCaptureListener =
+                        mock(CameraCaptureSession.CaptureCallback.class);
 
                 // Check that correct session callback is hit.
-                CameraCaptureSession.StateListener sessionListener =
-                        mock(CameraCaptureSession.StateListener.class);
+                CameraCaptureSession.StateCallback sessionListener =
+                        mock(CameraCaptureSession.StateCallback.class);
                 mCamera.createCaptureSession(surfaces, sessionListener, mHandler);
                 verify(sessionListener, timeout(FAILED_CONFIGURE_TIMEOUT).atLeastOnce()).
                         onConfigureFailed(any(CameraCaptureSession.class));
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
index 5c6328d..2e03e43 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/StillCaptureTest.java
@@ -32,7 +32,7 @@
 import android.media.ImageReader;
 import android.util.Pair;
 import android.util.Size;
-import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureListener;
+import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureCallback;
 import android.hardware.camera2.cts.CameraTestUtils.SimpleImageReaderListener;
 import android.hardware.camera2.cts.helpers.Camera2Focuser;
 import android.hardware.camera2.cts.testcases.Camera2SurfaceViewTestCase;
@@ -46,7 +46,7 @@
 import android.util.Rational;
 import android.view.Surface;
 
-import com.android.ex.camera2.blocking.BlockingSessionListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
 import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
 
 import java.io.ByteArrayOutputStream;
@@ -391,8 +391,8 @@
         Size maxStillSz = mOrderedStillSizes.get(0);
         Size maxPreviewSz = mOrderedPreviewSizes.get(0);
 
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
-        SimpleCaptureListener stillResultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
+        SimpleCaptureCallback stillResultListener = new SimpleCaptureCallback();
         SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
         CaptureRequest.Builder previewRequest =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
@@ -443,7 +443,7 @@
         Size maxStillSz = mOrderedStillSizes.get(0);
         Size maxPreviewSz = mOrderedPreviewSizes.get(0);
         CaptureResult result;
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
         CaptureRequest.Builder previewRequest =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
@@ -496,7 +496,7 @@
         /**
          * Step 2: AF is already locked, wait for AWB converged, then lock it.
          */
-        resultListener = new SimpleCaptureListener();
+        resultListener = new SimpleCaptureCallback();
         boolean canSetAwbRegion =
                 (awbRegions != null) && isRegionsSupportedFor3A(MAX_REGIONS_AWB_INDEX);
         if (canSetAwbRegion) {
@@ -528,7 +528,7 @@
         /**
          * Step 3: trigger an AE precapture metering sequence and wait for AE converged.
          */
-        resultListener = new SimpleCaptureListener();
+        resultListener = new SimpleCaptureCallback();
         boolean canSetAeRegion =
                 (aeRegions != null) && isRegionsSupportedFor3A(MAX_REGIONS_AE_INDEX);
         if (canSetAeRegion) {
@@ -560,7 +560,7 @@
         /**
          * Step 4: take a picture when all 3A are in good state.
          */
-        resultListener = new SimpleCaptureListener();
+        resultListener = new SimpleCaptureCallback();
         CaptureRequest request = stillRequest.build();
         mSession.capture(request, resultListener, mHandler);
         // Validate the next result immediately for region and mode.
@@ -591,7 +591,7 @@
      * Test touch region for focus by camera.
      */
     private void touchForFocusTestByCamera() throws Exception {
-        SimpleCaptureListener listener = new SimpleCaptureListener();
+        SimpleCaptureCallback listener = new SimpleCaptureCallback();
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
         Size maxPreviewSz = mOrderedPreviewSizes.get(0);
@@ -610,7 +610,7 @@
     }
 
     private void previewStillCombinationTestByCamera() throws Exception {
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
 
         for (Size stillSz : mOrderedStillSizes)
@@ -652,7 +652,7 @@
                     mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
             CaptureRequest.Builder rawBuilder =
                     mCamera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
-            SimpleCaptureListener resultListener = new SimpleCaptureListener();
+            SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
             SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
             prepareRawCaptureAndStartPreview(previewBuilder, rawBuilder, maxPreviewSz, size,
                     resultListener, imageListener);
@@ -693,7 +693,7 @@
             CaptureRequest.Builder multiBuilder =
                     mCamera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
 
-            SimpleCaptureListener resultListener = new SimpleCaptureListener();
+            SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
             SimpleImageReaderListener jpegListener = new SimpleImageReaderListener();
             SimpleImageReaderListener rawListener = new SimpleImageReaderListener();
 
@@ -714,7 +714,7 @@
                 outputSurfaces.add(rawReader.getSurface());
                 outputSurfaces.add(jpegReader.getSurface());
                 outputSurfaces.add(mPreviewSurface);
-                mSessionListener = new BlockingSessionListener();
+                mSessionListener = new BlockingSessionCallback();
                 mSession = configureCameraSession(mCamera, outputSurfaces,
                         mSessionListener, mHandler);
 
@@ -892,7 +892,7 @@
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
         CaptureRequest.Builder stillBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_STILL_CAPTURE);
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
         prepareStillCaptureAndStartPreview(previewBuilder, stillBuilder, maxPreviewSz, maxStillSz,
                 resultListener, imageListener);
@@ -1214,7 +1214,7 @@
 
         Size maxStillSz = mOrderedStillSizes.get(0);
         Size maxPreviewSz = mOrderedPreviewSizes.get(0);
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         SimpleImageReaderListener imageListener = new SimpleImageReaderListener();
         CaptureRequest.Builder previewRequest =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java b/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
index 6dd7c1e..aad9c2f 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/SurfaceViewPreviewTest.java
@@ -19,14 +19,14 @@
 import static android.hardware.camera2.cts.CameraTestUtils.*;
 
 import android.hardware.camera2.CameraCaptureSession;
-import android.hardware.camera2.CameraCaptureSession.CaptureListener;
+import android.hardware.camera2.CameraCaptureSession.CaptureCallback;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CaptureFailure;
 import android.hardware.camera2.CaptureRequest;
 import android.hardware.camera2.CaptureResult;
 import android.hardware.camera2.TotalCaptureResult;
 import android.util.Size;
-import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureListener;
+import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureCallback;
 import android.hardware.camera2.cts.testcases.Camera2SurfaceViewTestCase;
 import android.util.Log;
 import android.util.Range;
@@ -64,7 +64,7 @@
      * Test all supported preview sizes for each camera device.
      * <p>
      * For the first  {@link #NUM_FRAMES_VERIFIED}  of capture results,
-     * the {@link CaptureListener} callback availability and the capture timestamp
+     * the {@link CaptureCallback} callback availability and the capture timestamp
      * (monotonically increasing) ordering are verified.
      * </p>
      */
@@ -129,7 +129,7 @@
         Range<Integer> fpsRange;
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        SimpleCaptureListener resultListener = new SimpleCaptureListener();
+        SimpleCaptureCallback resultListener = new SimpleCaptureCallback();
         startPreview(requestBuilder, maxPreviewSz, resultListener);
 
         for (int i = 0; i < fpsRanges.length; i += 1) {
@@ -149,7 +149,7 @@
                         " mode");
             }
 
-            resultListener = new SimpleCaptureListener();
+            resultListener = new SimpleCaptureCallback();
             mSession.setRepeatingRequest(requestBuilder.build(), resultListener, mHandler);
 
             verifyPreviewTargetFpsRange(resultListener, NUM_FRAMES_VERIFIED, fpsRange,
@@ -159,7 +159,7 @@
         stopPreview();
     }
 
-    private void verifyPreviewTargetFpsRange(SimpleCaptureListener resultListener,
+    private void verifyPreviewTargetFpsRange(SimpleCaptureCallback resultListener,
             int numFramesVerified, Range<Integer> fpsRange, Size previewSz) {
         CaptureResult result = resultListener.getCaptureResult(WAIT_FOR_RESULT_TIMEOUT_MS);
         List<Integer> capabilities = mStaticInfo.getAvailableCapabilitiesChecked();
@@ -206,11 +206,11 @@
             // TODO: vary the different settings like crop region to cover more cases.
             CaptureRequest.Builder requestBuilder =
                     mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-            CaptureListener mockCaptureListener =
-                    mock(CameraCaptureSession.CaptureListener.class);
+            CaptureCallback mockCaptureCallback =
+                    mock(CameraCaptureSession.CaptureCallback.class);
 
-            startPreview(requestBuilder, sz, mockCaptureListener);
-            verifyCaptureResults(mSession, mockCaptureListener, NUM_FRAMES_VERIFIED,
+            startPreview(requestBuilder, sz, mockCaptureCallback);
+            verifyCaptureResults(mSession, mockCaptureCallback, NUM_FRAMES_VERIFIED,
                     NUM_FRAMES_VERIFIED * FRAME_TIMEOUT_MS);
             stopPreview();
         }
@@ -221,7 +221,7 @@
         int[] testPatternModes = mStaticInfo.getAvailableTestPatternModesChecked();
         CaptureRequest.Builder requestBuilder =
                 mCamera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
-        CaptureListener mockCaptureListener;
+        CaptureCallback mockCaptureCallback;
 
         final int[] TEST_PATTERN_DATA = {0, 0xFFFFFFFF, 0xFFFFFFFF, 0}; // G:100%, RB:0.
         for (int mode : testPatternModes) {
@@ -233,9 +233,9 @@
                 // Assign color pattern to SENSOR_TEST_PATTERN_MODE_DATA
                 requestBuilder.set(CaptureRequest.SENSOR_TEST_PATTERN_DATA, TEST_PATTERN_DATA);
             }
-            mockCaptureListener = mock(CaptureListener.class);
-            startPreview(requestBuilder, maxPreviewSize, mockCaptureListener);
-            verifyCaptureResults(mSession, mockCaptureListener, NUM_TEST_PATTERN_FRAMES_VERIFIED,
+            mockCaptureCallback = mock(CaptureCallback.class);
+            startPreview(requestBuilder, maxPreviewSize, mockCaptureCallback);
+            verifyCaptureResults(mSession, mockCaptureCallback, NUM_TEST_PATTERN_FRAMES_VERIFIED,
                     NUM_TEST_PATTERN_FRAMES_VERIFIED * FRAME_TIMEOUT_MS);
         }
 
@@ -256,7 +256,7 @@
 
     private void verifyCaptureResults(
             CameraCaptureSession session,
-            CaptureListener mockListener,
+            CaptureCallback mockListener,
             int expectResultCount,
             int timeOutMs) {
         // Should receive expected number of onCaptureStarted callbacks.
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/Camera2Focuser.java b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/Camera2Focuser.java
index c03cacab9..1c42629 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/Camera2Focuser.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/Camera2Focuser.java
@@ -19,7 +19,7 @@
 import android.graphics.Rect;
 import android.hardware.camera2.CameraAccessException;
 import android.hardware.camera2.CameraCaptureSession;
-import android.hardware.camera2.CameraCaptureSession.CaptureListener;
+import android.hardware.camera2.CameraCaptureSession.CaptureCallback;
 import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.params.MeteringRectangle;
@@ -215,7 +215,7 @@
         CaptureRequest.Builder requestBuilder = createRequestBuilder();
         mAutoFocus.setPassiveAutoFocus(/*picture*/true, mRepeatingBuilder);
         mAutoFocus.unlockAutoFocus(mRepeatingBuilder, requestBuilder);
-        CaptureListener listener = createCaptureListener();
+        CaptureCallback listener = createCaptureListener();
         mSession.setRepeatingRequest(mRepeatingBuilder.build(), listener, mHandler);
         mSession.capture(requestBuilder.build(), listener, mHandler);
     }
@@ -252,7 +252,7 @@
                 return;
             } else if (mSuccess) {
                 mAutoFocus.lockAutoFocus(mRepeatingBuilder, requestBuilder);
-                CaptureListener listener = createCaptureListener();
+                CaptureCallback listener = createCaptureListener();
                 mSession.setRepeatingRequest(mRepeatingBuilder.build(), listener, mHandler);
                 mSession.capture(requestBuilder.build(), listener, mHandler);
             } else {
@@ -276,7 +276,7 @@
         }
         mAutoFocus.resetState();
 
-        CaptureListener listener = createCaptureListener();
+        CaptureCallback listener = createCaptureListener();
         mSession.setRepeatingRequest(mRepeatingBuilder.build(), listener, mHandler);
         mSession.capture(requestBuilder.build(), listener, mHandler);
     }
@@ -332,7 +332,7 @@
         mAfRegions = new MeteringRectangle[] {
                 new MeteringRectangle(0, 0, 0, 0, MeteringRectangle.METERING_WEIGHT_DONT_CARE)};
     }
-    private CaptureListener createCaptureListener() {
+    private CaptureCallback createCaptureListener() {
 
         int thisAfRun;
         synchronized (this) {
@@ -341,7 +341,7 @@
 
         final int finalAfRun = thisAfRun;
 
-        return new CaptureListener() {
+        return new CaptureCallback() {
             private long mLatestFrameCount = -1;
 
             @Override
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraSessionUtils.java b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraSessionUtils.java
index 134d674..140a645 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraSessionUtils.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/helpers/CameraSessionUtils.java
@@ -27,8 +27,8 @@
 import android.util.Pair;
 import android.view.Surface;
 
-import com.android.ex.camera2.blocking.BlockingCaptureListener;
-import com.android.ex.camera2.blocking.BlockingSessionListener;
+import com.android.ex.camera2.blocking.BlockingCaptureCallback;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
 import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
 
 import junit.framework.Assert;
@@ -51,7 +51,7 @@
     /**
      * A blocking listener class for synchronously opening and configuring sessions.
      */
-    public static class SessionListener extends BlockingSessionListener {
+    public static class SessionListener extends BlockingSessionCallback {
         private final LinkedBlockingQueue<CameraCaptureSession> mSessionQueue =
                 new LinkedBlockingQueue<>();
 
@@ -91,7 +91,7 @@
     /**
      * A blocking listener class for synchronously capturing and results with a session.
      */
-    public static class CaptureListener extends BlockingCaptureListener {
+    public static class CaptureCallback extends BlockingCaptureCallback {
         private final LinkedBlockingQueue<TotalCaptureResult> mResultQueue =
                 new LinkedBlockingQueue<>();
         private final LinkedBlockingQueue<Long> mCaptureTimeQueue =
@@ -138,14 +138,14 @@
     }
 
     /**
-     * Get a mocked {@link CaptureListener}.
+     * Get a mocked {@link CaptureCallback}.
      */
-    public static CaptureListener getMockCaptureListener() {
-        return spy(new CaptureListener());
+    public static CaptureCallback getMockCaptureListener() {
+        return spy(new CaptureCallback());
     }
 
     /**
-     * Get a mocked {@link CaptureListener}.
+     * Get a mocked {@link CaptureCallback}.
      */
     public static SessionListener getMockSessionListener() {
         return spy(new SessionListener());
@@ -200,7 +200,7 @@
      * {@link CameraTestUtils#CAPTURE_RESULT_TIMEOUT_MS}.
      * </p>
      *
-     * @param listener a {@link CaptureListener} to use for callbacks.
+     * @param listener a {@link CaptureCallback} to use for callbacks.
      * @param session the {@link CameraCaptureSession} to use.
      * @param request the {@link CaptureRequest} to capture with.
      * @param handler the {@link Handler} to call callbacks on.
@@ -209,7 +209,7 @@
      * @throws CameraAccessException if any of the {@link CameraDevice} methods fail.
      * @throws TimeoutRuntimeException if no result was received before the timeout.
      */
-    public static Pair<TotalCaptureResult, Long> captureAndVerifyResult(CaptureListener listener,
+    public static Pair<TotalCaptureResult, Long> captureAndVerifyResult(CaptureCallback listener,
             CameraCaptureSession session, CaptureRequest request, Handler handler)
             throws CameraAccessException {
         checkNotNull(listener);
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java
index ed75d6c..5fc6321 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2AndroidTestCase.java
@@ -17,11 +17,11 @@
 package android.hardware.camera2.cts.testcases;
 
 import static android.hardware.camera2.cts.CameraTestUtils.*;
-import static com.android.ex.camera2.blocking.BlockingStateListener.*;
+import static com.android.ex.camera2.blocking.BlockingStateCallback.*;
 
 import android.content.Context;
 import android.hardware.camera2.CameraCaptureSession;
-import android.hardware.camera2.CameraCaptureSession.CaptureListener;
+import android.hardware.camera2.CameraCaptureSession.CaptureCallback;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CameraManager;
 import android.hardware.camera2.CaptureRequest;
@@ -39,8 +39,8 @@
 import android.util.Log;
 import android.view.Surface;
 
-import com.android.ex.camera2.blocking.BlockingSessionListener;
-import com.android.ex.camera2.blocking.BlockingStateListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
 
 import java.util.List;
 
@@ -57,8 +57,8 @@
     protected CameraManager mCameraManager;
     protected CameraDevice mCamera;
     protected CameraCaptureSession mCameraSession;
-    protected BlockingSessionListener mCameraSessionListener;
-    protected BlockingStateListener mCameraListener;
+    protected BlockingSessionCallback mCameraSessionListener;
+    protected BlockingStateCallback mCameraListener;
     protected String[] mCameraIds;
     protected ImageReader mReader;
     protected Surface mReaderSurface;
@@ -79,7 +79,7 @@
 
     /**
      * Set up the camera2 test case required environments, including CameraManager,
-     * HandlerThread, Camera IDs, and CameraStateListener etc.
+     * HandlerThread, Camera IDs, and CameraStateCallback etc.
      */
     @Override
     protected void setUp() throws Exception {
@@ -98,7 +98,7 @@
         mHandlerThread = new HandlerThread(TAG);
         mHandlerThread.start();
         mHandler = new Handler(mHandlerThread.getLooper());
-        mCameraListener = new BlockingStateListener();
+        mCameraListener = new BlockingStateCallback();
         mCollector = new CameraErrorCollector();
     }
 
@@ -123,11 +123,11 @@
      *
      * @param request The {@link #CaptureRequest} to be captured.
      * @param repeating If the capture is single capture or repeating.
-     * @param listener The {@link #CaptureListener} camera device used to notify callbacks.
+     * @param listener The {@link #CaptureCallback} camera device used to notify callbacks.
      * @param handler The handler camera device used to post callbacks.
      */
     protected void startCapture(CaptureRequest request, boolean repeating,
-            CaptureListener listener, Handler handler) throws Exception {
+            CaptureCallback listener, Handler handler) throws Exception {
         if (VERBOSE) Log.v(TAG, "Starting capture from device");
 
         if (repeating) {
@@ -153,11 +153,11 @@
              */
             mCameraSession.abortCaptures();
             mCameraSessionListener.getStateWaiter().
-                    waitForState(BlockingSessionListener.SESSION_READY, CAMERA_IDLE_TIMEOUT_MS);
+                    waitForState(BlockingSessionCallback.SESSION_READY, CAMERA_IDLE_TIMEOUT_MS);
         } else {
             mCameraSession.close();
             mCameraSessionListener.getStateWaiter().
-                    waitForState(BlockingSessionListener.SESSION_CLOSED, CAMERA_IDLE_TIMEOUT_MS);
+                    waitForState(BlockingSessionCallback.SESSION_CLOSED, CAMERA_IDLE_TIMEOUT_MS);
         }
     }
 
@@ -175,9 +175,9 @@
      * Open a {@link #CameraDevice} and get the StaticMetadata for a given camera id and listener.
      *
      * @param cameraId The id of the camera device to be opened.
-     * @param listener The {@link #BlockingStateListener} used to wait for states.
+     * @param listener The {@link #BlockingStateCallback} used to wait for states.
      */
-    protected void openDevice(String cameraId, BlockingStateListener listener) throws Exception {
+    protected void openDevice(String cameraId, BlockingStateCallback listener) throws Exception {
         mCamera = CameraTestUtils.openCamera(
                 mCameraManager, cameraId, listener, mHandler);
         mCollector.setCameraId(cameraId);
@@ -199,7 +199,7 @@
      * @param outputSurfaces The set of output surfaces to configure for this session
      */
     protected void createSession(List<Surface> outputSurfaces) throws Exception {
-        mCameraSessionListener = new BlockingSessionListener();
+        mCameraSessionListener = new BlockingSessionCallback();
         mCameraSession = CameraTestUtils.configureCameraSession(mCamera, outputSurfaces,
                 mCameraSessionListener, mHandler);
     }
@@ -227,9 +227,9 @@
      * </p>
      *
      * @param cameraId The id of the camera device to be closed.
-     * @param listener The BlockingStateListener used to wait for states.
+     * @param listener The BlockingStateCallback used to wait for states.
      */
-    protected void closeDevice(String cameraId, BlockingStateListener listener) {
+    protected void closeDevice(String cameraId, BlockingStateCallback listener) {
         if (mCamera != null) {
             if (!cameraId.equals(mCamera.getId())) {
                 throw new IllegalStateException("Try to close a device that is not opened yet");
diff --git a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java
index f7d743e..ce0bd7b 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2MultiViewTestCase.java
@@ -17,8 +17,8 @@
 package android.hardware.camera2.cts.testcases;
 
 import static android.hardware.camera2.cts.CameraTestUtils.*;
-import static com.android.ex.camera2.blocking.BlockingSessionListener.*;
-import static com.android.ex.camera2.blocking.BlockingStateListener.*;
+import static com.android.ex.camera2.blocking.BlockingSessionCallback.*;
+import static com.android.ex.camera2.blocking.BlockingStateCallback.*;
 
 import android.content.Context;
 import android.content.res.Configuration;
@@ -26,7 +26,7 @@
 import android.graphics.RectF;
 import android.graphics.SurfaceTexture;
 import android.hardware.camera2.CameraCaptureSession;
-import android.hardware.camera2.CameraCaptureSession.CaptureListener;
+import android.hardware.camera2.CameraCaptureSession.CaptureCallback;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CameraManager;
 import android.hardware.camera2.CaptureRequest;
@@ -45,8 +45,8 @@
 import android.view.TextureView;
 
 import com.android.ex.camera2.blocking.BlockingCameraManager;
-import com.android.ex.camera2.blocking.BlockingSessionListener;
-import com.android.ex.camera2.blocking.BlockingStateListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
 
 import junit.framework.Assert;
 
@@ -71,7 +71,7 @@
     protected Handler mHandler;
 
     private CameraManager mCameraManager;
-    private BlockingStateListener mCameraListener;
+    private BlockingStateCallback mCameraListener;
     private HandlerThread mHandlerThread;
     private Context mContext;
 
@@ -94,7 +94,7 @@
         mHandlerThread = new HandlerThread(TAG);
         mHandlerThread.start();
         mHandler = new Handler(mHandlerThread.getLooper());
-        mCameraListener = new BlockingStateListener();
+        mCameraListener = new BlockingStateCallback();
         Camera2MultiViewStubActivity activity = (Camera2MultiViewStubActivity) mContext;
         mTextureView[0] = activity.getTextureView(0);
         mTextureView[1] = activity.getTextureView(1);
@@ -229,7 +229,7 @@
     }
 
     protected void startPreview(
-            String cameraId, List<Surface> outputSurfaces, CaptureListener listener)
+            String cameraId, List<Surface> outputSurfaces, CaptureCallback listener)
             throws Exception {
         CameraHolder camera = getCameraHolder(cameraId);
         assertTrue("Camera " + cameraId + " is not openned", camera.isOpenned());
@@ -339,7 +339,7 @@
         private CameraDevice mCamera;
         private StaticMetadata mStaticInfo;
         private List<Size> mOrderedPreviewSizes;
-        private BlockingSessionListener mSessionListener;
+        private BlockingSessionCallback mSessionListener;
 
         public CameraHolder(String id){
             mCameraId = id;
@@ -380,9 +380,9 @@
             mOrderedPreviewSizes = null;
         }
 
-        public void startPreview(List<Surface> outputSurfaces, CaptureListener listener)
+        public void startPreview(List<Surface> outputSurfaces, CaptureCallback listener)
                 throws Exception {
-            mSessionListener = new BlockingSessionListener();
+            mSessionListener = new BlockingSessionCallback();
             mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler);
 
             // TODO: vary the different settings like crop region to cover more cases.
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
index 9232151..bd8b546 100644
--- a/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
+++ b/tests/tests/hardware/src/android/hardware/camera2/cts/testcases/Camera2SurfaceViewTestCase.java
@@ -17,7 +17,7 @@
 package android.hardware.camera2.cts.testcases;
 
 import static android.hardware.camera2.cts.CameraTestUtils.*;
-import static com.android.ex.camera2.blocking.BlockingStateListener.STATE_CLOSED;
+import static com.android.ex.camera2.blocking.BlockingStateCallback.STATE_CLOSED;
 
 import android.hardware.camera2.params.StreamConfigurationMap;
 import android.media.ImageReader;
@@ -33,7 +33,7 @@
 import android.graphics.ImageFormat;
 import android.hardware.camera2.CameraAccessException;
 import android.hardware.camera2.CameraCaptureSession;
-import android.hardware.camera2.CameraCaptureSession.CaptureListener;
+import android.hardware.camera2.CameraCaptureSession.CaptureCallback;
 import android.hardware.camera2.CameraDevice;
 import android.hardware.camera2.CameraManager;
 import android.hardware.camera2.CameraMetadata;
@@ -43,13 +43,13 @@
 import android.util.Range;
 import android.hardware.camera2.cts.Camera2SurfaceViewStubActivity;
 import android.hardware.camera2.cts.CameraTestUtils;
-import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureListener;
+import android.hardware.camera2.cts.CameraTestUtils.SimpleCaptureCallback;
 import android.hardware.camera2.cts.helpers.CameraErrorCollector;
 import android.hardware.camera2.cts.helpers.StaticMetadata;
 import android.hardware.camera2.cts.helpers.StaticMetadata.CheckLevel;
 
-import com.android.ex.camera2.blocking.BlockingSessionListener;
-import com.android.ex.camera2.blocking.BlockingStateListener;
+import com.android.ex.camera2.blocking.BlockingSessionCallback;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
 import com.android.ex.camera2.exceptions.TimeoutRuntimeException;
 
 import java.util.ArrayList;
@@ -61,7 +61,7 @@
  *
  * <p>This class encapsulates the SurfaceView based preview common functionalities.
  * The setup and teardown of CameraManager, test HandlerThread, Activity, Camera IDs
- * and CameraStateListener are handled in this class. Some basic preview related utility
+ * and CameraStateCallback are handled in this class. Some basic preview related utility
  * functions are provided to facilitate the derived preview-based test classes.
  * </p>
  */
@@ -85,8 +85,8 @@
     protected String[] mCameraIds;
     protected HandlerThread mHandlerThread;
     protected Handler mHandler;
-    protected BlockingStateListener mCameraListener;
-    protected BlockingSessionListener mSessionListener;
+    protected BlockingStateCallback mCameraListener;
+    protected BlockingSessionCallback mSessionListener;
     protected CameraErrorCollector mCollector;
     // Per device fields:
     protected StaticMetadata mStaticInfo;
@@ -110,7 +110,7 @@
     protected void setUp() throws Exception {
         /**
          * Set up the camera preview required environments, including activity,
-         * CameraManager, HandlerThread, Camera IDs, and CameraStateListener.
+         * CameraManager, HandlerThread, Camera IDs, and CameraStateCallback.
          */
         super.setUp();
         mContext = getActivity();
@@ -128,7 +128,7 @@
         mHandlerThread = new HandlerThread(TAG);
         mHandlerThread.start();
         mHandler = new Handler(mHandlerThread.getLooper());
-        mCameraListener = new BlockingStateListener();
+        mCameraListener = new BlockingStateCallback();
         mCollector = new CameraErrorCollector();
     }
 
@@ -164,7 +164,7 @@
      *            capture is available.
      */
     protected void startPreview(CaptureRequest.Builder request, Size previewSz,
-            CaptureListener listener) throws Exception {
+            CaptureCallback listener) throws Exception {
         // Update preview size.
         updatePreviewSurface(previewSz);
         if (VERBOSE) {
@@ -185,7 +185,7 @@
             throws CameraAccessException {
         List<Surface> outputSurfaces = new ArrayList<Surface>(/*capacity*/1);
         outputSurfaces.add(mPreviewSurface);
-        mSessionListener = new BlockingSessionListener();
+        mSessionListener = new BlockingSessionCallback();
         mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler);
 
         request.addTarget(mPreviewSurface);
@@ -233,7 +233,7 @@
      */
     protected void prepareStillCaptureAndStartPreview(CaptureRequest.Builder previewRequest,
             CaptureRequest.Builder stillRequest, Size previewSz, Size stillSz,
-            CaptureListener resultListener,
+            CaptureCallback resultListener,
             ImageReader.OnImageAvailableListener imageListener) throws Exception {
         prepareCaptureAndStartPreview(previewRequest, stillRequest, previewSz, stillSz,
                 ImageFormat.JPEG, resultListener, MAX_READER_IMAGES, imageListener);
@@ -252,7 +252,7 @@
      */
     protected void prepareStillCaptureAndStartPreview(CaptureRequest.Builder previewRequest,
             CaptureRequest.Builder stillRequest, Size previewSz, Size stillSz,
-            CaptureListener resultListener, int maxNumImages,
+            CaptureCallback resultListener, int maxNumImages,
             ImageReader.OnImageAvailableListener imageListener) throws Exception {
         prepareCaptureAndStartPreview(previewRequest, stillRequest, previewSz, stillSz,
                 ImageFormat.JPEG, resultListener, maxNumImages, imageListener);
@@ -274,7 +274,7 @@
      */
     protected void prepareRawCaptureAndStartPreview(CaptureRequest.Builder previewRequest,
             CaptureRequest.Builder rawRequest, Size previewSz, Size rawSz,
-            CaptureListener resultListener,
+            CaptureCallback resultListener,
             ImageReader.OnImageAvailableListener imageListener) throws Exception {
         prepareCaptureAndStartPreview(previewRequest, rawRequest, previewSz, rawSz,
                 ImageFormat.RAW_SENSOR, resultListener, MAX_READER_IMAGES, imageListener);
@@ -295,7 +295,7 @@
      * seen before the result matching myRequest arrives, or each individual wait
      * for result times out after {@value #WAIT_FOR_RESULT_TIMEOUT_MS}ms.
      */
-    protected static <T> void waitForResultValue(SimpleCaptureListener listener,
+    protected static <T> void waitForResultValue(SimpleCaptureCallback listener,
             CaptureResult.Key<T> resultKey,
             T expectedValue, int numResultsWait) {
         List<T> expectedValues = new ArrayList<T>();
@@ -319,7 +319,7 @@
      * seen before the result matching myRequest arrives, or each individual wait
      * for result times out after {@value #WAIT_FOR_RESULT_TIMEOUT_MS}ms.
      */
-    protected static <T> void waitForAnyResultValue(SimpleCaptureListener listener,
+    protected static <T> void waitForAnyResultValue(SimpleCaptureCallback listener,
             CaptureResult.Key<T> resultKey,
             List<T> expectedValues, int numResultsWait) {
         if (numResultsWait < 0 || listener == null || expectedValues == null) {
@@ -370,7 +370,7 @@
      * @throws CameraAccessException if capturing failed
      */
     protected int captureRequestsSynchronized(
-            CaptureRequest request, CaptureListener listener, Handler handler)
+            CaptureRequest request, CaptureCallback listener, Handler handler)
                     throws CameraAccessException {
         return captureRequestsSynchronized(request, /*count*/1, listener, handler);
     }
@@ -398,7 +398,7 @@
      * @throws CameraAccessException if capturing failed
      */
     protected int captureRequestsSynchronized(
-            CaptureRequest request, int count, CaptureListener listener, Handler handler)
+            CaptureRequest request, int count, CaptureCallback listener, Handler handler)
                     throws CameraAccessException {
         if (count < 1) {
             throw new IllegalArgumentException("count must be positive");
@@ -428,7 +428,7 @@
      *
      * @return the last result, or {@code null} if there was none
      */
-    protected static CaptureResult waitForNumResults(SimpleCaptureListener resultListener,
+    protected static CaptureResult waitForNumResults(SimpleCaptureCallback resultListener,
             int numResultsWait) {
         if (numResultsWait < 0 || resultListener == null) {
             throw new IllegalArgumentException(
@@ -450,7 +450,7 @@
      * @param numResultWaitForUnknownLatency Number of frame to wait if camera device latency is
      *                                       unknown.
      */
-    protected void waitForSettingsApplied(SimpleCaptureListener resultListener,
+    protected void waitForSettingsApplied(SimpleCaptureCallback resultListener,
             int numResultWaitForUnknownLatency) {
         int maxLatency = mStaticInfo.getSyncMaxLatency();
         if (maxLatency == CameraMetadata.SYNC_MAX_LATENCY_UNKNOWN) {
@@ -475,7 +475,7 @@
      * @param numResultWaitForUnknownLatency Number of frame to wait if camera device latency is
      *                                       unknown.
      */
-    protected void waitForAeStable(SimpleCaptureListener resultListener,
+    protected void waitForAeStable(SimpleCaptureCallback resultListener,
             int numResultWaitForUnknownLatency) {
         waitForSettingsApplied(resultListener, numResultWaitForUnknownLatency);
 
@@ -504,7 +504,7 @@
      * @param numResultWaitForUnknownLatency Number of frame to wait if camera device latency is
      *                                       unknown.
      */
-    protected void waitForAeLocked(SimpleCaptureListener resultListener,
+    protected void waitForAeLocked(SimpleCaptureCallback resultListener,
             int numResultWaitForUnknownLatency) {
 
         waitForSettingsApplied(resultListener, numResultWaitForUnknownLatency);
@@ -629,7 +629,7 @@
      */
     protected void prepareCaptureAndStartPreview(CaptureRequest.Builder previewRequest,
             CaptureRequest.Builder stillRequest, Size previewSz, Size captureSz, int format,
-            CaptureListener resultListener, int maxNumImages,
+            CaptureCallback resultListener, int maxNumImages,
             ImageReader.OnImageAvailableListener imageListener) throws Exception {
         if (VERBOSE) {
             Log.v(TAG, String.format("Prepare single capture (%s) and preview (%s)",
@@ -646,7 +646,7 @@
         List<Surface> outputSurfaces = new ArrayList<Surface>();
         outputSurfaces.add(mPreviewSurface);
         outputSurfaces.add(mReaderSurface);
-        mSessionListener = new BlockingSessionListener();
+        mSessionListener = new BlockingSessionCallback();
         mSession = configureCameraSession(mCamera, outputSurfaces, mSessionListener, mHandler);
 
         // Configure the requests.
diff --git a/tests/tests/permission/src/android/permission/cts/Camera2PermissionTest.java b/tests/tests/permission/src/android/permission/cts/Camera2PermissionTest.java
index f9e19e0..021a501 100644
--- a/tests/tests/permission/src/android/permission/cts/Camera2PermissionTest.java
+++ b/tests/tests/permission/src/android/permission/cts/Camera2PermissionTest.java
@@ -16,7 +16,7 @@
 
 package android.permission.cts;
 
-import static com.android.ex.camera2.blocking.BlockingStateListener.*;
+import static com.android.ex.camera2.blocking.BlockingStateCallback.*;
 
 import android.content.Context;
 import android.hardware.camera2.CameraDevice;
@@ -27,7 +27,7 @@
 import android.util.Log;
 
 import com.android.ex.camera2.blocking.BlockingCameraManager;
-import com.android.ex.camera2.blocking.BlockingStateListener;
+import com.android.ex.camera2.blocking.BlockingStateCallback;
 
 /**
  * Tests for Camera2 API related Permissions. Currently, this means
@@ -40,7 +40,7 @@
 
     private CameraManager mCameraManager;
     private CameraDevice mCamera;
-    private BlockingStateListener mCameraListener;
+    private BlockingStateCallback mCameraListener;
     private String[] mCameraIds;
     protected Handler mHandler;
     protected HandlerThread mHandlerThread;
@@ -54,7 +54,7 @@
 
     /**
      * Set up the camera2 test case required environments, including CameraManager,
-     * HandlerThread, Camera IDs, and CameraStateListener etc.
+     * HandlerThread, Camera IDs, and CameraStateCallback etc.
      */
     @Override
     protected void setUp() throws Exception {
@@ -64,7 +64,7 @@
         mHandlerThread = new HandlerThread(TAG);
         mHandlerThread.start();
         mHandler = new Handler(mHandlerThread.getLooper());
-        mCameraListener = new BlockingStateListener();
+        mCameraListener = new BlockingStateCallback();
     }
 
     @Override
@@ -96,20 +96,20 @@
     /**
      * Add and remove availability listeners should work without permission.
      */
-    public void testAvailabilityListener() throws Exception {
+    public void testAvailabilityCallback() throws Exception {
         DummyCameraListener availabilityListener = new DummyCameraListener();
         // Remove a not-registered listener is a no-op.
-        mCameraManager.removeAvailabilityListener(availabilityListener);
-        mCameraManager.addAvailabilityListener(availabilityListener, mHandler);
-        mCameraManager.removeAvailabilityListener(availabilityListener);
-        mCameraManager.addAvailabilityListener(availabilityListener, mHandler);
-        mCameraManager.addAvailabilityListener(availabilityListener, mHandler);
-        mCameraManager.removeAvailabilityListener(availabilityListener);
+        mCameraManager.unregisterAvailabilityCallback(availabilityListener);
+        mCameraManager.registerAvailabilityCallback(availabilityListener, mHandler);
+        mCameraManager.unregisterAvailabilityCallback(availabilityListener);
+        mCameraManager.registerAvailabilityCallback(availabilityListener, mHandler);
+        mCameraManager.registerAvailabilityCallback(availabilityListener, mHandler);
+        mCameraManager.unregisterAvailabilityCallback(availabilityListener);
         // Remove a previously-added listener second time is a no-op.
-        mCameraManager.removeAvailabilityListener(availabilityListener);
+        mCameraManager.unregisterAvailabilityCallback(availabilityListener);
     }
 
-    private class DummyCameraListener extends CameraManager.AvailabilityListener {
+    private class DummyCameraListener extends CameraManager.AvailabilityCallback {
         @Override
         public void onCameraAvailable(String cameraId) {
         }
@@ -132,4 +132,3 @@
         }
     }
 }
-