From c457a04d937b0f3b81fb49b78f4cde46059e1ac9 Mon Sep 17 00:00:00 2001 From: fionaxu Date: Mon, 10 Jul 2017 09:34:07 -0700 Subject: [PATCH] fix cellular captive portal reevaluation url we apply redirection link as the url everywhere for cellular captive portal. this url should only be used when load the portal page at the first place (when users click on the notification) and shouldn't be used as the re-evaluation url as it wont return the expected response code. instead we should use special URL (generate_204) from connectivity service which will return 204 if redirection is gone. Test: manual test with cold and hot TMO SIM Bug: 63351490 Bug: 62532802 Change-Id: I56bb03a58447c5c46758e692ff357d540ea4cd7b --- .../android/carrierdefaultapp/CaptivePortalLoginActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java index c1f03fd811512..ae8fc80f03c7d 100644 --- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java +++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java @@ -226,7 +226,8 @@ public class CaptivePortalLoginActivity extends Activity { int httpResponseCode = 500; int oldTag = TrafficStats.getAndSetThreadStatsTag(TrafficStats.TAG_SYSTEM_PROBE); try { - urlConnection = (HttpURLConnection) mNetwork.openConnection(mUrl); + urlConnection = (HttpURLConnection) mNetwork.openConnection( + new URL(mCm.getCaptivePortalServerUrl())); urlConnection.setInstanceFollowRedirects(false); urlConnection.setConnectTimeout(SOCKET_TIMEOUT_MS); urlConnection.setReadTimeout(SOCKET_TIMEOUT_MS); @@ -234,6 +235,7 @@ public class CaptivePortalLoginActivity extends Activity { urlConnection.getInputStream(); httpResponseCode = urlConnection.getResponseCode(); } catch (IOException e) { + loge(e.getMessage()); } finally { if (urlConnection != null) urlConnection.disconnect(); TrafficStats.setThreadStatsTag(oldTag);