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

Commit f092c776 authored by Chiachang Wang's avatar Chiachang Wang Committed by Automerger Merge Worker
Browse files

Merge "Disconnect VPN when the underlying network is lost" am: f55958fc am:...

Merge "Disconnect VPN when the underlying network is lost" am: f55958fc am: a03e3f9a am: b883281e am: ceecf64c am: 429e5dcc

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2222603



Change-Id: Ibedd1884e18ac40a172eeed465d2817792228b45
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 05b52d25 429e5dcc
Loading
Loading
Loading
Loading
+36 −33
Original line number Diff line number Diff line
@@ -3210,10 +3210,7 @@ public class Vpn {
                return;
            }

            if (mSession != null && mMobikeEnabled) {
                Log.d(
                        TAG,
                        "IKE Session has mobility. Delay handleSessionLost for losing network "
            Log.d(TAG, "Schedule a delay handleSessionLost for losing network "
                            + network
                            + " on session with token "
                            + mCurrentToken);
@@ -3226,7 +3223,16 @@ public class Vpn {
                    mExecutor.schedule(
                            () -> {
                                if (isActiveToken(token)) {
                                        handleSessionLost(null /* exception */, network);
                                    handleSessionLost(new IkeNetworkLostException(network),
                                            network);

                                    synchronized (Vpn.this) {
                                        // Ignore stale runner.
                                        if (mVpnRunner != this) return;

                                        updateState(DetailedState.DISCONNECTED,
                                                "Network lost");
                                    }
                                } else {
                                    Log.d(
                                            TAG,
@@ -3241,10 +3247,7 @@ public class Vpn {
                            },
                            NETWORK_LOST_TIMEOUT_MS,
                            TimeUnit.MILLISECONDS);
            } else {
                Log.d(TAG, "Call handleSessionLost for losing network " + network);
                handleSessionLost(null /* exception */, network);
            }

        }

        private void cancelHandleNetworkLostTimeout() {