summaryrefslogtreecommitdiffstats
path: root/packages/CaptivePortalLogin
diff options
context:
space:
mode:
authorPaul Jensen <pauljensen@google.com>2014-12-17 18:34:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-12-17 18:34:57 +0000
commitee8feae5d4624e6759e264cc80eac28b0d0af20f (patch)
treec04097dde702b3aa292884d4ade60bc79637c630 /packages/CaptivePortalLogin
parent296aa925171b27a87b427575a9a462dc8a8620b2 (diff)
parentfc8022f8cfffded3d94baef3ba5e5ce936799b06 (diff)
downloadframeworks_base-ee8feae5d4624e6759e264cc80eac28b0d0af20f.zip
frameworks_base-ee8feae5d4624e6759e264cc80eac28b0d0af20f.tar.gz
frameworks_base-ee8feae5d4624e6759e264cc80eac28b0d0af20f.tar.bz2
Merge "Show broken lock image when SSL errors are encountered in CaptivePortalLogin." into lmp-mr1-dev
Diffstat (limited to 'packages/CaptivePortalLogin')
-rw-r--r--packages/CaptivePortalLogin/assets/locked_page.pngbin0 -> 7864 bytes
-rw-r--r--packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java15
2 files changed, 15 insertions, 0 deletions
diff --git a/packages/CaptivePortalLogin/assets/locked_page.png b/packages/CaptivePortalLogin/assets/locked_page.png
new file mode 100644
index 0000000..91e1291
--- /dev/null
+++ b/packages/CaptivePortalLogin/assets/locked_page.png
Binary files differ
diff --git a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
index 7253579..06e8574 100644
--- a/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
+++ b/packages/CaptivePortalLogin/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
@@ -28,6 +28,7 @@ import android.net.NetworkCapabilities;
import android.net.NetworkRequest;
import android.net.Proxy;
import android.net.Uri;
+import android.net.http.SslError;
import android.os.Bundle;
import android.provider.Settings;
import android.provider.Settings.Global;
@@ -37,6 +38,7 @@ import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.Window;
+import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
@@ -251,6 +253,19 @@ public class CaptivePortalLoginActivity extends Activity {
}
testForCaptivePortal();
}
+
+ // A web page consisting of a large broken lock icon to indicate SSL failure.
+ final static String SSL_ERROR_HTML = "<!DOCTYPE html><html><head><style>" +
+ "html { width:100%; height:100%; " +
+ " background:url(locked_page.png) center center no-repeat; }" +
+ "</style></head><body></body></html>";
+
+ @Override
+ public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
+ Log.w(TAG, "SSL error; displaying broken lock icon.");
+ view.loadDataWithBaseURL("file:///android_asset/", SSL_ERROR_HTML, "text/HTML",
+ "UTF-8", null);
+ }
}
private class MyWebChromeClient extends WebChromeClient {