diff options
-rw-r--r-- | src/com/android/camera/PhotoMenu.java | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/src/com/android/camera/PhotoMenu.java b/src/com/android/camera/PhotoMenu.java index f8d95b3f0..be3a02c1f 100644 --- a/src/com/android/camera/PhotoMenu.java +++ b/src/com/android/camera/PhotoMenu.java @@ -541,6 +541,7 @@ public class PhotoMenu extends MenuController ListPreference pref = mPreferenceGroup.findPreference( CameraSettings.KEY_SCENE_MODE); + updateFilterModeIcon(pref, mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_HDR)); String sceneMode = (pref != null) ? pref.getValue() : null; pref = mPreferenceGroup.findPreference(CameraSettings.KEY_FACE_DETECTION); String faceDetection = (pref != null) ? pref.getValue() : null; @@ -629,20 +630,21 @@ public class PhotoMenu extends MenuController } } - pref = mPreferenceGroup.findPreference(CameraSettings.KEY_SCENE_MODE); - if (pref != null) { - if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) { - buttonSetEnabled(mFilterModeSwitcher, false); - } else { - buttonSetEnabled(mFilterModeSwitcher, true); - } - } - if (mListener != null) { mListener.onSharedPreferenceChanged(); } } + private void updateFilterModeIcon(ListPreference scenePref, ListPreference hdrPref) { + if (scenePref == null || hdrPref == null) return; + if ((notSame(scenePref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) + || (notSame(hdrPref, CameraSettings.KEY_CAMERA_HDR, mSettingOff))) { + buttonSetEnabled(mFilterModeSwitcher, false); + } else { + buttonSetEnabled(mFilterModeSwitcher, true); + } + } + public void initSwitchItem(final String prefKey, View switcher) { final IconListPreference pref = (IconListPreference) mPreferenceGroup.findPreference(prefKey); @@ -1072,6 +1074,7 @@ public class PhotoMenu extends MenuController Toast.LENGTH_LONG).show(); } setPreference(CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO); + updateSceneModeIcon((IconListPreference) scenePref); } else if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) { ListPreference hdrPref = mPreferenceGroup.findPreference(CameraSettings.KEY_CAMERA_HDR); @@ -1126,12 +1129,7 @@ public class PhotoMenu extends MenuController mActivity.getString(R.string.pref_camera_advanced_feature_default)); } } - - if (notSame(pref, CameraSettings.KEY_SCENE_MODE, Parameters.SCENE_MODE_AUTO)) { - buttonSetEnabled(mFilterModeSwitcher, false); - } else { - buttonSetEnabled(mFilterModeSwitcher, true); - } + updateFilterModeIcon(pref, pref); super.onSettingChanged(pref); } |