diff options
Diffstat (limited to 'src/com/cyanogenmod/trebuchet/preference/Preferences.java')
-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(); + } + } |