summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/qcomarrays.xml2
-rw-r--r--res/values/qcomstrings.xml3
-rw-r--r--src/com/android/camera/CameraSettings.java10
-rw-r--r--src/com/android/camera/PhotoMenu.java5
-rw-r--r--src/com/android/camera/PhotoModule.java36
5 files changed, 49 insertions, 7 deletions
diff --git a/res/values/qcomarrays.xml b/res/values/qcomarrays.xml
index 98329c3bf..074e2f9d7 100644
--- a/res/values/qcomarrays.xml
+++ b/res/values/qcomarrays.xml
@@ -577,6 +577,7 @@
<item>@string/pref_camera_advanced_feature_entry_refocus</item>
<item>@string/pref_camera_advanced_feature_entry_chromaflash</item>
<item>@string/pref_camera_advanced_feature_entry_optizoom</item>
+ <item>@string/pref_camera_advanced_feature_entry_trueportrait</item>
</string-array>
<string-array name="pref_camera_advanced_features_entryvalues" translatable="false">
@@ -585,6 +586,7 @@
<item>@string/pref_camera_advanced_feature_value_refocus_on</item>
<item>@string/pref_camera_advanced_feature_value_chromaflash_on</item>
<item>@string/pref_camera_advanced_feature_value_optizoom_on</item>
+ <item>@string/pref_camera_advanced_feature_value_trueportrait_on</item>
</string-array>
<!-- Camera Preferences Long Shot dialog box entries -->
diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml
index 07bc7f445..29c33bf8c 100644
--- a/res/values/qcomstrings.xml
+++ b/res/values/qcomstrings.xml
@@ -145,6 +145,7 @@
<string name="pref_camera_advanced_feature_entry_refocus">Refocus</string>
<string name="pref_camera_advanced_feature_entry_chromaflash">Chroma Flash</string>
<string name="pref_camera_advanced_feature_entry_optizoom">Opti Zoom</string>
+ <string name="pref_camera_advanced_feature_entry_trueportrait">True Portrait</string>
<!-- Auto exposure entry values. Do not translate. -->
<string name="pref_camera_advanced_feature_value_none">none</string>
@@ -152,10 +153,12 @@
<string name="pref_camera_advanced_feature_value_refocus_on">re-focus-on</string>
<string name="pref_camera_advanced_feature_value_chromaflash_on">chroma-flash-on</string>
<string name="pref_camera_advanced_feature_value_optizoom_on">opti-zoom-on</string>
+ <string name="pref_camera_advanced_feature_value_trueportrait_on">true-portrait-on</string>
<string name="pref_camera_advanced_feature_value_ubifocus_off">af-bracket-off</string>
<string name="pref_camera_advanced_feature_value_refocus_off">re-focus-off</string>
<string name="pref_camera_advanced_feature_value_chromaflash_off">chroma-flash-off</string>
<string name="pref_camera_advanced_feature_value_optizoom_off">opti-zoom-off</string>
+ <string name="pref_camera_advanced_feature_value_trueportrait_off">true-portrait-off</string>
<!-- Settings screen, ZSL location dialog choices -->
<string name="pref_camera_zsl_entry_off">Off</string>
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 8a84326ff..e1e964bc0 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -120,6 +120,7 @@ public class CameraSettings {
private static final String KEY_QC_SUPPORTED_RE_FOCUS_MODES = "re-focus-values";
private static final String KEY_QC_SUPPORTED_CF_MODES = "chroma-flash-values";
private static final String KEY_QC_SUPPORTED_OZ_MODES = "opti-zoom-values";
+ private static final String KEY_QC_SUPPORTED_TP_MODES = "true-portrait-values";
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_CDS_MODES = "cds-mode-values";
@@ -135,6 +136,7 @@ public class CameraSettings {
public static final String KEY_QC_LEGACY_BURST = "snapshot-burst-num";
public static final String KEY_QC_CHROMA_FLASH = "chroma-flash";
public static final String KEY_QC_OPTI_ZOOM = "opti-zoom";
+ public static final String KEY_QC_TP = "true-portrait";
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";
@@ -341,6 +343,7 @@ public class CameraSettings {
String str = params.get(KEY_QC_SUPPORTED_AF_BRACKETING_MODES);
str += ',' + params.get(KEY_QC_SUPPORTED_CF_MODES);
str += ',' + params.get(KEY_QC_SUPPORTED_OZ_MODES);
+ str += ',' + params.get(KEY_QC_SUPPORTED_TP_MODES);
str += ',' + mContext.getString(R.string.pref_camera_advanced_feature_default);
str += ',' + params.get(KEY_QC_SUPPORTED_RE_FOCUS_MODES);
return split(str);
@@ -378,6 +381,13 @@ public class CameraSettings {
return split(str);
}
+ public static List<String> getSupportedTruePortraitModes(Parameters params) {
+ String str = params.get(KEY_QC_SUPPORTED_TP_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.
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index 3132a7928..21446baa6 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -330,6 +330,8 @@ public class PhotoMenu extends PieController
pref_camera_advanced_feature_value_chromaflash_on);
String optiZoomOn = mActivity.getString(R.string.
pref_camera_advanced_feature_value_optizoom_on);
+ String truePortraitOn = mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_trueportrait_on);
if ((zsl != null) && Parameters.ZSL_OFF.equals(zsl)) {
popup3.overrideSettings(CameraSettings.KEY_ADVANCED_FEATURES,
@@ -346,7 +348,8 @@ public class PhotoMenu extends PieController
if ((advancedFeatures != null) && (advancedFeatures.equals(ubiFocusOn) ||
advancedFeatures.equals(chromaFlashOn) ||
advancedFeatures.equals(reFocusOn) ||
- advancedFeatures.equals(optiZoomOn))) {
+ advancedFeatures.equals(optiZoomOn) ||
+ advancedFeatures.equals(truePortraitOn))) {
popup3.setPreferenceEnabled(CameraSettings.KEY_FOCUS_MODE,false);
popup3.setPreferenceEnabled(CameraSettings.KEY_FLASH_MODE,false);
popup3.setPreferenceEnabled(CameraSettings.KEY_AE_BRACKET_HDR,false);
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index cefdeaea6..9ff97d5d5 100644
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -1576,6 +1576,8 @@ public class PhotoModule
pref_camera_advanced_feature_value_chromaflash_on);
String optiZoomOn = mActivity.getString(R.string.
pref_camera_advanced_feature_value_optizoom_on);
+ String truPortraitOn = mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_trueportrait_on);
String optiZoom =
mParameters.get(CameraSettings.KEY_QC_OPTI_ZOOM);
String chromaFlash =
@@ -1584,6 +1586,8 @@ public class PhotoModule
mParameters.get(CameraSettings.KEY_QC_AF_BRACKETING);
String continuousShot =
mParameters.get("long-shot");
+ String truePortrait =
+ mParameters.get(CameraSettings.KEY_QC_TP);
if ((continuousShot != null) && continuousShot.equals(continuousShotOn)) {
String pictureFormat = mActivity.getString(R.string.
@@ -1605,7 +1609,8 @@ public class PhotoModule
if ((ubiFocus != null && ubiFocus.equals(ubiFocusOn)) ||
(reFocus != null && reFocus.equals(reFocusOn)) ||
(chromaFlash != null && chromaFlash.equals(chromaFlashOn)) ||
- (optiZoom != null && optiZoom.equals(optiZoomOn))) {
+ (optiZoom != null && optiZoom.equals(optiZoomOn)) ||
+ (truePortrait != null && truePortrait.equals(truPortraitOn))) {
mSceneMode = sceneMode = Parameters.SCENE_MODE_AUTO;
flashMode = Parameters.FLASH_MODE_OFF;
focusMode = Parameters.FOCUS_MODE_INFINITY;
@@ -2545,7 +2550,8 @@ public class PhotoModule
private void qcomUpdateAdvancedFeatures(String ubiFocus,
String chromaFlash,
String reFocus,
- String optiZoom) {
+ String optiZoom,
+ String truePortrait) {
if (CameraUtil.isSupported(ubiFocus,
CameraSettings.getSupportedAFBracketingModes(mParameters))) {
mParameters.set(CameraSettings.KEY_QC_AF_BRACKETING, ubiFocus);
@@ -2562,6 +2568,10 @@ public class PhotoModule
CameraSettings.getSupportedRefocusModes(mParameters))) {
mParameters.set(CameraSettings.KEY_QC_RE_FOCUS, reFocus);
}
+ if (CameraUtil.isSupported(truePortrait,
+ CameraSettings.getSupportedTruePortraitModes(mParameters))) {
+ mParameters.set(CameraSettings.KEY_QC_TP, truePortrait);
+ }
}
/** This can run on a background thread, so don't do UI updates here.*/
@@ -2791,37 +2801,51 @@ public class PhotoModule
pref_camera_advanced_feature_value_optizoom_off);
String reFocusOff = mActivity.getString(R.string.
pref_camera_advanced_feature_value_refocus_off);
+ String truePortraitOff = mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_trueportrait_off);
if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_ubifocus_on))) {
qcomUpdateAdvancedFeatures(advancedFeature,
chromaFlashOff,
reFocusOff,
- optiZoomOff);
+ optiZoomOff,
+ truePortraitOff);
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_chromaflash_on))) {
qcomUpdateAdvancedFeatures(ubiFocusOff,
advancedFeature,
reFocusOff,
- optiZoomOff);
+ optiZoomOff,
+ truePortraitOff);
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_refocus_on))) {
qcomUpdateAdvancedFeatures(ubiFocusOff,
chromaFlashOff,
advancedFeature,
- optiZoomOff);
+ optiZoomOff,
+ truePortraitOff);
mRefocus = true;
} else if (advancedFeature.equals(mActivity.getString(R.string.
pref_camera_advanced_feature_value_optizoom_on))) {
qcomUpdateAdvancedFeatures(ubiFocusOff,
chromaFlashOff,
reFocusOff,
+ advancedFeature,
+ truePortraitOff);
+ } else if (advancedFeature.equals(mActivity.getString(R.string.
+ pref_camera_advanced_feature_value_trueportrait_on))) {
+ qcomUpdateAdvancedFeatures(ubiFocusOff,
+ chromaFlashOff,
+ reFocusOff,
+ optiZoomOff,
advancedFeature);
} else {
qcomUpdateAdvancedFeatures(ubiFocusOff,
chromaFlashOff,
reFocusOff,
- optiZoomOff);
+ optiZoomOff,
+ truePortraitOff);
}
}
// Set auto exposure parameter.