diff options
-rw-r--r-- | res/values/qcomarrays.xml | 11 | ||||
-rw-r--r-- | res/values/qcomstrings.xml | 14 | ||||
-rw-r--r-- | res/xml/camera_preferences.xml | 7 | ||||
-rw-r--r-- | src/com/android/camera/CameraSettings.java | 17 | ||||
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 3 | ||||
-rw-r--r-- | src/com/android/camera/PhotoModule.java | 11 |
6 files changed, 62 insertions, 1 deletions
diff --git a/res/values/qcomarrays.xml b/res/values/qcomarrays.xml index 2b1fade1c..3a5387a22 100644 --- a/res/values/qcomarrays.xml +++ b/res/values/qcomarrays.xml @@ -607,5 +607,16 @@ <item>@string/pref_camera_auto_hdr_value_disable</item> </string-array> + <!-- Camera Preferences Selectable HDR modes dialog box entries --> + <string-array name="pref_camera_hdr_mode_entries" translatable="false"> + <item>@string/pref_camera_hdr_mode_entry_sensor</item> + <item>@string/pref_camera_hdr_mode_entry_multi_frame</item> + </string-array> + + <string-array name="pref_camera_hdr_mode_entryvalues" translatable="false"> + <item>@string/pref_hdr_mode_value_sensor</item> + <item>@string/pref_hdr_mode_value_multi_frame</item> + </string-array> + </resources> diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml index 620b70e42..2c93a7352 100644 --- a/res/values/qcomstrings.xml +++ b/res/values/qcomstrings.xml @@ -687,5 +687,19 @@ <!-- toast message for storage location switch --> <string name="on_switch_save_path_to_sdcard">Internal storage space is not enough - switched save path to SD card</string> + + <string name="pref_camera_hdr_mode_default">hdr-mode-sensor</string> + + <!-- Settings screen, Selectable HDR mode title --> + <string name="pref_camera_hdr_mode_title">HDR Mode</string> + + <!-- Settings screen, Selectable HDR mode radio button choices --> + <string name="pref_camera_hdr_mode_entry_sensor">Sensor HDR</string> + <string name="pref_camera_hdr_mode_entry_multi_frame">Multi-frame HDR</string> + + <!-- HDR mode entry values. Do not translate. --> + <string name="pref_hdr_mode_value_sensor">hdr-mode-sensor</string> + <string name="pref_hdr_mode_value_multi_frame">hdr-mode-multiframe</string> + </resources> diff --git a/res/xml/camera_preferences.xml b/res/xml/camera_preferences.xml index 02512ef7d..ab1e340f8 100644 --- a/res/xml/camera_preferences.xml +++ b/res/xml/camera_preferences.xml @@ -256,4 +256,11 @@ camera:title="@string/pref_camera_auto_hdr_title" camera:entries="@array/pref_camera_auto_hdr_entries" camera:entryValues="@array/pref_camera_auto_hdr_entryvalues" /> + + <ListPreference + camera:key="pref_camera_hdr_mode_key" + camera:defaultValue="@string/pref_camera_hdr_mode_default" + camera:title="@string/pref_camera_hdr_mode_title" + camera:entries="@array/pref_camera_hdr_mode_entries" + camera:entryValues="@array/pref_camera_hdr_mode_entryvalues" /> </PreferenceGroup> diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java index 721cd1c20..3a87652df 100644 --- a/src/com/android/camera/CameraSettings.java +++ b/src/com/android/camera/CameraSettings.java @@ -95,6 +95,7 @@ public class CameraSettings { public static final String KEY_REDEYE_REDUCTION = "pref_camera_redeyereduction_key"; public static final String KEY_AE_BRACKET_HDR = "pref_camera_ae_bracket_hdr_key"; public static final String KEY_ADVANCED_FEATURES = "pref_camera_advanced_features_key"; + public static final String KEY_HDR_MODE = "pref_camera_hdr_mode_key"; public static final String KEY_VIDEO_SNAPSHOT_SIZE = "pref_camera_videosnapsize_key"; public static final String KEY_VIDEO_HIGH_FRAME_RATE = "pref_camera_hfr_key"; @@ -115,6 +116,7 @@ public class CameraSettings { private static final String KEY_QC_SUPPORTED_OZ_MODES = "opti-zoom-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_SNAPCAM_SUPPORTED_HDR_MODES = "hdr-mode-values"; public static final String KEY_QC_AE_BRACKETING = "ae-bracket-hdr"; public static final String KEY_QC_AF_BRACKETING = "af-bracket"; public static final String KEY_QC_RE_FOCUS = "re-focus"; @@ -124,6 +126,7 @@ public class CameraSettings { public static final String KEY_QC_OPTI_ZOOM = "opti-zoom"; public static final String KEY_QC_FACE_RECOGNITION = "face-recognition"; public static final String KEY_QC_DIS_MODE = "dis"; + public static final String KEY_SNAPCAM_HDR_MODE = "hdr-mode"; public static final String KEY_INTERNAL_PREVIEW_RESTART = "internal-restart"; public static final String KEY_QC_ZSL_HDR_SUPPORTED = "zsl-hdr-supported"; @@ -268,6 +271,14 @@ public class CameraSettings { return split(str); } + public static List<String> getSupportedHDRModes(Parameters params) { + String str = params.get(KEY_SNAPCAM_SUPPORTED_HDR_MODES); + if (str == null) { + return null; + } + return split(str); + } + public List<String> getSupportedAdvancedFeatures(Parameters params) { String str = params.get(KEY_QC_SUPPORTED_AF_BRACKETING_MODES); str += ',' + params.get(KEY_QC_SUPPORTED_CF_MODES); @@ -367,6 +378,12 @@ public class CameraSettings { ListPreference hfr = group.findPreference(KEY_VIDEO_HIGH_FRAME_RATE); ListPreference longShot = group.findPreference(KEY_LONGSHOT); ListPreference auto_hdr = group.findPreference(KEY_AUTO_HDR); + ListPreference hdr_mode = group.findPreference(KEY_HDR_MODE); + + if (hdr_mode != null) { + filterUnsupportedOptions(group, + hdr_mode, getSupportedHDRModes(mParameters)); + } if (touchAfAec != null) { filterUnsupportedOptions(group, diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index 98dd9baf5..ebafd0fa4 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -104,7 +104,8 @@ public class PhotoMenu extends PieController CameraSettings.KEY_TIMER_SOUND_EFFECTS, CameraSettings.KEY_CAMERA_SAVEPATH, CameraSettings.KEY_LONGSHOT, - CameraSettings.KEY_AUTO_HDR + CameraSettings.KEY_AUTO_HDR, + CameraSettings.KEY_HDR_MODE }; mOtherKeys2 = new String[] { diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java index 2e5466c62..373c1cf59 100644 --- a/src/com/android/camera/PhotoModule.java +++ b/src/com/android/camera/PhotoModule.java @@ -2631,6 +2631,17 @@ public class PhotoModule CameraSettings.getSupportedAEBracketingModes(mParameters))) { mParameters.set(CameraSettings.KEY_QC_AE_BRACKETING, aeBracketing); } + + // Set hdr mode + String hdrMode = mPreferences.getString( + CameraSettings.KEY_HDR_MODE, + mActivity.getString(R.string.pref_camera_hdr_mode_default)); + Log.v(TAG, "HDR Mode value =" + hdrMode); + if (CameraUtil.isSupported(hdrMode, + CameraSettings.getSupportedHDRModes(mParameters))) { + mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, hdrMode); + } + // Set Advanced features. String advancedFeature = mPreferences.getString( CameraSettings.KEY_ADVANCED_FEATURES, |