summaryrefslogtreecommitdiffstats
path: root/src/com/android/camera/SettingsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/camera/SettingsActivity.java')
-rwxr-xr-xsrc/com/android/camera/SettingsActivity.java46
1 files changed, 43 insertions, 3 deletions
diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java
index cdfb9d625..a06dc5c20 100755
--- a/src/com/android/camera/SettingsActivity.java
+++ b/src/com/android/camera/SettingsActivity.java
@@ -115,7 +115,10 @@ public class SettingsActivity extends PreferenceActivity {
Map<String, SettingsManager.Values> map = mSettingsManager.getValuesMap();
for( SettingsManager.SettingState state : settings) {
SettingsManager.Values values = map.get(state.key);
- boolean enabled = values.overriddenValue == null;
+ boolean enabled = false;
+ if (values != null) {
+ enabled = values.overriddenValue == null;
+ }
Preference pref = findPreference(state.key);
if ( pref == null ) return;
@@ -143,13 +146,27 @@ public class SettingsActivity extends PreferenceActivity {
pref, "Off", "0");
}
+ if ((pref.getKey().equals(SettingsManager.KEY_ZSL) ||
+ pref.getKey().equals(SettingsManager.KEY_PICTURE_FORMAT)) ||
+ pref.getKey().equals(SettingsManager.KEY_SELFIEMIRROR)) {
+ updateFormatPreference();
+ }
+
if ( (pref.getKey().equals(SettingsManager.KEY_MANUAL_WB)) ) {
updateManualWBSettings();
}
+
+ if (pref.getKey().equals(SettingsManager.KEY_DIS) ||
+ pref.getKey().equals(SettingsManager.KEY_EIS_VALUE)) {
+ mSettingsManager.filterEISVideQualityOptions();
+ updatePreference(SettingsManager.KEY_VIDEO_QUALITY);
+ }
+
}
}
};
+
/**
* This method is to enable or disable the option which is conflict with changed setting
* @param conflictKey key you want to change after setting is changed
@@ -169,6 +186,29 @@ public class SettingsActivity extends PreferenceActivity {
}
}
+ private void updateFormatPreference() {
+ ListPreference formatPref = (ListPreference)findPreference(SettingsManager.KEY_PICTURE_FORMAT);
+ ListPreference ZSLPref = (ListPreference) findPreference(SettingsManager.KEY_ZSL);
+ ListPreference mfnrPref = (ListPreference) findPreference(SettingsManager.KEY_CAPTURE_MFNR_VALUE);
+ SwitchPreference selfiePref = (SwitchPreference) findPreference(SettingsManager.KEY_SELFIEMIRROR);
+ if (formatPref == null) {
+ return;
+ }
+ if((ZSLPref != null && "app-zsl".equals(ZSLPref.getValue())) ||
+ (selfiePref != null && selfiePref.isChecked())){
+ formatPref.setValue("0");
+ formatPref.setEnabled(false);
+ if (mfnrPref != null) {
+ mfnrPref.setEnabled(false);
+ }
+ } else {
+ formatPref.setEnabled(true);
+ if (mfnrPref != null) {
+ mfnrPref.setEnabled(true);
+ }
+ }
+ }
+
private void UpdateManualExposureSettings() {
//dismiss all popups first, because we need to show edit dialog
int cameraId = mSettingsManager.getCurrentCameraId();
@@ -783,14 +823,14 @@ public class SettingsActivity extends PreferenceActivity {
pref.setEntries(mSettingsManager.getEntries(key));
pref.setEntryValues(mSettingsManager.getEntryValues(key));
String values = mSettingsManager.getValue(key);
+ Set<String> valueSet = new HashSet<String>();
if (values != null) {
- Set<String> valueSet = new HashSet<String>();
String[] splitValues = values.split(";");
for (String str : splitValues) {
valueSet.add(str);
}
- pref.setValues(valueSet);
}
+ pref.setValues(valueSet);
}
}
}