Merge "Fix bug #14288652 Settings crash on hitting back key from Tap and Pay screen"
This commit is contained in:
committed by
Android (Google) Code Review
commit
b9968ff679
@@ -113,16 +113,24 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onBindPreferences() {
|
protected void onBindPreferences() {
|
||||||
|
registerObserverIfNeeded();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStop() {
|
||||||
|
super.onStop();
|
||||||
|
|
||||||
|
unregisterObserverIfNeeded();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void registerObserverIfNeeded() {
|
||||||
if (!mIsDataSetObserverRegistered) {
|
if (!mIsDataSetObserverRegistered) {
|
||||||
getPreferenceScreen().getRootAdapter().registerDataSetObserver(mDataSetObserver);
|
getPreferenceScreen().getRootAdapter().registerDataSetObserver(mDataSetObserver);
|
||||||
mIsDataSetObserverRegistered = true;
|
mIsDataSetObserverRegistered = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void unregisterObserverIfNeeded() {
|
||||||
public void onDestroy() {
|
|
||||||
super.onDestroy();
|
|
||||||
|
|
||||||
if (mIsDataSetObserverRegistered) {
|
if (mIsDataSetObserverRegistered) {
|
||||||
getPreferenceScreen().getRootAdapter().unregisterDataSetObserver(mDataSetObserver);
|
getPreferenceScreen().getRootAdapter().unregisterDataSetObserver(mDataSetObserver);
|
||||||
mIsDataSetObserverRegistered = false;
|
mIsDataSetObserverRegistered = false;
|
||||||
|
Reference in New Issue
Block a user