Merge "Catch potential RTE from Camera." into ub-camera-everglades
diff --git a/src/com/android/camera/app/AndroidCameraManagerImpl.java b/src/com/android/camera/app/AndroidCameraManagerImpl.java
index 2385bc1..6cd9c35 100644
--- a/src/com/android/camera/app/AndroidCameraManagerImpl.java
+++ b/src/com/android/camera/app/AndroidCameraManagerImpl.java
@@ -286,7 +286,11 @@
         @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
         private void setAutoFocusMoveCallback(
                 android.hardware.Camera camera, Object cb) {
-            camera.setAutoFocusMoveCallback((AutoFocusMoveCallback) cb);
+            try {
+                camera.setAutoFocusMoveCallback((AutoFocusMoveCallback) cb);
+            } catch (RuntimeException ex) {
+                Log.w(TAG, ex.getMessage());
+            }
         }
 
         private void capture(final CaptureCallbacks cb) {
@@ -551,7 +555,7 @@
 
     private class DispatchThread extends Thread {
 
-        private Queue<Runnable> mJobQueue;
+        private final Queue<Runnable> mJobQueue;
         private Boolean mIsEnded;
 
         public DispatchThread() {
@@ -1096,7 +1100,7 @@
 
     private static class WaitDoneBundle {
         public Runnable mUnlockRunnable;
-        private Object mWaitLock;
+        private final Object mWaitLock;
 
         WaitDoneBundle() {
             mWaitLock = new Object();
@@ -1130,7 +1134,9 @@
          */
         public static AFCallbackForward getNewInstance(
                 Handler handler, CameraProxy camera, CameraAFCallback cb) {
-            if (handler == null || camera == null || cb == null) return null;
+            if (handler == null || camera == null || cb == null) {
+                return null;
+            }
             return new AFCallbackForward(handler, camera, cb);
         }
 
@@ -1171,7 +1177,9 @@
          */
         public static ErrorCallbackForward getNewInstance(
                 Handler handler, CameraProxy camera, CameraErrorCallback cb) {
-            if (handler == null || camera == null || cb == null) return null;
+            if (handler == null || camera == null || cb == null) {
+                return null;
+            }
             return new ErrorCallbackForward(handler, camera, cb);
         }
 
@@ -1211,7 +1219,9 @@
          */
         public static AFMoveCallbackForward getNewInstance(
                 Handler handler, CameraProxy camera, CameraAFMoveCallback cb) {
-            if (handler == null || camera == null || cb == null) return null;
+            if (handler == null || camera == null || cb == null) {
+                return null;
+            }
             return new AFMoveCallbackForward(handler, camera, cb);
         }
 
@@ -1253,7 +1263,9 @@
          */
         public static ShutterCallbackForward getNewInstance(
                 Handler handler, CameraProxy camera, CameraShutterCallback cb) {
-            if (handler == null || camera == null || cb == null) return null;
+            if (handler == null || camera == null || cb == null) {
+                return null;
+            }
             return new ShutterCallbackForward(handler, camera, cb);
         }
 
@@ -1294,7 +1306,9 @@
          */
         public static PictureCallbackForward getNewInstance(
                 Handler handler, CameraProxy camera, CameraPictureCallback cb) {
-            if (handler == null || camera == null || cb == null) return null;
+            if (handler == null || camera == null || cb == null) {
+                return null;
+            }
             return new PictureCallbackForward(handler, camera, cb);
         }
 
@@ -1336,7 +1350,9 @@
          */
         public static PreviewCallbackForward getNewInstance(
                 Handler handler, CameraProxy camera, CameraPreviewDataCallback cb) {
-            if (handler == null || camera == null || cb == null) return null;
+            if (handler == null || camera == null || cb == null) {
+                return null;
+            }
             return new PreviewCallbackForward(handler, camera, cb);
         }
 
@@ -1375,7 +1391,9 @@
          */
         public static FaceDetectionCallbackForward getNewInstance(
                 Handler handler, CameraProxy camera, CameraFaceDetectionCallback cb) {
-            if (handler == null || camera == null || cb == null) return null;
+            if (handler == null || camera == null || cb == null) {
+                return null;
+            }
             return new FaceDetectionCallbackForward(handler, camera, cb);
         }