diff options
Diffstat (limited to 'src/com/android/camera/PhotoModule.java')
-rwxr-xr-x | src/com/android/camera/PhotoModule.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index f07d132c7..5eff069ab 100755 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -4152,6 +4152,9 @@ public class PhotoModule @TargetApi(Build.VERSION_CODES.JELLY_BEAN) private void updateAutoFocusMoveCallback() { + if (mCameraDevice == null) { + return; + } if (mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_CONTINUOUS_PICTURE) || mParameters.getFocusMode().equals(CameraUtil.FOCUS_MODE_MW_CONTINUOUS_PICTURE)) { mCameraDevice.setAutoFocusMoveCallback(mHandler, @@ -4161,6 +4164,13 @@ public class PhotoModule } } + @TargetApi(Build.VERSION_CODES.JELLY_BEAN) + private void disableAutoFocusMoveCallback() { + if (mCameraDevice != null) { + mCameraDevice.setAutoFocusMoveCallback(null, null); + } + } + // We separate the parameters into several subsets, so we can update only // the subsets actually need updating. The PREFERENCE set needs extra // locking because the preference can be changed from GLThread as well. @@ -5008,6 +5018,26 @@ public class PhotoModule } } + @Override + public void showPreviewCover() { + disableAutoFocusMoveCallback(); + stopFaceDetection(); + mUI.getFocusRing().stopFocusAnimations(); + mUI.showPreviewCover(); + } + + @Override + public void hidePreviewCover() { + mUI.hidePreviewCover(); + startFaceDetection(); + updateAutoFocusMoveCallback(); + } + + @Override + public void setPreviewCoverAlpha(float alpha) { + mUI.setPreviewCoverAlpha(alpha); + } + public void onMakeupLevelSync(String key, String value) { Log.d(TAG, "PhotoModule.onMakeupLevel(): key is " + key + ", value is " + value); |