diff options
author | Shwetha Kotekar <skotekar@codeaurora.org> | 2015-03-10 13:35:34 -0700 |
---|---|---|
committer | Shwetha Kotekar <skotekar@codeaurora.org> | 2015-03-10 13:35:34 -0700 |
commit | 20248ae170d8bf7357b6f0bfe3d3bdb068c3af88 (patch) | |
tree | 3ebede907a0792ff1ad3c56f849e5864aebc1ff3 /src | |
parent | a408254edf4ce48ce0cec7ca752f98b207f1c326 (diff) | |
download | android_packages_apps_Snap-20248ae170d8bf7357b6f0bfe3d3bdb068c3af88.tar.gz android_packages_apps_Snap-20248ae170d8bf7357b6f0bfe3d3bdb068c3af88.tar.bz2 android_packages_apps_Snap-20248ae170d8bf7357b6f0bfe3d3bdb068c3af88.zip |
Camera2: Add StillMore option in Camera app menu
Add menu item for StillMore feature under the Advanced
Features item during camera preview.
Change-Id: I89ae260339896878ff4f1c5099885c6f3b05a18b
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 11 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 48 |
2 files changed, 50 insertions, 9 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index c057ee01f..5a4012a5f 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -132,6 +132,7 @@ public class CameraSettings { private static final String KEY_QC_SUPPORTED_FACE_RECOGNITION_MODES = "face-recognition-values"; private static final String KEY_QC_SUPPORTED_DIS_MODES = "dis-values"; private static final String KEY_QC_SUPPORTED_SEE_MORE_MODES = "see-more-values"; + private static final String KEY_QC_SUPPORTED_STILL_MORE_MODES = "still-more-values"; private static final String KEY_QC_SUPPORTED_CDS_MODES = "cds-mode-values"; private static final String KEY_QC_SUPPORTED_VIDEO_CDS_MODES = "video-cds-mode-values"; private static final String KEY_QC_SUPPORTED_TNR_MODES = "tnr-mode-values"; @@ -148,6 +149,7 @@ public class CameraSettings { public static final String KEY_QC_FSSR = "FSSR"; public static final String KEY_QC_TP = "true-portrait"; public static final String KEY_QC_MULTI_TOUCH_FOCUS = "multi-touch-focus"; + public static final String KEY_QC_STILL_MORE = "still-more"; public static final String KEY_QC_FACE_RECOGNITION = "face-recognition"; public static final String KEY_QC_DIS_MODE = "dis"; public static final String KEY_QC_CDS_MODE = "cds-mode"; @@ -436,6 +438,7 @@ public class CameraSettings { str += ',' + params.get(KEY_QC_SUPPORTED_MTF_MODES); str += ',' + mContext.getString(R.string.pref_camera_advanced_feature_default); str += ',' + params.get(KEY_QC_SUPPORTED_RE_FOCUS_MODES); + str += ',' + params.get(KEY_QC_SUPPORTED_STILL_MORE_MODES); return split(str); } @@ -495,6 +498,14 @@ public class CameraSettings { return split(str); } + public static List<String> getSupportedStillMoreModes(Parameters params) { + String str = params.get(KEY_QC_SUPPORTED_STILL_MORE_MODES); + if (str == null) { + return null; + } + return split(str); + } + // Splits a comma delimited string to an ArrayList of String. // Return null if the passing string is null or the size is 0. private static ArrayList<String> split(String str) { diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 72e0f3f4d..1a51bd0b5 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -1679,6 +1679,10 @@ public class PhotoModule mParameters.get(CameraSettings.KEY_QC_TP); String multiTouchFocus = mParameters.get(CameraSettings.KEY_QC_MULTI_TOUCH_FOCUS); + String stillMoreOn = mActivity.getString(R.string. + pref_camera_advanced_feature_value_stillmore_on); + String stillMore = + mParameters.get(CameraSettings.KEY_QC_STILL_MORE); String continuousShot = mParameters.get("long-shot"); @@ -1707,7 +1711,8 @@ public class PhotoModule (chromaFlash != null && chromaFlash.equals(chromaFlashOn)) || (optiZoom != null && optiZoom.equals(optiZoomOn)) || (fssr != null && fssr.equals(fssrOn)) || - (truePortrait != null && truePortrait.equals(truPortraitOn))) { + (truePortrait != null && truePortrait.equals(truPortraitOn)) || + (stillMore != null && stillMore.equals(stillMoreOn))) { mSceneMode = sceneMode = Parameters.SCENE_MODE_AUTO; flashMode = Parameters.FLASH_MODE_OFF; focusMode = Parameters.FOCUS_MODE_INFINITY; @@ -2689,7 +2694,8 @@ public class PhotoModule String optiZoom, String fssr, String truePortrait, - String multiTouchFocus) { + String multiTouchFocus, + String stillMore) { if (CameraUtil.isSupported(ubiFocus, CameraSettings.getSupportedAFBracketingModes(mParameters))) { mParameters.set(CameraSettings.KEY_QC_AF_BRACKETING, ubiFocus); @@ -2718,6 +2724,10 @@ public class PhotoModule CameraSettings.getSupportedMultiTouchFocusModes(mParameters))) { mParameters.set(CameraSettings.KEY_QC_MULTI_TOUCH_FOCUS, multiTouchFocus); } + if (CameraUtil.isSupported(stillMore, + CameraSettings.getSupportedStillMoreModes(mParameters))) { + mParameters.set(CameraSettings.KEY_QC_STILL_MORE, stillMore); + } } /** This can run on a background thread, so don't do UI updates here.*/ @@ -2965,6 +2975,8 @@ public class PhotoModule pref_camera_advanced_feature_value_trueportrait_off); String multiTouchFocusOff = mActivity.getString(R.string. pref_camera_advanced_feature_value_multi_touch_focus_off); + String stillMoreOff = mActivity.getString(R.string. + pref_camera_advanced_feature_value_stillmore_off); if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_ubifocus_on))) { @@ -2974,7 +2986,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_chromaflash_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -2983,7 +2996,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_refocus_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -2992,7 +3006,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); mRefocus = true; } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_optizoom_on))) { @@ -3002,7 +3017,8 @@ public class PhotoModule advancedFeature, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_FSSR_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3011,7 +3027,8 @@ public class PhotoModule optiZoomOff, advancedFeature, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_trueportrait_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3020,7 +3037,8 @@ public class PhotoModule optiZoomOff, fssrOff, advancedFeature, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } else if (advancedFeature.equals(mActivity.getString(R.string. pref_camera_advanced_feature_value_multi_touch_focus_on))) { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3029,6 +3047,17 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, + advancedFeature, + stillMoreOff); + } else if (advancedFeature.equals(mActivity.getString(R.string. + pref_camera_advanced_feature_value_stillmore_on))) { + qcomUpdateAdvancedFeatures(ubiFocusOff, + chromaFlashOff, + reFocusOff, + optiZoomOff, + fssrOff, + truePortraitOff, + multiTouchFocusOff, advancedFeature); } else { qcomUpdateAdvancedFeatures(ubiFocusOff, @@ -3037,7 +3066,8 @@ public class PhotoModule optiZoomOff, fssrOff, truePortraitOff, - multiTouchFocusOff); + multiTouchFocusOff, + stillMoreOff); } } // Set auto exposure parameter. |