summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/Camera.java
diff options
context:
space:
mode:
authorWu-cheng Li <wuchengli@google.com>2011-10-20 15:20:59 +0800
committerWu-cheng Li <wuchengli@google.com>2011-10-20 15:36:01 +0800
commit53be34deae057cfa297c3ee73eee91f880272650 (patch)
tree46dc4b8086a136cc5d0bb5e06fd7dc4b1fde3038 /src/com/android/camera/Camera.java
parente0b66a87432f452bf4a10ef5e0d835113a8ab69d (diff)
downloadpackages_apps_LegacyCamera-53be34deae057cfa297c3ee73eee91f880272650.zip
packages_apps_LegacyCamera-53be34deae057cfa297c3ee73eee91f880272650.tar.gz
packages_apps_LegacyCamera-53be34deae057cfa297c3ee73eee91f880272650.tar.bz2
Fix AE and AWB lock were incorrectly unlocked during autofocus.
The only actual difference of this patch is not to unlock AE and AWB when the state is STATE_FOCUSING_SNAP_ON_FINISH. bug:5483130 Change-Id: If5108ef3c3677ebed96a291a505408ebfdc4668e
Diffstat (limited to 'src/com/android/camera/Camera.java')
-rw-r--r--src/com/android/camera/Camera.java24
1 files changed, 8 insertions, 16 deletions
diff --git a/src/com/android/camera/Camera.java b/src/com/android/camera/Camera.java
index 589a5c8..17741bf 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.
@@ -1358,18 +1357,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();
}
}
@@ -1756,7 +1747,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.
@@ -1831,11 +1823,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) {