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
This commit is contained in:
fionaxu
2017-08-31 14:40:41 -07:00
parent 04d69537ea
commit 1c0a86fc6e

View File

@@ -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);