From 50eebe057b3c0e25357e48bd8443ba8f58a194ed Mon Sep 17 00:00:00 2001 From: Eino-Ville Talvala Date: Thu, 9 Jun 2016 17:07:13 -0700 Subject: [PATCH] Camera2: Fix error codes for CameraDevice.StateCallback.onError() Existing code assumed that ICameraDeviceCallbacks and CameraDevice.StateCallback have the same error code values for matching errors. They do not. Also remove duplicate error code definitions now present in the AIDL file for ICameraDeviceCallbacks. Bug: 29248704 Change-Id: I069e2b7ef3be7887634e128f1accb50b7558f3fd --- .../hardware/camera2/impl/CameraDeviceImpl.java | 42 +++------------------- 1 file changed, 5 insertions(+), 37 deletions(-) diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java index 5743b4d42a37..0cee11445246 100644 --- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java @@ -1610,41 +1610,6 @@ public class CameraDeviceImpl extends CameraDevice } public class CameraDeviceCallbacks extends ICameraDeviceCallbacks.Stub { - // - // Constants below need to be kept up-to-date with - // frameworks/av/include/camera/camera2/ICameraDeviceCallbacks.h - // - - // - // Error codes for onCameraError - // - - /** - * Camera has been disconnected - */ - public static final int ERROR_CAMERA_DISCONNECTED = 0; - /** - * Camera has encountered a device-level error - * Matches CameraDevice.StateCallback#ERROR_CAMERA_DEVICE - */ - public static final int ERROR_CAMERA_DEVICE = 1; - /** - * Camera has encountered a service-level error - * Matches CameraDevice.StateCallback#ERROR_CAMERA_SERVICE - */ - public static final int ERROR_CAMERA_SERVICE = 2; - /** - * Camera has encountered an error processing a single request. - */ - public static final int ERROR_CAMERA_REQUEST = 3; - /** - * Camera has encountered an error producing metadata for a single capture - */ - public static final int ERROR_CAMERA_RESULT = 4; - /** - * Camera has encountered an error producing an image buffer for a single capture - */ - public static final int ERROR_CAMERA_BUFFER = 5; @Override public IBinder asBinder() { @@ -1675,11 +1640,14 @@ public class CameraDeviceImpl extends CameraDevice case ERROR_CAMERA_DEVICE: case ERROR_CAMERA_SERVICE: mInError = true; + final int publicErrorCode = (errorCode == ERROR_CAMERA_DEVICE) ? + StateCallback.ERROR_CAMERA_DEVICE : + StateCallback.ERROR_CAMERA_SERVICE; Runnable r = new Runnable() { @Override public void run() { if (!CameraDeviceImpl.this.isClosed()) { - mDeviceCallback.onError(CameraDeviceImpl.this, errorCode); + mDeviceCallback.onError(CameraDeviceImpl.this, publicErrorCode); } } }; @@ -2050,7 +2018,7 @@ public class CameraDeviceImpl extends CameraDevice public void run() { if (!isClosed()) { mDeviceCallback.onError(CameraDeviceImpl.this, - CameraDeviceCallbacks.ERROR_CAMERA_SERVICE); + StateCallback.ERROR_CAMERA_SERVICE); } } }; -- 2.11.0