summaryrefslogtreecommitdiffstats
path: root/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java')
-rw-r--r--camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java15
1 files changed, 10 insertions, 5 deletions
diff --git a/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java b/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
index cdd6993..201a905 100644
--- a/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
+++ b/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
@@ -55,24 +55,28 @@ class AndroidCameraAgentImpl extends CameraAgent {
private final HandlerThread mCameraHandlerThread;
private final CameraStateHolder mCameraState;
private final DispatchThread mDispatchThread;
- private CameraExceptionHandler mExceptionHandler = new CameraExceptionHandler(null) {
+
+ private static final CameraExceptionHandler sDefaultExceptionHandler =
+ new CameraExceptionHandler(null) {
@Override
public void onCameraError(int errorCode) {
- Log.w(TAG, "onCameraError called before handler set: " + errorCode);
+ Log.w(TAG, "onCameraError called with no handler set: " + errorCode);
}
@Override
public void onCameraException(RuntimeException ex, String commandHistory, int action,
int state) {
- Log.w(TAG, "onCameraException called before handler set", ex);
+ Log.w(TAG, "onCameraException called with no handler set", ex);
}
@Override
public void onDispatchThreadException(RuntimeException ex) {
- Log.w(TAG, "onDispatchThreadException called before handler set", ex);
+ Log.w(TAG, "onDispatchThreadException called with no handler set", ex);
}
};
+ private CameraExceptionHandler mExceptionHandler = sDefaultExceptionHandler;
+
AndroidCameraAgentImpl() {
mCameraHandlerThread = new HandlerThread("Camera Handler Thread");
mCameraHandlerThread.start();
@@ -117,7 +121,8 @@ class AndroidCameraAgentImpl extends CameraAgent {
@Override
public void setCameraExceptionHandler(CameraExceptionHandler exceptionHandler) {
- mExceptionHandler = exceptionHandler;
+ // In case of null set the default handler to route exceptions to logs
+ mExceptionHandler = exceptionHandler != null ? exceptionHandler : sDefaultExceptionHandler;
}
private static class AndroidCameraDeviceInfo implements CameraDeviceInfo {