DO NOT MERGE 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: Ibaa62fc722d74840f159d6023af7ec1543ae4541
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);
}