summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/SettingsPreferenceFragment.java
diff options
context:
space:
mode:
authorHung-ying Tyan <tyanh@google.com>2011-01-24 15:05:27 +0800
committerHung-ying Tyan <tyanh@google.com>2011-01-26 15:50:33 +0800
commitadc83d83127edd58ff1f823b429cb99871e4488d (patch)
treeeffe94a390abd0f4fa3021efe88bb060224622e2 /src/com/android/settings/SettingsPreferenceFragment.java
parent0ee51e04fb5c39a6272d142efc09d36aa3fbd0ec (diff)
downloadpackages_apps_Settings-adc83d83127edd58ff1f823b429cb99871e4488d.zip
packages_apps_Settings-adc83d83127edd58ff1f823b429cb99871e4488d.tar.gz
packages_apps_Settings-adc83d83127edd58ff1f823b429cb99871e4488d.tar.bz2
Fix alert dialogs in VpnSettings.
+ Don't check mDialogFragment.isVisible() in SettingsPreferenceFragment.removeDialog() as mDialogFragment may not be visible in parent fragment's onResume(). + Replace mConnectDialog with mConnectDialogShowing and remove removeConnectDialog(). + Dismiss alert dialogs in onPause() so that we don't need to maintain extra states during pause-resume cycle. In addition, fix a NPE when startVpnTypeSelection(). Bug: 3381434 Bug: 3289365 Change-Id: Ic4aa87c7a618d95e86e45d6617f2ad7dab35f019
Diffstat (limited to 'src/com/android/settings/SettingsPreferenceFragment.java')
-rw-r--r--src/com/android/settings/SettingsPreferenceFragment.java6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 5fbfe7b..dd078ba 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -105,8 +105,10 @@ public class SettingsPreferenceFragment extends PreferenceFragment
}
protected void removeDialog(int dialogId) {
- if (mDialogFragment != null && mDialogFragment.getDialogId() == dialogId
- && mDialogFragment.isVisible()) {
+ // mDialogFragment may not be visible yet in parent fragment's onResume().
+ // To be able to dismiss dialog at that time, don't check
+ // mDialogFragment.isVisible().
+ if (mDialogFragment != null && mDialogFragment.getDialogId() == dialogId) {
mDialogFragment.dismiss();
}
mDialogFragment = null;