summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/PhotoModule.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/PhotoModule.java')
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java30
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);