Fix widget update listener
Bug: 4193627
Just need to expand the lifecycle during which we listen for preference changes
Specifically, instead of listening between onResume and onPause, listen between
onCreate and onDestroy since the dialog that sets the preference will cause the
fragment to receive an onPause.
Change-Id: I531d2b082f3a9e0ffdbf1051bebb0f4c17e15c63
diff --git a/src/com/android/browser/preferences/GeneralPreferencesFragment.java b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
index d64f062..0c63ab5 100644
--- a/src/com/android/browser/preferences/GeneralPreferencesFragment.java
+++ b/src/com/android/browser/preferences/GeneralPreferencesFragment.java
@@ -68,6 +68,8 @@
.getString(BrowserSettings.PREF_HOMEPAGE, null));
((BrowserHomepagePreference) e).setCurrentPage(
getActivity().getIntent().getStringExtra(BrowserPreferencesPage.CURRENT_PAGE));
+ mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
+ mSharedPrefs.registerOnSharedPreferenceChangeListener(mListener);
}
@Override
@@ -94,13 +96,11 @@
// Setup the proper state for the sync with chrome item
mChromeSync = findPreference(PREF_CHROME_SYNC);
refreshUi();
- mSharedPrefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
- mSharedPrefs.registerOnSharedPreferenceChangeListener(mListener);
}
@Override
- public void onPause() {
- super.onPause();
+ public void onDestroy() {
+ super.onDestroy();
mSharedPrefs.unregisterOnSharedPreferenceChangeListener(mListener);
}