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

Commit a1110683 authored by Hugo Benichi's avatar Hugo Benichi Committed by android-build-merger
Browse files

resolve merge conflicts of 48bc4c1f to stage-aosp-master

am: ca0c91b9

Change-Id: I941327a914d4a44e63a5f57fc0aa98d778fef949
parents 6531ea25 ca0c91b9
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ import java.lang.InterruptedException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Random;
import java.util.concurrent.atomic.AtomicBoolean;

public class CaptivePortalLoginActivity extends Activity {
    private static final String TAG = CaptivePortalLoginActivity.class.getSimpleName();
@@ -73,6 +74,8 @@ public class CaptivePortalLoginActivity extends Activity {
    private ConnectivityManager mCm;
    private boolean mLaunchBrowser = false;
    private MyWebViewClient mWebViewClient;
    // Ensures that done() happens once exactly, handling concurrent callers with atomic operations.
    private final AtomicBoolean isDone = new AtomicBoolean(false);

    @Override
    protected void onCreate(Bundle savedInstanceState) {
@@ -166,13 +169,13 @@ public class CaptivePortalLoginActivity extends Activity {
    }

    private void done(Result result) {
        if (isDone.getAndSet(true)) {
            // isDone was already true: done() already called
            return;
        }
        if (DBG) {
            Log.d(TAG, String.format("Result %s for %s", result.name(), mUrl.toString()));
        }
        if (mNetworkCallback != null) {
            mCm.unregisterNetworkCallback(mNetworkCallback);
            mNetworkCallback = null;
        }
        switch (result) {
            case DISMISSED:
                mCaptivePortal.reportCaptivePortalDismissed();
@@ -231,8 +234,8 @@ public class CaptivePortalLoginActivity extends Activity {
    public void onDestroy() {
        super.onDestroy();
        if (mNetworkCallback != null) {
            // mNetworkCallback is not null if mUrl is not null.
            mCm.unregisterNetworkCallback(mNetworkCallback);
            mNetworkCallback = null;
        }
        if (mLaunchBrowser) {
            // Give time for this network to become default. After 500ms just proceed.