diff options
author | Steve Kondik <steve@cyngn.com> | 2016-11-14 21:25:51 -0800 |
---|---|---|
committer | Michael Bestas <mikeioannina@gmail.com> | 2017-01-04 22:00:41 +0200 |
commit | a880484ef679f08a1112837767bfbecf434d37d0 (patch) | |
tree | f2791d5755d7beef756b926be808a688f2fd8932 /src | |
parent | e26c6004e0a76a92abdb33f83345cb70b8e428f8 (diff) | |
download | android_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
Diffstat (limited to 'src')
-rwxr-xr-x | src/com/android/camera/PhotoModule.java | 16 |
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); + } } } |