From 1c0a86fc6ebe6dc8dcbd2e05cf8f2ce8ab3586da Mon Sep 17 00:00:00 2001 From: fionaxu Date: Thu, 31 Aug 2017 14:40:41 -0700 Subject: [PATCH] reloading the current page on Network lost->avail if suddenly lost network on captiveportal page, we didnt recover gracefully when network become available. we should reload the current page on network available. Bug: 65041224 Test: Manaul Change-Id: I356dbf73ef3ce9788883bf6561929d961c3a6888 --- .../CaptivePortalLoginActivity.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java index b0052cc736789..a61881f2f0df4 100644 --- a/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java +++ b/packages/CarrierDefaultApp/src/com/android/carrierdefaultapp/CaptivePortalLoginActivity.java @@ -82,6 +82,7 @@ public class CaptivePortalLoginActivity extends Activity { private MyWebViewClient mWebViewClient; private boolean mLaunchBrowser = false; private Thread mTestingThread = null; + private boolean mReload = false; @Override protected void onCreate(Bundle savedInstanceState) { @@ -290,9 +291,13 @@ public class CaptivePortalLoginActivity extends Activity { mCm.bindProcessToNetwork(network); mNetwork = network; runOnUiThreadIfNotFinishing(() -> { - // Start initial page load so WebView finishes loading proxy settings. - // Actual load of mUrl is initiated by MyWebViewClient. - mWebView.loadData("", "text/html", null); + if (mReload) { + mWebView.reload(); + } else { + // Start initial page load so WebView finishes loading proxy settings. + // Actual load of mUrl is initiated by MyWebViewClient. + mWebView.loadData("", "text/html", null); + } }); } @@ -305,6 +310,12 @@ public class CaptivePortalLoginActivity extends Activity { mWebView.loadUrl(mUrl.toString()); }); } + + @Override + public void onLost(Network lostNetwork) { + if (DBG) logd("Network lost"); + mReload = true; + } }; logd("request Network for captive portal"); mCm.requestNetwork(request, mNetworkCallback, NETWORK_REQUEST_TIMEOUT_MS);