summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--res/values/qcomarrays.xml11
-rw-r--r--res/values/qcomstrings.xml20
-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
-rwxr-xr-xsrc/com/android/camera/PhotoModule.java10
6 files changed, 64 insertions, 4 deletions
diff --git a/res/values/qcomarrays.xml b/res/values/qcomarrays.xml
index f7d127993..39f177adf 100644
--- a/res/values/qcomarrays.xml
+++ b/res/values/qcomarrays.xml
@@ -620,5 +620,16 @@
<item>@string/pref_hdr_mode_value_multi_frame</item>
</string-array>
+ <!-- Camera Preferences Selectable HDR need 1x frame -->
+ <string-array name="pref_camera_hdr_need_1x_entries" translatable="false">
+ <item>@string/pref_camera_hdr_need_1x_entry_false</item>
+ <item>@string/pref_camera_hdr_need_1x_entry_true</item>
+ </string-array>
+
+ <string-array name="pref_camera_hdr_need_1x_entryvalues" translatable="false">
+ <item>@string/pref_hdr_need_1x_value_false</item>
+ <item>@string/pref_hdr_need_1x_value_true</item>
+ </string-array>
+
</resources>
diff --git a/res/values/qcomstrings.xml b/res/values/qcomstrings.xml
index c9bbaaadd..9c5865942 100644
--- a/res/values/qcomstrings.xml
+++ b/res/values/qcomstrings.xml
@@ -698,9 +698,23 @@
<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>
+ <!-- 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>
+
+ <!-- Settings screen, Selectable HDR need 1x frame default value -->
+ <string name="pref_camera_hdr_need_1x_default">true</string>
+
+ <!-- Settings screen, Selectable HDR need 1x frame title -->
+ <string name="pref_camera_hdr_need_1x_title">HDR need 1x frame</string>
+
+ <!-- Settings screen, Selectable HDR need 1x frame radio button choices -->
+ <string name="pref_camera_hdr_need_1x_entry_false">False</string>
+ <string name="pref_camera_hdr_need_1x_entry_true">True</string>
+
+ <!-- HDR need 1x frame entry values. Do not translate. -->
+ <string name="pref_hdr_need_1x_value_false">false</string>
+ <string name="pref_hdr_need_1x_value_true">true</string>
<!--Default video rotation setting-->
<string name="pref_camera_video_rotation_default" translatable="false">0</string>
diff --git a/res/xml/camera_preferences.xml b/res/xml/camera_preferences.xml
index ab1e340f8..d7f245343 100644
--- a/res/xml/camera_preferences.xml
+++ b/res/xml/camera_preferences.xml
@@ -263,4 +263,11 @@
camera:title="@string/pref_camera_hdr_mode_title"
camera:entries="@array/pref_camera_hdr_mode_entries"
camera:entryValues="@array/pref_camera_hdr_mode_entryvalues" />
+
+ <ListPreference
+ camera:key="pref_camera_hdr_need_1x_key"
+ camera:defaultValue="@string/pref_camera_hdr_need_1x_default"
+ camera:title="@string/pref_camera_hdr_need_1x_title"
+ camera:entries="@array/pref_camera_hdr_need_1x_entries"
+ camera:entryValues="@array/pref_camera_hdr_need_1x_entryvalues" />
</PreferenceGroup>
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index c0c8a4092..1232d09ac 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -96,6 +96,7 @@ public class CameraSettings {
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_HDR_NEED_1X = "pref_camera_hdr_need_1x_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";
@@ -117,6 +118,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_SNAPCAM_SUPPORTED_HDR_MODES = "hdr-mode-values";
+ private static final String KEY_SNAPCAM_SUPPORTED_HDR_NEED_1X = "hdr-need-1x-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";
@@ -127,6 +129,7 @@ public class CameraSettings {
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_SNAPCAM_HDR_NEED_1X = "hdr-need-1x";
public static final String KEY_VIDEO_HSR = "video-hsr";
public static final String KEY_INTERNAL_PREVIEW_RESTART = "internal-restart";
@@ -281,6 +284,14 @@ public class CameraSettings {
return split(str);
}
+ public static List<String> getSupportedHDRNeed1x(Parameters params) {
+ String str = params.get(KEY_SNAPCAM_SUPPORTED_HDR_NEED_1X);
+ 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);
@@ -380,6 +391,12 @@ public class CameraSettings {
ListPreference longShot = group.findPreference(KEY_LONGSHOT);
ListPreference auto_hdr = group.findPreference(KEY_AUTO_HDR);
ListPreference hdr_mode = group.findPreference(KEY_HDR_MODE);
+ ListPreference hdr_need_1x = group.findPreference(KEY_HDR_NEED_1X);
+
+ if (hdr_need_1x != null) {
+ filterUnsupportedOptions(group,
+ hdr_need_1x, getSupportedHDRNeed1x(mParameters));
+ }
if (hdr_mode != null) {
filterUnsupportedOptions(group,
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java
index ebafd0fa4..78ab98c5d 100644
--- a/src/com/android/camera/PhotoMenu.java
+++ b/src/com/android/camera/PhotoMenu.java
@@ -105,7 +105,8 @@ public class PhotoMenu extends PieController
CameraSettings.KEY_CAMERA_SAVEPATH,
CameraSettings.KEY_LONGSHOT,
CameraSettings.KEY_AUTO_HDR,
- CameraSettings.KEY_HDR_MODE
+ CameraSettings.KEY_HDR_MODE,
+ CameraSettings.KEY_HDR_NEED_1X
};
mOtherKeys2 = new String[] {
diff --git a/src/com/android/camera/PhotoModule.java b/src/com/android/camera/PhotoModule.java
index b5208e7ed..b81e96f0f 100755
--- a/src/com/android/camera/PhotoModule.java
+++ b/src/com/android/camera/PhotoModule.java
@@ -2639,6 +2639,16 @@ public class PhotoModule
mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_MODE, hdrMode);
}
+ // Set hdr need 1x
+ String hdrNeed1x = mPreferences.getString(
+ CameraSettings.KEY_HDR_NEED_1X,
+ mActivity.getString(R.string.pref_camera_hdr_need_1x_default));
+ Log.v(TAG, "HDR need 1x value =" + hdrNeed1x);
+ if (CameraUtil.isSupported(hdrNeed1x,
+ CameraSettings.getSupportedHDRNeed1x(mParameters))) {
+ mParameters.set(CameraSettings.KEY_SNAPCAM_HDR_NEED_1X, hdrNeed1x);
+ }
+
// Set Advanced features.
String advancedFeature = mPreferences.getString(
CameraSettings.KEY_ADVANCED_FEATURES,