diff options
author | Daniel Bateman <jetison.24@gmail.com> | 2012-09-28 02:16:11 -0500 |
---|---|---|
committer | Daniel Bateman <jetison.24@gmail.com> | 2012-09-28 02:53:51 -0500 |
commit | 8401ba26bcddeea6cbda3a5113835bfdeb923cb1 (patch) | |
tree | 1a2fe9707dde504529374c55c139c98a07692159 | |
parent | 9d86b9717b67b365e6e2e586c6703540d22c5e68 (diff) | |
download | android_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.java | 31 |
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(); + } + } |