summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/CameraSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/CameraSettings.java')
-rw-r--r--src/com/android/camera/CameraSettings.java20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/com/android/camera/CameraSettings.java b/src/com/android/camera/CameraSettings.java
index 66a022b2d..bc717c71f 100644
--- a/src/com/android/camera/CameraSettings.java
+++ b/src/com/android/camera/CameraSettings.java
@@ -931,7 +931,7 @@ public class CameraSettings {
if (chromaFlash != null) {
List<String> supportedAdvancedFeatures =
getSupportedAdvancedFeatures(mParameters);
- if (!CameraUtil.isSupported(
+ if (hasChromaFlashScene(mContext) || !CameraUtil.isSupported(
mContext.getString(R.string
.pref_camera_advanced_feature_value_chromaflash_on),
supportedAdvancedFeatures)) {
@@ -957,6 +957,13 @@ public class CameraSettings {
supportedSceneModes.add(mContext.getString(R.string
.pref_camera_advanced_feature_value_optizoom_on));
}
+ if (hasChromaFlashScene(mContext) && CameraUtil.isSupported(
+ mContext.getString(R.string
+ .pref_camera_advanced_feature_value_chromaflash_on),
+ supportedAdvancedFeatures)) {
+ supportedSceneModes.add(mContext.getString(R.string
+ .pref_camera_advanced_feature_value_chromaflash_on));
+ }
filterUnsupportedOptions(group, sceneMode, supportedSceneModes);
}
if (flashMode != null) {
@@ -1411,4 +1418,15 @@ public class CameraSettings {
return split(str);
}
+ public static boolean hasChromaFlashScene(Context context) {
+ String[] sceneModes = context.getResources().getStringArray(
+ R.array.pref_camera_scenemode_entryvalues);
+ for (String mode : sceneModes) {
+ if (mode.equals(context.getResources().getString(R.string
+ .pref_camera_advanced_feature_value_chromaflash_on))) {
+ return true;
+ }
+ }
+ return false;
+ }
}