diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2014-01-11 01:52:54 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-01-11 01:52:54 -0800 |
commit | 4fa5b46ba5ba7872a6815d869ab1d4c72a588dc9 (patch) | |
tree | b4d49a6d7f968467d600f68203e20c6ca73d6c6c | |
parent | 9379ef8a3b98f648179576fe7f72cdeda3d8f760 (diff) | |
parent | bfd8f3100c123c391749bdd934993f05784b2a24 (diff) | |
download | android_packages_apps_Snap-4fa5b46ba5ba7872a6815d869ab1d4c72a588dc9.tar.gz android_packages_apps_Snap-4fa5b46ba5ba7872a6815d869ab1d4c72a588dc9.tar.bz2 android_packages_apps_Snap-4fa5b46ba5ba7872a6815d869ab1d4c72a588dc9.zip |
Merge "Camera: Avoid preview restart after capture if possible"
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 15 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 11 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 859117714..48775041c 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -118,6 +118,10 @@ public class CameraSettings { public static final String KEY_QC_FACE_RECOGNITION = "face-recognition"; public static final String KEY_QC_DIS_MODE = "dis"; + public static final String KEY_INTERNAL_PREVIEW_RESTART = "internal-restart"; + private static final String TRUE = "true"; + private static final String FALSE = "false"; + //for flip public static final String KEY_QC_PREVIEW_FLIP = "preview-flip"; public static final String KEY_QC_VIDEO_FLIP = "video-flip"; @@ -862,4 +866,15 @@ public class CameraSettings { } return DEFAULT_VIDEO_DURATION * 1000; } + + public static boolean isInternalPreviewSupported(Parameters params) { + boolean ret = false; + if (null != params) { + String val = params.get(KEY_INTERNAL_PREVIEW_RESTART); + if ((null != val) && (TRUE.equals(val))) { + ret = true; + } + } + return ret; + } } diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 15b72a0ac..26cdcffdb 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -192,6 +192,7 @@ public class PhotoModule private static final String PERSIST_LONG_ENABLE = "persist.camera.longshot.enable"; private static final String PERSIST_LONG_SAVE = "persist.camera.longshot.save"; + private static final String PERSIST_PREVIEW_RESTART = "persist.camera.feature.restart"; private static final int MINIMUM_BRIGHTNESS = 0; private static final int MAXIMUM_BRIGHTNESS = 6; @@ -214,6 +215,8 @@ public class PhotoModule private TextView RightValue; private TextView Title; + private boolean mPreviewRestartSupport = false; + // mCropValue and mSaveUri are used only if isImageCaptureIntent() is true. private String mCropValue; private Uri mSaveUri; @@ -983,6 +986,7 @@ public class PhotoModule mFocusManager.updateFocusUI(); // Ensure focus indicator is hidden. boolean needRestartPreview = !mIsImageCaptureIntent + && !mPreviewRestartSupport && (mCameraState != LONGSHOT) && (mSnapshotMode != CameraInfo.CAMERA_SUPPORT_MODE_ZSL) && (mReceivedSnapNum == mBurstSnapNum); @@ -1285,6 +1289,13 @@ public class PhotoModule mBurstSnapNum = mParameters.getInt("num-snaps-per-shutter"); mReceivedSnapNum = 0; + mPreviewRestartSupport = SystemProperties.getBoolean( + PERSIST_PREVIEW_RESTART, false); + mPreviewRestartSupport &= CameraSettings.isInternalPreviewSupported( + mParameters); + mPreviewRestartSupport &= (mBurstSnapNum == 1); + mPreviewRestartSupport &= PIXEL_FORMAT_JPEG.equalsIgnoreCase( + pictureFormat); // We don't want user to press the button again while taking a // multi-second HDR photo. |