summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Newberger <alann@google.com>2014-10-27 14:23:23 -0700
committerAlan Newberger <alann@google.com>2014-10-27 14:23:23 -0700
commitc15ddae4862bb9a10b0142fac9558a5f899b1a21 (patch)
treea904e540e7af158195c9cbc8914fdca90173b6a8
parent733ca8dfa76ac34d1f9caff8798d01a4a8f44002 (diff)
downloadandroid_frameworks_ex-c15ddae4862bb9a10b0142fac9558a5f899b1a21.tar.gz
android_frameworks_ex-c15ddae4862bb9a10b0142fac9558a5f899b1a21.tar.bz2
android_frameworks_ex-c15ddae4862bb9a10b0142fac9558a5f899b1a21.zip
Ensure agent error handler is always non-null
Create a dummy placeholder handler which logs warnings, which can be replaced by app if desired. This makes various assumptions valid that this is non-null. Bug: 18137167 Change-Id: I0f508dff3cfe766ccc5a3c5a26c6196f4fb31e04
-rw-r--r--camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java18
1 files changed, 17 insertions, 1 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 9910dd9..cdd6993 100644
--- a/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
+++ b/camera2/portability/src/com/android/ex/camera2/portability/AndroidCameraAgentImpl.java
@@ -55,7 +55,23 @@ class AndroidCameraAgentImpl extends CameraAgent {
private final HandlerThread mCameraHandlerThread;
private final CameraStateHolder mCameraState;
private final DispatchThread mDispatchThread;
- private CameraExceptionHandler mExceptionHandler;
+ private CameraExceptionHandler mExceptionHandler = new CameraExceptionHandler(null) {
+ @Override
+ public void onCameraError(int errorCode) {
+ Log.w(TAG, "onCameraError called before handler set: " + errorCode);
+ }
+
+ @Override
+ public void onCameraException(RuntimeException ex, String commandHistory, int action,
+ int state) {
+ Log.w(TAG, "onCameraException called before handler set", ex);
+ }
+
+ @Override
+ public void onDispatchThreadException(RuntimeException ex) {
+ Log.w(TAG, "onDispatchThreadException called before handler set", ex);
+ }
+ };
AndroidCameraAgentImpl() {
mCameraHandlerThread = new HandlerThread("Camera Handler Thread");