Merge "Have a new method in NetworkAgentConfig.Builder to set allowBypass"
This commit is contained in:
@@ -31,9 +31,11 @@ package android.net {
|
|||||||
|
|
||||||
public final class NetworkAgentConfig implements android.os.Parcelable {
|
public final class NetworkAgentConfig implements android.os.Parcelable {
|
||||||
method @Nullable public String getSubscriberId();
|
method @Nullable public String getSubscriberId();
|
||||||
|
method public boolean isBypassableVpn();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final class NetworkAgentConfig.Builder {
|
public static final class NetworkAgentConfig.Builder {
|
||||||
|
method @NonNull public android.net.NetworkAgentConfig.Builder setBypassableVpn(boolean);
|
||||||
method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
|
method @NonNull public android.net.NetworkAgentConfig.Builder setSubscriberId(@Nullable String);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,16 @@ public final class NetworkAgentConfig implements Parcelable {
|
|||||||
return explicitlySelected;
|
return explicitlySelected;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return whether this VPN connection can be bypassed by the apps.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@SystemApi(client = MODULE_LIBRARIES)
|
||||||
|
public boolean isBypassableVpn() {
|
||||||
|
return allowBypass;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set if the user desires to use this network even if it is unvalidated. This field has meaning
|
* Set if the user desires to use this network even if it is unvalidated. This field has meaning
|
||||||
* only if {@link explicitlySelected} is true. If it is, this field must also be set to the
|
* only if {@link explicitlySelected} is true. If it is, this field must also be set to the
|
||||||
@@ -346,6 +356,19 @@ public final class NetworkAgentConfig implements Parcelable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets whether the apps can bypass the VPN connection.
|
||||||
|
*
|
||||||
|
* @return this builder, to facilitate chaining.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
@NonNull
|
||||||
|
@SystemApi(client = MODULE_LIBRARIES)
|
||||||
|
public Builder setBypassableVpn(boolean allowBypass) {
|
||||||
|
mConfig.allowBypass = allowBypass;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the constructed {@link NetworkAgentConfig} object.
|
* Returns the constructed {@link NetworkAgentConfig} object.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1242,8 +1242,9 @@ public class Vpn {
|
|||||||
mLegacyState = LegacyVpnInfo.STATE_CONNECTING;
|
mLegacyState = LegacyVpnInfo.STATE_CONNECTING;
|
||||||
updateState(DetailedState.CONNECTING, "agentConnect");
|
updateState(DetailedState.CONNECTING, "agentConnect");
|
||||||
|
|
||||||
NetworkAgentConfig networkAgentConfig = new NetworkAgentConfig.Builder().build();
|
final NetworkAgentConfig networkAgentConfig = new NetworkAgentConfig.Builder()
|
||||||
networkAgentConfig.allowBypass = mConfig.allowBypass && !mLockdown;
|
.setBypassableVpn(mConfig.allowBypass && !mLockdown)
|
||||||
|
.build();
|
||||||
|
|
||||||
mNetworkCapabilities.setOwnerUid(mOwnerUID);
|
mNetworkCapabilities.setOwnerUid(mOwnerUID);
|
||||||
mNetworkCapabilities.setAdministratorUids(new int[] {mOwnerUID});
|
mNetworkCapabilities.setAdministratorUids(new int[] {mOwnerUID});
|
||||||
|
|||||||
Reference in New Issue
Block a user