summaryrefslogtreecommitdiffstats
path: root/src/com
diff options
context:
space:
mode:
authorweijiew <weijiew@codeaurora.org>2016-11-10 14:13:29 +0800
committerweijiew <weijiew@codeaurora.org>2016-11-18 11:21:03 +0800
commit99531a0cef9b846134802940de64174696703778 (patch)
tree486172b079b6cdb0c9124090ede574181b5117e6 /src/com
parentc6fb74a0f63210f1991686e4303ed928b23e5b4b (diff)
downloadandroid_packages_apps_Snap-99531a0cef9b846134802940de64174696703778.tar.gz
android_packages_apps_Snap-99531a0cef9b846134802940de64174696703778.tar.bz2
android_packages_apps_Snap-99531a0cef9b846134802940de64174696703778.zip
SnapdragonCamera: Selfie mirror doesn't work when open the Continuous shot
Selfie mirror doesn't support continuous shot. Disable continuous shot when selfie mirror is turned on Change-Id: I4e17895f0b15d04dd6f0f56eae17f091104e3a59 CRs-Fixed: 1086429
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/camera/SettingsActivity.java37
-rw-r--r--src/com/android/camera/SettingsManager.java4
2 files changed, 35 insertions, 6 deletions
diff --git a/src/com/android/camera/SettingsActivity.java b/src/com/android/camera/SettingsActivity.java
index 503927904..e97073f58 100644
--- a/src/com/android/camera/SettingsActivity.java
+++ b/src/com/android/camera/SettingsActivity.java
@@ -89,6 +89,20 @@ public class SettingsActivity extends PreferenceActivity {
}
};
+ private SettingsManager.Listener mListener = new SettingsManager.Listener(){
+ @Override
+ public void onSettingsChanged(List<SettingsManager.SettingState> settings){
+ Map<String, SettingsManager.Values> map = mSettingsManager.getValuesMap();
+ for( SettingsManager.SettingState state : settings) {
+ SettingsManager.Values values = map.get(state.key);
+ boolean enabled = values.overriddenValue == null;
+ Preference pref = findPreference(state.key);
+ if (pref != null) {
+ pref.setEnabled(enabled);
+ }
+ }
+ }
+ };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -102,6 +116,7 @@ public class SettingsActivity extends PreferenceActivity {
finish();
return;
}
+ mSettingsManager.registerListener(mListener);
addPreferencesFromResource(R.xml.setting_menu_preferences);
mSharedPreferences = getPreferenceManager().getSharedPreferences();
@@ -207,12 +222,16 @@ public class SettingsActivity extends PreferenceActivity {
private void updatePreferenceButton(String key) {
Preference pref = findPreference(key);
- if (pref != null && pref instanceof ListPreference) {
- ListPreference pref2 = (ListPreference) pref;
- if (pref2.getEntryValues().length == 1) {
- pref2.setEnabled(false);
- } else {
- pref2.setEnabled(true);
+ if (pref != null ) {
+ if( pref instanceof ListPreference) {
+ ListPreference pref2 = (ListPreference) pref;
+ if (pref2.getEntryValues().length == 1) {
+ pref2.setEnabled(false);
+ } else {
+ pref2.setEnabled(true);
+ }
+ }else {
+ pref.setEnabled(false);
}
}
}
@@ -243,6 +262,12 @@ public class SettingsActivity extends PreferenceActivity {
finish();
}
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ mSettingsManager.unregisterListener(mListener);
+ }
+
private void setShowInLockScreen() {
// Change the window flags so that secure camera can show when locked
Window win = getWindow();
diff --git a/src/com/android/camera/SettingsManager.java b/src/com/android/camera/SettingsManager.java
index f64d64a01..92042bd57 100644
--- a/src/com/android/camera/SettingsManager.java
+++ b/src/com/android/camera/SettingsManager.java
@@ -419,6 +419,10 @@ public class SettingsManager implements ListMenu.SettingsListener {
mListeners.add(listener);
}
+ public void unregisterListener(Listener listener) {
+ mListeners.remove(listener);
+ }
+
private void notifyListeners(List<SettingState> changes) {
for (Listener listener : mListeners) {
listener.onSettingsChanged(changes);