diff options
-rw-r--r-- | src/com/android/camera/FocusOverlayManager.java | 12 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/src/com/android/camera/FocusOverlayManager.java b/src/com/android/camera/FocusOverlayManager.java index d248a0139..4b2d87c1d 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 36fde8b06..4890d7455 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1255,9 +1255,9 @@ public class PhotoModule mCameraDevice.cancelAutoFocus(); } } else if (((mCameraState != LONGSHOT) && (mReceivedSnapNum == mBurstSnapNum)) - || isLongshotDone()){ + || isLongshotDone()) { mUI.enableShutter(true); - 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(); |