Loading packages/CaptivePortalLogin/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,10 @@ <action android:name="android.net.conn.CAPTIVE_PORTAL"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <intent-filter> <action android:name="android.net.action.captive_portal_login"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> </manifest> packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java +27 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.net.CaptivePortal; import android.graphics.drawable.ColorDrawable; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.Network; Loading @@ -32,6 +33,7 @@ import android.net.Uri; import android.net.http.SslError; import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; import android.util.ArrayMap; import android.util.Log; import android.util.TypedValue; Loading @@ -57,6 +59,10 @@ import java.util.Random; public class CaptivePortalLoginActivity extends Activity { private static final String TAG = "CaptivePortalLogin"; private static final String DEFAULT_SERVER = "connectivitycheck.gstatic.com"; private static final String EXTRA_STATUS_BAR_COLOR = "status_bar_color"; private static final String EXTRA_ACTION_BAR_COLOR = "action_bar_color"; private static final int SOCKET_TIMEOUT_MS = 10000; private enum Result { DISMISSED, UNWANTED, WANTED_AS_IS }; Loading @@ -81,11 +87,26 @@ public class CaptivePortalLoginActivity extends Activity { } catch (MalformedURLException e) { // System misconfigured, bail out in a way that at least provides network access. Log.e(TAG, "Invalid captive portal URL, server=" + server); setResult(Activity.RESULT_CANCELED); done(Result.WANTED_AS_IS); } mNetwork = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_NETWORK); mCaptivePortal = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL); final Intent intent = getIntent(); if (intent.hasExtra(EXTRA_STATUS_BAR_COLOR)) { int color = intent.getIntExtra(EXTRA_STATUS_BAR_COLOR, -1); if (color != -1) { getWindow().setStatusBarColor(color); } } if (intent.hasExtra(EXTRA_ACTION_BAR_COLOR)) { int color = intent.getIntExtra(EXTRA_ACTION_BAR_COLOR, -1); if (color != -1) { getActionBar().setBackgroundDrawable(new ColorDrawable(color)); } } // Also initializes proxy system properties. mCm.bindProcessToNetwork(mNetwork); Loading Loading @@ -165,6 +186,7 @@ public class CaptivePortalLoginActivity extends Activity { mCaptivePortal.useNetwork(); break; } setResult(Activity.RESULT_OK); finish(); } Loading Loading @@ -298,6 +320,11 @@ public class CaptivePortalLoginActivity extends Activity { } else if (mPagesLoaded == 2) { // Prevent going back to empty first page. view.clearHistory(); } else { if (TextUtils.isEmpty(view.getUrl()) || view.getUrl().contains("text/html")) { setResult(Activity.RESULT_CANCELED); finish(); } } testForCaptivePortal(); } Loading Loading
packages/CaptivePortalLogin/AndroidManifest.xml +4 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,10 @@ <action android:name="android.net.conn.CAPTIVE_PORTAL"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> <intent-filter> <action android:name="android.net.action.captive_portal_login"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity> </application> </manifest>
packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java +27 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.net.CaptivePortal; import android.graphics.drawable.ColorDrawable; import android.net.ConnectivityManager; import android.net.ConnectivityManager.NetworkCallback; import android.net.Network; Loading @@ -32,6 +33,7 @@ import android.net.Uri; import android.net.http.SslError; import android.os.Bundle; import android.provider.Settings; import android.text.TextUtils; import android.util.ArrayMap; import android.util.Log; import android.util.TypedValue; Loading @@ -57,6 +59,10 @@ import java.util.Random; public class CaptivePortalLoginActivity extends Activity { private static final String TAG = "CaptivePortalLogin"; private static final String DEFAULT_SERVER = "connectivitycheck.gstatic.com"; private static final String EXTRA_STATUS_BAR_COLOR = "status_bar_color"; private static final String EXTRA_ACTION_BAR_COLOR = "action_bar_color"; private static final int SOCKET_TIMEOUT_MS = 10000; private enum Result { DISMISSED, UNWANTED, WANTED_AS_IS }; Loading @@ -81,11 +87,26 @@ public class CaptivePortalLoginActivity extends Activity { } catch (MalformedURLException e) { // System misconfigured, bail out in a way that at least provides network access. Log.e(TAG, "Invalid captive portal URL, server=" + server); setResult(Activity.RESULT_CANCELED); done(Result.WANTED_AS_IS); } mNetwork = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_NETWORK); mCaptivePortal = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL); final Intent intent = getIntent(); if (intent.hasExtra(EXTRA_STATUS_BAR_COLOR)) { int color = intent.getIntExtra(EXTRA_STATUS_BAR_COLOR, -1); if (color != -1) { getWindow().setStatusBarColor(color); } } if (intent.hasExtra(EXTRA_ACTION_BAR_COLOR)) { int color = intent.getIntExtra(EXTRA_ACTION_BAR_COLOR, -1); if (color != -1) { getActionBar().setBackgroundDrawable(new ColorDrawable(color)); } } // Also initializes proxy system properties. mCm.bindProcessToNetwork(mNetwork); Loading Loading @@ -165,6 +186,7 @@ public class CaptivePortalLoginActivity extends Activity { mCaptivePortal.useNetwork(); break; } setResult(Activity.RESULT_OK); finish(); } Loading Loading @@ -298,6 +320,11 @@ public class CaptivePortalLoginActivity extends Activity { } else if (mPagesLoaded == 2) { // Prevent going back to empty first page. view.clearHistory(); } else { if (TextUtils.isEmpty(view.getUrl()) || view.getUrl().contains("text/html")) { setResult(Activity.RESULT_CANCELED); finish(); } } testForCaptivePortal(); } Loading