diff options
author | Wu-cheng Li <wuchengli@google.com> | 2011-10-20 08:28:47 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-10-20 08:28:47 -0700 |
commit | cf2f19fb053bfe7f39c552b67ffdfc72119ab2d1 (patch) | |
tree | da52d514af995423b8d996040e7f3abba8e74802 /src/com/android/camera/Camera.java | |
parent | 27c97af52157672f6201215d2e07497ff6361a8e (diff) | |
parent | 53be34deae057cfa297c3ee73eee91f880272650 (diff) | |
download | packages_apps_LegacyCamera-cf2f19fb053bfe7f39c552b67ffdfc72119ab2d1.zip packages_apps_LegacyCamera-cf2f19fb053bfe7f39c552b67ffdfc72119ab2d1.tar.gz packages_apps_LegacyCamera-cf2f19fb053bfe7f39c552b67ffdfc72119ab2d1.tar.bz2 |
Merge "Fix AE and AWB lock were incorrectly unlocked during autofocus." into ics-mr0
Diffstat (limited to 'src/com/android/camera/Camera.java')
-rw-r--r-- | src/com/android/camera/Camera.java | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java index e3b1450..067ae23 100644 --- a/src/com/android/camera/Camera.java +++ b/src/com/android/camera/Camera.java @@ -124,7 +124,6 @@ public class Camera extends ActivityBase implements FocusManager.Listener, private boolean mMeteringAreaSupported; private boolean mAeLockSupported; private boolean mAwbLockSupported; - private boolean mAeAwbLock; private MyOrientationEventListener mOrientationListener; // The degrees of the device rotated clockwise from its natural orientation. @@ -1361,18 +1360,10 @@ public class Camera extends ActivityBase implements FocusManager.Listener, // Do not do focus if there is not enough storage. if (pressed && !canTakePicture()) return; - // Lock AE and AWB so users can half-press shutter and recompose. - mAeAwbLock = pressed; - if (mAeAwbLock && (mAeLockSupported || mAwbLockSupported)) { - setCameraParameters(UPDATE_PARAM_PREFERENCE); - } - - mFocusManager.doFocus(pressed); - - // Unlock AE and AWB after cancelAutoFocus. Camera API does not - // guarantee setParameters can be called during autofocus. - if (!mAeAwbLock && (mAeLockSupported || mAwbLockSupported)) { - setCameraParameters(UPDATE_PARAM_PREFERENCE); + if (pressed) { + mFocusManager.onShutterDown(); + } else { + mFocusManager.onShutterUp(); } } @@ -1761,7 +1752,8 @@ public class Camera extends ActivityBase implements FocusManager.Listener, setPreviewDisplay(mSurfaceHolder); setDisplayOrientation(); - mAeAwbLock = false; // Unlock AE and AWB. + + mFocusManager.setAeAwbLock(false); // Unlock AE and AWB. setCameraParameters(UPDATE_PARAM_ALL); // If the focus mode is continuous autofocus, call cancelAutoFocus to // resume it because it may have been paused by autoFocus call. @@ -1835,11 +1827,11 @@ public class Camera extends ActivityBase implements FocusManager.Listener, private void updateCameraParametersPreference() { if (mAeLockSupported) { - mParameters.setAutoExposureLock(mAeAwbLock); + mParameters.setAutoExposureLock(mFocusManager.getAeAwbLock()); } if (mAwbLockSupported) { - mParameters.setAutoWhiteBalanceLock(mAeAwbLock); + mParameters.setAutoWhiteBalanceLock(mFocusManager.getAeAwbLock()); } if (mFocusAreaSupported) { |