Loading core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +5 −37 Original line number Diff line number Diff line Loading @@ -1644,41 +1644,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() { Loading Loading @@ -1709,11 +1674,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); } } }; Loading Loading @@ -2085,7 +2053,7 @@ public class CameraDeviceImpl extends CameraDevice public void run() { if (!isClosed()) { mDeviceCallback.onError(CameraDeviceImpl.this, CameraDeviceCallbacks.ERROR_CAMERA_SERVICE); StateCallback.ERROR_CAMERA_SERVICE); } } }; Loading core/java/android/hardware/camera2/marshal/MarshalRegistry.java +43 −35 Original line number Diff line number Diff line Loading @@ -37,8 +37,10 @@ public class MarshalRegistry { * @param queryable a non-{@code null} marshal queryable that supports marshaling {@code T} */ public static <T> void registerMarshalQueryable(MarshalQueryable<T> queryable) { synchronized(sMarshalLock) { sRegisteredMarshalQueryables.add(queryable); } } /** * Lookup a marshaler between {@code T} and {@code nativeType}. Loading @@ -54,6 +56,7 @@ public class MarshalRegistry { */ @SuppressWarnings("unchecked") public static <T> Marshaler<T> getMarshaler(TypeReference<T> typeToken, int nativeType) { synchronized(sMarshalLock) { // TODO: can avoid making a new token each time by code-genning // the list of type tokens and native types from the keys (at the call sites) MarshalToken<T> marshalToken = new MarshalToken<T>(typeToken, nativeType); Loading @@ -65,11 +68,12 @@ public class MarshalRegistry { Marshaler<T> marshaler = (Marshaler<T>) sMarshalerMap.get(marshalToken); if (marshaler == null) { if (sRegisteredMarshalQueryables.size() == 0) { throw new AssertionError("No available query marshalers registered"); } if (marshaler == null) { // Query each marshaler to see if they support the native/managed type combination for (MarshalQueryable<?> potentialMarshaler : sRegisteredMarshalQueryables) { Loading @@ -96,6 +100,7 @@ public class MarshalRegistry { return marshaler; } } private static class MarshalToken<T> { public MarshalToken(TypeReference<T> typeReference, int nativeType) { Loading Loading @@ -125,9 +130,12 @@ public class MarshalRegistry { } } private static List<MarshalQueryable<?>> sRegisteredMarshalQueryables = // Control access to the static data structures below private static final Object sMarshalLock = new Object(); private static final List<MarshalQueryable<?>> sRegisteredMarshalQueryables = new ArrayList<MarshalQueryable<?>>(); private static HashMap<MarshalToken<?>, Marshaler<?>> sMarshalerMap = private static final HashMap<MarshalToken<?>, Marshaler<?>> sMarshalerMap = new HashMap<MarshalToken<?>, Marshaler<?>>(); private MarshalRegistry() { Loading Loading
core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +5 −37 Original line number Diff line number Diff line Loading @@ -1644,41 +1644,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() { Loading Loading @@ -1709,11 +1674,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); } } }; Loading Loading @@ -2085,7 +2053,7 @@ public class CameraDeviceImpl extends CameraDevice public void run() { if (!isClosed()) { mDeviceCallback.onError(CameraDeviceImpl.this, CameraDeviceCallbacks.ERROR_CAMERA_SERVICE); StateCallback.ERROR_CAMERA_SERVICE); } } }; Loading
core/java/android/hardware/camera2/marshal/MarshalRegistry.java +43 −35 Original line number Diff line number Diff line Loading @@ -37,8 +37,10 @@ public class MarshalRegistry { * @param queryable a non-{@code null} marshal queryable that supports marshaling {@code T} */ public static <T> void registerMarshalQueryable(MarshalQueryable<T> queryable) { synchronized(sMarshalLock) { sRegisteredMarshalQueryables.add(queryable); } } /** * Lookup a marshaler between {@code T} and {@code nativeType}. Loading @@ -54,6 +56,7 @@ public class MarshalRegistry { */ @SuppressWarnings("unchecked") public static <T> Marshaler<T> getMarshaler(TypeReference<T> typeToken, int nativeType) { synchronized(sMarshalLock) { // TODO: can avoid making a new token each time by code-genning // the list of type tokens and native types from the keys (at the call sites) MarshalToken<T> marshalToken = new MarshalToken<T>(typeToken, nativeType); Loading @@ -65,11 +68,12 @@ public class MarshalRegistry { Marshaler<T> marshaler = (Marshaler<T>) sMarshalerMap.get(marshalToken); if (marshaler == null) { if (sRegisteredMarshalQueryables.size() == 0) { throw new AssertionError("No available query marshalers registered"); } if (marshaler == null) { // Query each marshaler to see if they support the native/managed type combination for (MarshalQueryable<?> potentialMarshaler : sRegisteredMarshalQueryables) { Loading @@ -96,6 +100,7 @@ public class MarshalRegistry { return marshaler; } } private static class MarshalToken<T> { public MarshalToken(TypeReference<T> typeReference, int nativeType) { Loading Loading @@ -125,9 +130,12 @@ public class MarshalRegistry { } } private static List<MarshalQueryable<?>> sRegisteredMarshalQueryables = // Control access to the static data structures below private static final Object sMarshalLock = new Object(); private static final List<MarshalQueryable<?>> sRegisteredMarshalQueryables = new ArrayList<MarshalQueryable<?>>(); private static HashMap<MarshalToken<?>, Marshaler<?>> sMarshalerMap = private static final HashMap<MarshalToken<?>, Marshaler<?>> sMarshalerMap = new HashMap<MarshalToken<?>, Marshaler<?>>(); private MarshalRegistry() { Loading