diff options
author | Steve Kondik <shade@chemlab.org> | 2013-12-03 18:33:47 +0530 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-11-02 12:24:50 -0700 |
commit | f75eec9c31789b6fedf9b885985dd26e46c9fb4f (patch) | |
tree | 9a2c2734249c3ecc4ec6b5ae9f2ab47b0d73b7ec /src | |
parent | 79be3991b04eff6a4f0b5080ce00f66edb59e0b6 (diff) | |
download | android_packages_apps_Snap-f75eec9c31789b6fedf9b885985dd26e46c9fb4f.tar.gz android_packages_apps_Snap-f75eec9c31789b6fedf9b885985dd26e46c9fb4f.tar.bz2 android_packages_apps_Snap-f75eec9c31789b6fedf9b885985dd26e46c9fb4f.zip |
camera: Keep touch focus intact during back-to-back ZSL shots
* If ZSL is enabled, we should not resetTouchFocus between shots.
* Instead, re-kick the timer for each shot. If I set a focus point,
I want that point to stick while I take a succession of shots.
Change-Id: I407bb1e248cc902355d0294f47b071cc8a32fac3
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/FocusOverlayManager.java | 12 | ||||
-rwxr-xr-x | src/com/android/camera/PhotoModule.java | 2 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/camera/FocusOverlayManager.java b/src/com/android/camera/FocusOverlayManager.java index 8f0f55908..c1b95a3ed 100644 --- a/src/com/android/camera/FocusOverlayManager.java +++ b/src/com/android/camera/FocusOverlayManager.java @@ -502,6 +502,15 @@ public class FocusOverlayManager { return mMeteringArea; } + public void restartTouchFocusTimer() { + if (mZslEnabled && (mFocusArea != null) && (mFocusTime != 0x7FFFFFFF)) { + mHandler.removeMessages(RESET_TOUCH_FOCUS); + mHandler.sendEmptyMessageDelayed(RESET_TOUCH_FOCUS, mFocusTime); + } else { + resetTouchFocus(); + } + } + public void resetTouchFocus() { if (!mInitialized) return; @@ -568,7 +577,8 @@ public class FocusOverlayManager { } private boolean needAutoFocusCall() { - return getFocusMode(false).equals(Parameters.FOCUS_MODE_AUTO); + return getFocusMode(false).equals(Parameters.FOCUS_MODE_AUTO) && + !(mZslEnabled && (mHandler.hasMessages(RESET_TOUCH_FOCUS))); } public void setZslEnable(boolean value) { diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 588759df5..70affd271 100755 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1374,7 +1374,7 @@ public class PhotoModule } } else if ((mReceivedSnapNum == mBurstSnapNum) && (mCameraState != LONGSHOT)){ - mFocusManager.resetTouchFocus(); + mFocusManager.restartTouchFocusTimer(); if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode(false)) || CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(mFocusManager.getFocusMode(false))) { mCameraDevice.cancelAutoFocus(); |