summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/SettingsPreferenceFragment.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2011-01-31 12:46:57 -0800
committerAmith Yamasani <yamasani@google.com>2011-01-31 12:46:57 -0800
commit8875edede1f441f66578feb4d09eb314ac40c25e (patch)
treef39a4a3113876f5c0781b5c2e1ce52940855b146 /src/com/android/settings/SettingsPreferenceFragment.java
parent171412000a95ce35fd3461afe7bcc5b7f2f210f4 (diff)
downloadpackages_apps_Settings-8875edede1f441f66578feb4d09eb314ac40c25e.zip
packages_apps_Settings-8875edede1f441f66578feb4d09eb314ac40c25e.tar.gz
packages_apps_Settings-8875edede1f441f66578feb4d09eb314ac40c25e.tar.bz2
Fix crash after adding a word to the user dictionary.
Bug: 3407951 Make sure that the parent fragment is a SettingsPreferenceFragment. Otherwise it's not necessary to manage the mDialogFragment. Change-Id: I331a3507fe11a7331ff24ecf64fe8c8c3f613636
Diffstat (limited to 'src/com/android/settings/SettingsPreferenceFragment.java')
-rw-r--r--src/com/android/settings/SettingsPreferenceFragment.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 17bf02d..bd9e331 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -182,8 +182,11 @@ public class SettingsPreferenceFragment extends PreferenceFragment
+ DialogCreatable.class.getName());
}
}
- // restore mDialogFragment in mParentFragment
- ((SettingsPreferenceFragment) mParentFragment).mDialogFragment = this;
+ // This dialog fragment could be created from non-SettingsPreferenceFragment
+ if (mParentFragment instanceof SettingsPreferenceFragment) {
+ // restore mDialogFragment in mParentFragment
+ ((SettingsPreferenceFragment) mParentFragment).mDialogFragment = this;
+ }
}
return ((DialogCreatable) mParentFragment).onCreateDialog(mDialogId);
}
@@ -203,6 +206,7 @@ public class SettingsPreferenceFragment extends PreferenceFragment
mOnDismissListener.onDismiss(dialog);
}
}
+
public int getDialogId() {
return mDialogId;
}
@@ -211,9 +215,12 @@ public class SettingsPreferenceFragment extends PreferenceFragment
public void onDetach() {
super.onDetach();
- // in case the dialog is not explicitly removed by removeDialog()
- if (((SettingsPreferenceFragment) mParentFragment).mDialogFragment == this) {
- ((SettingsPreferenceFragment) mParentFragment).mDialogFragment = null;
+ // This dialog fragment could be created from non-SettingsPreferenceFragment
+ if (mParentFragment instanceof SettingsPreferenceFragment) {
+ // in case the dialog is not explicitly removed by removeDialog()
+ if (((SettingsPreferenceFragment) mParentFragment).mDialogFragment == this) {
+ ((SettingsPreferenceFragment) mParentFragment).mDialogFragment = null;
+ }
}
}
}