diff options
Diffstat (limited to 'src/com/android/settings/SettingsPreferenceFragment.java')
-rw-r--r-- | src/com/android/settings/SettingsPreferenceFragment.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java index 77f703c..17bf02d 100644 --- a/src/com/android/settings/SettingsPreferenceFragment.java +++ b/src/com/android/settings/SettingsPreferenceFragment.java @@ -182,6 +182,8 @@ public class SettingsPreferenceFragment extends PreferenceFragment + DialogCreatable.class.getName()); } } + // restore mDialogFragment in mParentFragment + ((SettingsPreferenceFragment) mParentFragment).mDialogFragment = this; } return ((DialogCreatable) mParentFragment).onCreateDialog(mDialogId); } @@ -204,6 +206,16 @@ public class SettingsPreferenceFragment extends PreferenceFragment public int getDialogId() { return mDialogId; } + + @Override + public void onDetach() { + super.onDetach(); + + // in case the dialog is not explicitly removed by removeDialog() + if (((SettingsPreferenceFragment) mParentFragment).mDialogFragment == this) { + ((SettingsPreferenceFragment) mParentFragment).mDialogFragment = null; + } + } } protected boolean hasNextButton() { |