summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDaniel Bateman <jetison.24@gmail.com>2012-09-28 02:16:11 -0500
committerRicardo Cerqueira <cyanogenmod@cerqueira.org>2012-11-19 01:26:17 +0000
commitc9cc0ee87d83be4e5c880f43cf4b349cc1c14227 (patch)
treef3d7e6ad0e433672a44e45e455cf3ba7400e1d84 /src
parentb7bea4ff59d47aa3fd6cb143541c60fc264145aa (diff)
downloadandroid_packages_apps_Trebuchet-c9cc0ee87d83be4e5c880f43cf4b349cc1c14227.tar.gz
android_packages_apps_Trebuchet-c9cc0ee87d83be4e5c880f43cf4b349cc1c14227.tar.bz2
android_packages_apps_Trebuchet-c9cc0ee87d83be4e5c880f43cf4b349cc1c14227.zip
Trebuchet: Only mark preferences changed when they actually are
Otherwise a redraw is forced by just entering the launcher settings. Change-Id: Iafbd20368650bc4ea751976892d7184248937118
Diffstat (limited to 'src')
-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();
+ }
+
}