summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2011-06-14 15:07:49 -0700
committerAmith Yamasani <yamasani@google.com>2011-06-14 15:07:49 -0700
commitc56fc753e2e2d35221a1a4df353a435098268ec4 (patch)
tree7482d632503e31c7f1da8e8c62e05c078d058b0b /core
parent700a1f25719138b94c453beb6325e627a11a9883 (diff)
downloadframeworks_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.java9
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