summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Bateman <jetison.24@gmail.com>2012-09-28 02:16:11 -0500
committerDaniel Bateman <jetison.24@gmail.com>2012-09-28 02:53:51 -0500
commit8401ba26bcddeea6cbda3a5113835bfdeb923cb1 (patch)
tree1a2fe9707dde504529374c55c139c98a07692159
parent9d86b9717b67b365e6e2e586c6703540d22c5e68 (diff)
downloadandroid_packages_apps_Trebuchet-8401ba26bcddeea6cbda3a5113835bfdeb923cb1.tar.gz
android_packages_apps_Trebuchet-8401ba26bcddeea6cbda3a5113835bfdeb923cb1.tar.bz2
android_packages_apps_Trebuchet-8401ba26bcddeea6cbda3a5113835bfdeb923cb1.zip
Trebuchet: Only mark preferences changed when they actually are
Otherwise a redraw is forced by just entering the launcher settings. Change-Id: Iafbd20368650bc4ea751976892d7184248937118
-rw-r--r--src/com/cyanogenmod/trebuchet/preference/Preferences.java31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/com/cyanogenmod/trebuchet/preference/Preferences.java b/src/com/cyanogenmod/trebuchet/preference/Preferences.java
index 147308d63..8f90c4f47 100644
--- a/src/com/cyanogenmod/trebuchet/preference/Preferences.java
+++ b/src/com/cyanogenmod/trebuchet/preference/Preferences.java
@@ -24,22 +24,41 @@ import android.preference.PreferenceActivity;
import com.cyanogenmod.trebuchet.R;
-public class Preferences extends PreferenceActivity {
+public class Preferences extends PreferenceActivity
+ implements SharedPreferences.OnSharedPreferenceChangeListener {
private static final String TAG = "Launcher.Preferences";
+ private SharedPreferences mPrefs;
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
- SharedPreferences prefs =
- getSharedPreferences(PreferencesProvider.PREFERENCES_KEY, Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = prefs.edit();
- editor.putBoolean(PreferencesProvider.PREFERENCES_CHANGED, true);
- editor.commit();
+ mPrefs = getSharedPreferences(PreferencesProvider.PREFERENCES_KEY,
+ Context.MODE_PRIVATE);
Preference version = findPreference("application_version");
version.setTitle(getString(R.string.application_name) + " " + getString(R.string.application_version));
}
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ mPrefs.registerOnSharedPreferenceChangeListener(this);
+ }
+
+ @Override
+ protected void onPause() {
+ mPrefs.unregisterOnSharedPreferenceChangeListener(this);
+ super.onPause();
+ }
+
+ public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
+ SharedPreferences.Editor editor = mPrefs.edit();
+ editor.putBoolean(PreferencesProvider.PREFERENCES_CHANGED, true);
+ editor.commit();
+ }
+
}