diff options
author | Amith Yamasani <yamasani@google.com> | 2011-06-14 15:07:49 -0700 |
---|---|---|
committer | Amith Yamasani <yamasani@google.com> | 2011-06-14 15:07:49 -0700 |
commit | c56fc753e2e2d35221a1a4df353a435098268ec4 (patch) | |
tree | 7482d632503e31c7f1da8e8c62e05c078d058b0b /core | |
parent | 700a1f25719138b94c453beb6325e627a11a9883 (diff) | |
download | frameworks_base-c56fc753e2e2d35221a1a4df353a435098268ec4.zip frameworks_base-c56fc753e2e2d35221a1a4df353a435098268ec4.tar.gz frameworks_base-c56fc753e2e2d35221a1a4df353a435098268ec4.tar.bz2 |
Stability fixes for PreferenceFragments.
Unregister the click listener as early as possible, so that clicks
don't get delivered after the activity is detached.
Bug: 4599586
This should also fix: 4603030, 4601105, 4598715, 4598712.
Change-Id: I7bcff719bed14ea61b482bd6d29ae1fa5e322e41
Diffstat (limited to 'core')
-rw-r--r-- | core/java/android/preference/PreferenceFragment.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/core/java/android/preference/PreferenceFragment.java b/core/java/android/preference/PreferenceFragment.java index 4e22ba0..7766b54 100644 --- a/core/java/android/preference/PreferenceFragment.java +++ b/core/java/android/preference/PreferenceFragment.java @@ -145,7 +145,6 @@ public abstract class PreferenceFragment extends Fragment implements super.onCreate(savedInstanceState); mPreferenceManager = new PreferenceManager(getActivity(), FIRST_REQUEST_CODE); mPreferenceManager.setFragment(this); - mPreferenceManager.setOnPreferenceTreeClickListener(this); } @Override @@ -178,9 +177,16 @@ public abstract class PreferenceFragment extends Fragment implements } @Override + public void onStart() { + super.onStart(); + mPreferenceManager.setOnPreferenceTreeClickListener(this); + } + + @Override public void onStop() { super.onStop(); mPreferenceManager.dispatchActivityStop(); + mPreferenceManager.setOnPreferenceTreeClickListener(null); } @Override @@ -195,7 +201,6 @@ public abstract class PreferenceFragment extends Fragment implements public void onDestroy() { super.onDestroy(); mPreferenceManager.dispatchActivityDestroy(); - mPreferenceManager.setOnPreferenceTreeClickListener(null); } @Override |