summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/camera/FocusOverlayManager.java12
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java2
2 files changed, 12 insertions, 2 deletions
diff --git a/src/com/android/camera/FocusOverlayManager.java b/src/com/android/camera/FocusOverlayManager.java
index a03163af5..cac59582a 100644
--- a/src/com/android/camera/FocusOverlayManager.java
+++ b/src/com/android/camera/FocusOverlayManager.java
@@ -526,6 +526,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 updateFocusUI() {
if (!mInitialized) return;
// Show only focus indicator or face indicator.
@@ -626,7 +635,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 ed78a88a8..5e954bbaf 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1439,7 +1439,7 @@ public class PhotoModule
}
} else if ((mReceivedSnapNum == mBurstSnapNum)
&& (mCameraState != LONGSHOT)){
- mFocusManager.resetTouchFocus();
+ mFocusManager.restartTouchFocusTimer();
focusMode = mFocusManager.getFocusMode(false);
if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals(focusMode) ||
CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE.equals(focusMode)) {