summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Kondik <steve@cyngn.com>2016-11-14 21:25:51 -0800
committerMichael Bestas <mikeioannina@gmail.com>2017-01-04 22:00:41 +0200
commita880484ef679f08a1112837767bfbecf434d37d0 (patch)
treef2791d5755d7beef756b926be808a688f2fd8932
parente26c6004e0a76a92abdb33f83345cb70b8e428f8 (diff)
downloadandroid_packages_apps_Snap-a880484ef679f08a1112837767bfbecf434d37d0.tar.gz
android_packages_apps_Snap-a880484ef679f08a1112837767bfbecf434d37d0.tar.bz2
android_packages_apps_Snap-a880484ef679f08a1112837767bfbecf434d37d0.zip
snap: Check for null when setting up the focus callback
* Depending on phase of moon and location of Jupiter, we might race during startup. Add a nullcheck and synchronize until we have a proper callback. Change-Id: I2d026f0eaae3541f78c105e8cb03ae38195f48ba
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index c4434bd1a..69976fdc3 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -4155,15 +4155,17 @@ public class PhotoModule
@TargetApi(Build.VERSION_CODES.JELLY_BEAN)
private void updateAutoFocusMoveCallback() {
- if (mCameraDevice == null) {
+ if (mCameraDevice == null || mParameters == null) {
return;
}
- if (mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE) ||
- mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE)) {
- mCameraDevice.setAutoFocusMoveCallback(mHandler,
- (CameraAFMoveCallback) mAutoFocusMoveCallback);
- } else {
- mCameraDevice.setAutoFocusMoveCallback(null, null);
+ synchronized (mCameraDevice) {
+ if (mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE) ||
+ mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE)) {
+ mCameraDevice.setAutoFocusMoveCallback(mHandler,
+ (CameraAFMoveCallback) mAutoFocusMoveCallback);
+ } else {
+ mCameraDevice.setAutoFocusMoveCallback(null, null);
+ }
}
}