Loading services/core/java/com/android/server/connectivity/Vpn.java +20 −12 Original line number Diff line number Diff line Loading @@ -209,7 +209,6 @@ public class Vpn { private final NetworkInfo mNetworkInfo; private int mLegacyState; @VisibleForTesting protected String mPackage; private String mSessionKey; private int mOwnerUID; private boolean mIsPackageTargetingAtLeastQ; @VisibleForTesting Loading Loading @@ -1991,9 +1990,7 @@ public class Vpn { public synchronized int getActiveVpnType() { if (!mNetworkInfo.isConnectedOrConnecting()) return VpnManager.TYPE_VPN_NONE; if (mVpnRunner == null) return VpnManager.TYPE_VPN_SERVICE; return mVpnRunner instanceof IkeV2VpnRunner ? VpnManager.TYPE_VPN_PLATFORM : VpnManager.TYPE_VPN_LEGACY; return isIkev2VpnRunner() ? VpnManager.TYPE_VPN_PLATFORM : VpnManager.TYPE_VPN_LEGACY; } private void updateAlwaysOnNotification(DetailedState networkState) { Loading Loading @@ -2531,6 +2528,7 @@ public class Vpn { @Nullable private IpSecTunnelInterface mTunnelIface; @Nullable private IkeSession mSession; @Nullable private Network mActiveNetwork; private final String mSessionKey; IkeV2VpnRunner(@NonNull Ikev2VpnProfile profile) { super(TAG); Loading Loading @@ -2876,7 +2874,6 @@ public class Vpn { */ private void disconnectVpnRunner() { mActiveNetwork = null; mSessionKey = null; mIsRunning = false; resetIkeState(); Loading Loading @@ -3306,7 +3303,7 @@ public class Vpn { } private boolean isCurrentIkev2VpnLocked(@NonNull String packageName) { return isCurrentPreparedPackage(packageName) && mVpnRunner instanceof IkeV2VpnRunner; return isCurrentPreparedPackage(packageName) && isIkev2VpnRunner(); } /** Loading Loading @@ -3360,6 +3357,16 @@ public class Vpn { return VpnProfile.decode("" /* Key unused */, encoded); } private boolean isIkev2VpnRunner() { return (mVpnRunner instanceof IkeV2VpnRunner); } @GuardedBy("this") @Nullable private String getSessionKeyLocked() { return isIkev2VpnRunner() ? ((IkeV2VpnRunner) mVpnRunner).mSessionKey : null; } /** * Starts an already provisioned VPN Profile, keyed by package name. * Loading Loading @@ -3387,7 +3394,11 @@ public class Vpn { } startVpnProfilePrivileged(profile, packageName); return mSessionKey; if (!isIkev2VpnRunner()) { throw new IllegalStateException("mVpnRunner shouldn't be null and should also be " + "an instance of Ikev2VpnRunner"); } return getSessionKeyLocked(); } finally { Binder.restoreCallingIdentity(token); } Loading Loading @@ -3490,11 +3501,8 @@ public class Vpn { } private VpnProfileState makeVpnProfileState() { // TODO: mSessionKey will be moved to Ikev2VpnRunner once aosp/2007077 is merged, so after // merging aosp/2007077, here should check Ikev2VpnRunner is null or not. Session key will // be null if Ikev2VpnRunner is null. return new VpnProfileState(getStateFromLegacyState(mLegacyState), mSessionKey, mAlwaysOn, mLockdown); return new VpnProfileState(getStateFromLegacyState(mLegacyState), isIkev2VpnRunner() ? getSessionKeyLocked() : null, mAlwaysOn, mLockdown); } /** Loading Loading
services/core/java/com/android/server/connectivity/Vpn.java +20 −12 Original line number Diff line number Diff line Loading @@ -209,7 +209,6 @@ public class Vpn { private final NetworkInfo mNetworkInfo; private int mLegacyState; @VisibleForTesting protected String mPackage; private String mSessionKey; private int mOwnerUID; private boolean mIsPackageTargetingAtLeastQ; @VisibleForTesting Loading Loading @@ -1991,9 +1990,7 @@ public class Vpn { public synchronized int getActiveVpnType() { if (!mNetworkInfo.isConnectedOrConnecting()) return VpnManager.TYPE_VPN_NONE; if (mVpnRunner == null) return VpnManager.TYPE_VPN_SERVICE; return mVpnRunner instanceof IkeV2VpnRunner ? VpnManager.TYPE_VPN_PLATFORM : VpnManager.TYPE_VPN_LEGACY; return isIkev2VpnRunner() ? VpnManager.TYPE_VPN_PLATFORM : VpnManager.TYPE_VPN_LEGACY; } private void updateAlwaysOnNotification(DetailedState networkState) { Loading Loading @@ -2531,6 +2528,7 @@ public class Vpn { @Nullable private IpSecTunnelInterface mTunnelIface; @Nullable private IkeSession mSession; @Nullable private Network mActiveNetwork; private final String mSessionKey; IkeV2VpnRunner(@NonNull Ikev2VpnProfile profile) { super(TAG); Loading Loading @@ -2876,7 +2874,6 @@ public class Vpn { */ private void disconnectVpnRunner() { mActiveNetwork = null; mSessionKey = null; mIsRunning = false; resetIkeState(); Loading Loading @@ -3306,7 +3303,7 @@ public class Vpn { } private boolean isCurrentIkev2VpnLocked(@NonNull String packageName) { return isCurrentPreparedPackage(packageName) && mVpnRunner instanceof IkeV2VpnRunner; return isCurrentPreparedPackage(packageName) && isIkev2VpnRunner(); } /** Loading Loading @@ -3360,6 +3357,16 @@ public class Vpn { return VpnProfile.decode("" /* Key unused */, encoded); } private boolean isIkev2VpnRunner() { return (mVpnRunner instanceof IkeV2VpnRunner); } @GuardedBy("this") @Nullable private String getSessionKeyLocked() { return isIkev2VpnRunner() ? ((IkeV2VpnRunner) mVpnRunner).mSessionKey : null; } /** * Starts an already provisioned VPN Profile, keyed by package name. * Loading Loading @@ -3387,7 +3394,11 @@ public class Vpn { } startVpnProfilePrivileged(profile, packageName); return mSessionKey; if (!isIkev2VpnRunner()) { throw new IllegalStateException("mVpnRunner shouldn't be null and should also be " + "an instance of Ikev2VpnRunner"); } return getSessionKeyLocked(); } finally { Binder.restoreCallingIdentity(token); } Loading Loading @@ -3490,11 +3501,8 @@ public class Vpn { } private VpnProfileState makeVpnProfileState() { // TODO: mSessionKey will be moved to Ikev2VpnRunner once aosp/2007077 is merged, so after // merging aosp/2007077, here should check Ikev2VpnRunner is null or not. Session key will // be null if Ikev2VpnRunner is null. return new VpnProfileState(getStateFromLegacyState(mLegacyState), mSessionKey, mAlwaysOn, mLockdown); return new VpnProfileState(getStateFromLegacyState(mLegacyState), isIkev2VpnRunner() ? getSessionKeyLocked() : null, mAlwaysOn, mLockdown); } /** Loading