summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/qcomarrays.xml11
-rw-r--r--res/values/qcomstrings.xml14
-rw-r--r--res/xml/camera_preferences.xml7
-rw-r--r--src/com/android/camera/CameraSettings.java17
-rw-r--r--src/com/android/camera/PhotoMenu.java3
-rw-r--r--src/com/android/camera/PhotoModule.java11
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,