summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWink Saville <wink@google.com>2013-08-02 11:25:23 -0700
committerThe Android Automerger <android-build@android.com>2013-08-08 16:58:55 -0700
commit02a727fde936f346f26e8e902844c9ab6c3d0a4e (patch)
tree9cc184fb9921faa74f2fa16563b73f47677df331
parent19b73883ed9bb3678b7f6bff46dd864592244782 (diff)
downloadbase-02a727fde936f346f26e8e902844c9ab6c3d0a4e.tar.gz
In CaptiviePortalTracker a socket timeout is probably a captive portal.
On a AT&T warm SIM a socket is not possible so a timeout occurs. In CheckMp a timing out on a socket is declared as a "warm" sim, make CaptivePortalTracker the same. Bug: 10038362 Change-Id: Icb9fb0a1b67704dc9adf6a6348a3781fb9582a89
-rw-r--r--core/java/android/net/CaptivePortalTracker.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/core/java/android/net/CaptivePortalTracker.java b/core/java/android/net/CaptivePortalTracker.java
index 21995c021ca5..2f1eb8d9ffe2 100644
--- a/core/java/android/net/CaptivePortalTracker.java
+++ b/core/java/android/net/CaptivePortalTracker.java
@@ -42,6 +42,7 @@ import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.InetAddress;
import java.net.Inet4Address;
+import java.net.SocketTimeoutException;
import java.net.URL;
import java.net.UnknownHostException;
@@ -52,7 +53,7 @@ import com.android.internal.R;
* @hide
*/
public class CaptivePortalTracker extends StateMachine {
- private static final boolean DBG = false;
+ private static final boolean DBG = true;
private static final String TAG = "CaptivePortalTracker";
private static final String DEFAULT_SERVER = "clients3.google.com";
@@ -337,6 +338,9 @@ public class CaptivePortalTracker extends StateMachine {
urlConnection.getInputStream();
// we got a valid response, but not from the real google
return urlConnection.getResponseCode() != 204;
+ } catch (SocketTimeoutException e) {
+ if (DBG) log("Probably a portal: exception " + e);
+ return true;
} catch (IOException e) {
if (DBG) log("Probably not a portal: exception " + e);
return false;