diff options
-rw-r--r-- | src/com/android/camera/FocusOverlayManager.java | 1 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 16 |
2 files changed, 13 insertions, 4 deletions
diff --git a/src/com/android/camera/FocusOverlayManager.java b/src/com/android/camera/FocusOverlayManager.java index 686122723..37d632745 100644 --- a/src/com/android/camera/FocusOverlayManager.java +++ b/src/com/android/camera/FocusOverlayManager.java @@ -570,7 +570,6 @@ public class FocusOverlayManager { } private boolean needAutoFocusCall() { - if(mZslEnabled) return false; String focusMode = getFocusMode(); return !(focusMode.equals(Parameters.FOCUS_MODE_INFINITY) || focusMode.equals(Parameters.FOCUS_MODE_FIXED) diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 746cc6733..176885ce4 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -976,6 +976,10 @@ public class PhotoModule }else if ((mReceivedSnapNum == mBurstSnapNum) && (mCameraState != LONGSHOT)){ mFocusManager.resetTouchFocus(); + if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals( + mFocusManager.getFocusMode())) { + mCameraDevice.cancelAutoFocus(); + } setCameraState(IDLE); } @@ -1502,6 +1506,10 @@ public class PhotoModule } else { setCameraState(IDLE); mFocusManager.resetTouchFocus(); + if (CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE.equals( + mFocusManager.getFocusMode())) { + mCameraDevice.cancelAutoFocus(); + } } } } @@ -1810,9 +1818,11 @@ public class PhotoModule @Override public void cancelAutoFocus() { - mCameraDevice.cancelAutoFocus(); - setCameraState(IDLE); - setCameraParameters(UPDATE_PARAM_PREFERENCE); + if (null != mCameraDevice ) { + mCameraDevice.cancelAutoFocus(); + setCameraState(IDLE); + setCameraParameters(UPDATE_PARAM_PREFERENCE); + } } // Preview area is touched. Handle touch focus. |