Merge "Set vpn bypassability into VpnTransportInfo"

This commit is contained in:
Chiachang Wang
2022-11-16 05:57:00 +00:00
committed by Gerrit Code Review

View File

@@ -645,7 +645,8 @@ public class Vpn {
.addTransportType(NetworkCapabilities.TRANSPORT_VPN) .addTransportType(NetworkCapabilities.TRANSPORT_VPN)
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN) .removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED) .addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VCN_MANAGED)
.setTransportInfo(new VpnTransportInfo(VpnManager.TYPE_VPN_NONE, null)) .setTransportInfo(new VpnTransportInfo(
VpnManager.TYPE_VPN_NONE, null /* sessionId */, false /* bypassable */))
.build(); .build();
loadAlwaysOnPackage(); loadAlwaysOnPackage();
@@ -709,7 +710,8 @@ public class Vpn {
private void resetNetworkCapabilities() { private void resetNetworkCapabilities() {
mNetworkCapabilities = new NetworkCapabilities.Builder(mNetworkCapabilities) mNetworkCapabilities = new NetworkCapabilities.Builder(mNetworkCapabilities)
.setUids(null) .setUids(null)
.setTransportInfo(new VpnTransportInfo(VpnManager.TYPE_VPN_NONE, null)) .setTransportInfo(new VpnTransportInfo(
VpnManager.TYPE_VPN_NONE, null /* sessionId */, false /* bypassable */))
.build(); .build();
} }
@@ -1567,7 +1569,8 @@ public class Vpn {
capsBuilder.setUids(createUserAndRestrictedProfilesRanges(mUserId, capsBuilder.setUids(createUserAndRestrictedProfilesRanges(mUserId,
mConfig.allowedApplications, mConfig.disallowedApplications)); mConfig.allowedApplications, mConfig.disallowedApplications));
capsBuilder.setTransportInfo(new VpnTransportInfo(getActiveVpnType(), mConfig.session)); capsBuilder.setTransportInfo(
new VpnTransportInfo(getActiveVpnType(), mConfig.session, mConfig.allowBypass));
// Only apps targeting Q and above can explicitly declare themselves as metered. // Only apps targeting Q and above can explicitly declare themselves as metered.
// These VPNs are assumed metered unless they state otherwise. // These VPNs are assumed metered unless they state otherwise.