summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorShwetha Kotekar <skotekar@codeaurora.org>2015-03-10 13:35:34 -0700
committerShwetha Kotekar <skotekar@codeaurora.org>2015-03-10 13:35:34 -0700
commit20248ae170d8bf7357b6f0bfe3d3bdb068c3af88 (patch)
tree3ebede907a0792ff1ad3c56f849e5864aebc1ff3 /src
parenta408254edf4ce48ce0cec7ca752f98b207f1c326 (diff)
downloadandroid_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.java11
-rw-r--r--src/com/android/camera/PhotoModule.java48
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.