OSDN Git Service

Stop scanning after errors
authorIrfan Sheriff <isheriff@google.com>
Fri, 16 Apr 2010 21:56:54 +0000 (14:56 -0700)
committerIrfan Sheriff <isheriff@google.com>
Fri, 16 Apr 2010 21:56:54 +0000 (14:56 -0700)
When scan fails for 3 times, we show a
failure toast and continue to scan.
In one case this caused infinite toasts,
until the user stopped wifi.

Its not clear what can cause this kind of
a state since wifi disable broadcast should
stop the scans. This fix will stop scans
after 3 continuous failures. Any wifi state
change will restart scan.

Bug: 2601937
Change-Id: I68733394cb3c9b76ffb15f7579e7af6c1f54d39c

src/com/android/settings/wifi/WifiSettings.java

index 0965854..2eca1d7 100644 (file)
@@ -431,8 +431,10 @@ public class WifiSettings extends PreferenceActivity implements DialogInterface.
 
     private void updateConnectionState(DetailedState state) {
         /* sticky broadcasts can call this when wifi is disabled */
-        if (!mWifiManager.isWifiEnabled())
+        if (!mWifiManager.isWifiEnabled()) {
+            mScanner.pause();
             return;
+        }
 
         if (state == DetailedState.OBTAINING_IPADDR) {
             mScanner.pause();
@@ -489,6 +491,7 @@ public class WifiSettings extends PreferenceActivity implements DialogInterface.
                 mRetry = 0;
                 Toast.makeText(WifiSettings.this, R.string.wifi_fail_to_scan,
                         Toast.LENGTH_LONG).show();
+                return;
             }
             mAccessPoints.setProgress(mRetry != 0);
             sendEmptyMessageDelayed(0, 6000);