Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f93ad220 authored by Chalard Jean's avatar Chalard Jean Committed by android-build-merger
Browse files

Merge "Add the ability to refresh to the captive portal app." am: fc71acde

am: 504b886f

Change-Id: Iac3e95c2ea24ff70d2c28d8e5188fec7830d56bd
parents 2530078d 504b886f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4

LOCAL_SRC_FILES := $(call all-java-files-under, src)

+11 −6
Original line number Diff line number Diff line
@@ -27,12 +27,17 @@
            android:layout_height="wrap_content" />
      </FrameLayout>

      <android.support.v4.widget.SwipeRefreshLayout
            android:id="@+id/swipe_refresh"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <WebView
              android:id="@+id/webview"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout_alignParentBottom="false"
              android:layout_alignParentRight="false" />
      </android.support.v4.widget.SwipeRefreshLayout>

    </LinearLayout>
</FrameLayout>
+10 −0
Original line number Diff line number Diff line
@@ -34,6 +34,7 @@ import android.net.http.SslError;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v4.widget.SwipeRefreshLayout;
import android.util.ArrayMap;
import android.util.Log;
import android.util.TypedValue;
@@ -88,6 +89,7 @@ public class CaptivePortalLoginActivity extends Activity {
    private ConnectivityManager mCm;
    private boolean mLaunchBrowser = false;
    private MyWebViewClient mWebViewClient;
    private SwipeRefreshLayout mSwipeRefreshLayout;
    // Ensures that done() happens once exactly, handling concurrent callers with atomic operations.
    private final AtomicBoolean isDone = new AtomicBoolean(false);

@@ -159,6 +161,13 @@ public class CaptivePortalLoginActivity extends Activity {
        // Start initial page load so WebView finishes loading proxy settings.
        // Actual load of mUrl is initiated by MyWebViewClient.
        webview.loadData("", "text/html", null);

        mSwipeRefreshLayout = findViewById(R.id.swipe_refresh);
        mSwipeRefreshLayout.setOnRefreshListener(() -> {
                webview.reload();
                mSwipeRefreshLayout.setRefreshing(true);
            });

    }

    // Find WebView's proxy BroadcastReceiver and prompt it to read proxy system properties.
@@ -393,6 +402,7 @@ public class CaptivePortalLoginActivity extends Activity {
        public void onPageFinished(WebView view, String url) {
            mPagesLoaded++;
            getProgressBar().setVisibility(View.INVISIBLE);
            mSwipeRefreshLayout.setRefreshing(false);
            if (mPagesLoaded == 1) {
                // Now that WebView has loaded at least one page we know it has read in the proxy
                // settings.  Now prompt the WebView read the Network-specific proxy settings.