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