diff options
author | Hung-ying Tyan <tyanh@google.com> | 2011-01-24 15:05:27 +0800 |
---|---|---|
committer | Hung-ying Tyan <tyanh@google.com> | 2011-01-26 15:50:33 +0800 |
commit | adc83d83127edd58ff1f823b429cb99871e4488d (patch) | |
tree | effe94a390abd0f4fa3021efe88bb060224622e2 /src/com/android/settings/SettingsPreferenceFragment.java | |
parent | 0ee51e04fb5c39a6272d142efc09d36aa3fbd0ec (diff) | |
download | packages_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.java | 6 |
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; |