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
This commit is contained in:
@@ -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
|
||||
@@ -177,10 +176,17 @@ 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
|
||||
|
||||
Reference in New Issue
Block a user