OSDN Git Service

Don't check states when mActiveProfile is present
authorHung-ying Tyan <tyanh@google.com>
Sat, 5 Mar 2011 17:53:45 +0000 (01:53 +0800)
committerHung-ying Tyan <tyanh@google.com>
Sat, 5 Mar 2011 17:53:45 +0000 (01:53 +0800)
and is in IDLE state. checkVpnConnectionStatus() will clean up mActiveProfile
if it's IDLE.

Bug: 3513962
Change-Id: I8289fa321fdbd46def9c8207cef79cb45509897a

src/com/android/settings/vpn/VpnSettings.java

index e62a5ee..5d75b6a 100644 (file)
@@ -221,7 +221,14 @@ public class VpnSettings extends SettingsPreferenceFragment
         }
 
         if (!mConnectDialogShowing) {
-            checkVpnConnectionStatus();
+            // If mActiveProfile is not null but it's in IDLE state, then a
+            // retry dialog must be showing now as the previous connection
+            // attempt failed. In this case, don't call checkVpnConnectionStatus()
+            // as it will clean up mActiveProfile due to the IDLE state.
+            if ((mActiveProfile == null)
+                    || (mActiveProfile.getState() != VpnState.IDLE)) {
+                checkVpnConnectionStatus();
+            }
         } else {
             // Dismiss the connect dialog in case there is another instance
             // trying to operate a vpn connection.