diff options
author | Daniel Bateman <jetison.24@gmail.com> | 2012-09-28 02:16:11 -0500 |
---|---|---|
committer | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2012-11-19 01:26:17 +0000 |
commit | c9cc0ee87d83be4e5c880f43cf4b349cc1c14227 (patch) | |
tree | f3d7e6ad0e433672a44e45e455cf3ba7400e1d84 | |
parent | b7bea4ff59d47aa3fd6cb143541c60fc264145aa (diff) | |
download | packages_apps_trebuchet-c9cc0ee87d83be4e5c880f43cf4b349cc1c14227.zip packages_apps_trebuchet-c9cc0ee87d83be4e5c880f43cf4b349cc1c14227.tar.gz packages_apps_trebuchet-c9cc0ee87d83be4e5c880f43cf4b349cc1c14227.tar.bz2 |
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 147308d..8f90c4f 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(); + } + } |