Loading core/java/android/net/vcn/VcnCellUnderlyingNetworkPriority.java→core/java/android/net/vcn/VcnCellUnderlyingNetworkTemplate.java +10 −10 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ import java.util.Set; // TODO: Add documents /** @hide */ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetworkPriority { public final class VcnCellUnderlyingNetworkTemplate extends VcnUnderlyingNetworkTemplate { private static final String ALLOWED_NETWORK_PLMN_IDS_KEY = "mAllowedNetworkPlmnIds"; @NonNull private final Set<String> mAllowedNetworkPlmnIds; private static final String ALLOWED_SPECIFIC_CARRIER_IDS_KEY = "mAllowedSpecificCarrierIds"; Loading @@ -51,7 +51,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork private static final String REQUIRE_OPPORTUNISTIC_KEY = "mRequireOpportunistic"; private final boolean mRequireOpportunistic; private VcnCellUnderlyingNetworkPriority( private VcnCellUnderlyingNetworkTemplate( int networkQuality, boolean allowMetered, Set<String> allowedNetworkPlmnIds, Loading Loading @@ -92,7 +92,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork /** @hide */ @NonNull @VisibleForTesting(visibility = Visibility.PROTECTED) public static VcnCellUnderlyingNetworkPriority fromPersistableBundle( public static VcnCellUnderlyingNetworkTemplate fromPersistableBundle( @NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle is null"); Loading @@ -117,7 +117,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork final boolean allowRoaming = in.getBoolean(ALLOW_ROAMING_KEY); final boolean requireOpportunistic = in.getBoolean(REQUIRE_OPPORTUNISTIC_KEY); return new VcnCellUnderlyingNetworkPriority( return new VcnCellUnderlyingNetworkTemplate( networkQuality, allowMetered, allowedNetworkPlmnIds, Loading Loading @@ -190,11 +190,11 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork return false; } if (!(other instanceof VcnCellUnderlyingNetworkPriority)) { if (!(other instanceof VcnCellUnderlyingNetworkTemplate)) { return false; } final VcnCellUnderlyingNetworkPriority rhs = (VcnCellUnderlyingNetworkPriority) other; final VcnCellUnderlyingNetworkTemplate rhs = (VcnCellUnderlyingNetworkTemplate) other; return Objects.equals(mAllowedNetworkPlmnIds, rhs.mAllowedNetworkPlmnIds) && Objects.equals(mAllowedSpecificCarrierIds, rhs.mAllowedSpecificCarrierIds) && mAllowRoaming == rhs.mAllowRoaming Loading @@ -211,7 +211,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork } /** This class is used to incrementally build WifiNetworkPriority objects. */ public static final class Builder extends VcnUnderlyingNetworkPriority.Builder<Builder> { public static final class Builder extends VcnUnderlyingNetworkTemplate.Builder<Builder> { @NonNull private final Set<String> mAllowedNetworkPlmnIds = new ArraySet<>(); @NonNull private final Set<Integer> mAllowedSpecificCarrierIds = new ArraySet<>(); Loading Loading @@ -280,10 +280,10 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork return this; } /** Build the VcnCellUnderlyingNetworkPriority. */ /** Build the VcnCellUnderlyingNetworkTemplate. */ @NonNull public VcnCellUnderlyingNetworkPriority build() { return new VcnCellUnderlyingNetworkPriority( public VcnCellUnderlyingNetworkTemplate build() { return new VcnCellUnderlyingNetworkTemplate( mNetworkQuality, mAllowMetered, mAllowedNetworkPlmnIds, Loading core/java/android/net/vcn/VcnGatewayConnectionConfig.java +15 −15 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package android.net.vcn; import static android.net.ipsec.ike.IkeSessionParams.IKE_OPTION_MOBIKE; import static android.net.vcn.VcnUnderlyingNetworkPriority.NETWORK_QUALITY_OK; import static android.net.vcn.VcnUnderlyingNetworkTemplate.NETWORK_QUALITY_OK; import static com.android.internal.annotations.VisibleForTesting.Visibility; Loading Loading @@ -162,12 +162,12 @@ public final class VcnGatewayConnectionConfig { /** @hide */ @VisibleForTesting(visibility = Visibility.PRIVATE) public static final LinkedHashSet<VcnUnderlyingNetworkPriority> public static final LinkedHashSet<VcnUnderlyingNetworkTemplate> DEFAULT_UNDERLYING_NETWORK_PRIORITIES = new LinkedHashSet<>(); static { DEFAULT_UNDERLYING_NETWORK_PRIORITIES.add( new VcnCellUnderlyingNetworkPriority.Builder() new VcnCellUnderlyingNetworkTemplate.Builder() .setNetworkQuality(NETWORK_QUALITY_OK) .setAllowMetered(true /* allowMetered */) .setAllowRoaming(true /* allowRoaming */) Loading @@ -175,13 +175,13 @@ public final class VcnGatewayConnectionConfig { .build()); DEFAULT_UNDERLYING_NETWORK_PRIORITIES.add( new VcnWifiUnderlyingNetworkPriority.Builder() new VcnWifiUnderlyingNetworkTemplate.Builder() .setNetworkQuality(NETWORK_QUALITY_OK) .setAllowMetered(true /* allowMetered */) .build()); DEFAULT_UNDERLYING_NETWORK_PRIORITIES.add( new VcnCellUnderlyingNetworkPriority.Builder() new VcnCellUnderlyingNetworkTemplate.Builder() .setNetworkQuality(NETWORK_QUALITY_OK) .setAllowMetered(true /* allowMetered */) .setAllowRoaming(true /* allowRoaming */) Loading @@ -202,7 +202,7 @@ public final class VcnGatewayConnectionConfig { @VisibleForTesting(visibility = Visibility.PRIVATE) public static final String UNDERLYING_NETWORK_PRIORITIES_KEY = "mUnderlyingNetworkPriorities"; @NonNull private final LinkedHashSet<VcnUnderlyingNetworkPriority> mUnderlyingNetworkPriorities; @NonNull private final LinkedHashSet<VcnUnderlyingNetworkTemplate> mUnderlyingNetworkPriorities; private static final String MAX_MTU_KEY = "mMaxMtu"; private final int mMaxMtu; Loading @@ -215,7 +215,7 @@ public final class VcnGatewayConnectionConfig { @NonNull String gatewayConnectionName, @NonNull IkeTunnelConnectionParams tunnelConnectionParams, @NonNull Set<Integer> exposedCapabilities, @NonNull LinkedHashSet<VcnUnderlyingNetworkPriority> underlyingNetworkPriorities, @NonNull LinkedHashSet<VcnUnderlyingNetworkTemplate> underlyingNetworkPriorities, @NonNull long[] retryIntervalsMs, @IntRange(from = MIN_MTU_V6) int maxMtu) { mGatewayConnectionName = gatewayConnectionName; Loading Loading @@ -265,7 +265,7 @@ public final class VcnGatewayConnectionConfig { new LinkedHashSet<>( PersistableBundleUtils.toList( networkPrioritiesBundle, VcnUnderlyingNetworkPriority::fromPersistableBundle)); VcnUnderlyingNetworkTemplate::fromPersistableBundle)); } mRetryIntervalsMs = in.getLongArray(RETRY_INTERVAL_MS_KEY); Loading Loading @@ -368,14 +368,14 @@ public final class VcnGatewayConnectionConfig { } /** * Retrieve the configured VcnUnderlyingNetworkPriority list, or a default list if it is not * Retrieve the configured VcnUnderlyingNetworkTemplate list, or a default list if it is not * configured. * * @see Builder#setVcnUnderlyingNetworkPriorities(LinkedHashSet<VcnUnderlyingNetworkPriority>) * @see Builder#setVcnUnderlyingNetworkPriorities(LinkedHashSet<VcnUnderlyingNetworkTemplate>) * @hide */ @NonNull public LinkedHashSet<VcnUnderlyingNetworkPriority> getVcnUnderlyingNetworkPriorities() { public LinkedHashSet<VcnUnderlyingNetworkTemplate> getVcnUnderlyingNetworkPriorities() { return new LinkedHashSet<>(mUnderlyingNetworkPriorities); } Loading Loading @@ -418,7 +418,7 @@ public final class VcnGatewayConnectionConfig { final PersistableBundle networkPrioritiesBundle = PersistableBundleUtils.fromList( new ArrayList<>(mUnderlyingNetworkPriorities), VcnUnderlyingNetworkPriority::toPersistableBundle); VcnUnderlyingNetworkTemplate::toPersistableBundle); result.putString(GATEWAY_CONNECTION_NAME_KEY, mGatewayConnectionName); result.putPersistableBundle(TUNNEL_CONNECTION_PARAMS_KEY, tunnelConnectionParamsBundle); Loading Loading @@ -465,7 +465,7 @@ public final class VcnGatewayConnectionConfig { @NonNull private final Set<Integer> mExposedCapabilities = new ArraySet(); @NonNull private final LinkedHashSet<VcnUnderlyingNetworkPriority> mUnderlyingNetworkPriorities = private final LinkedHashSet<VcnUnderlyingNetworkTemplate> mUnderlyingNetworkPriorities = new LinkedHashSet<>(DEFAULT_UNDERLYING_NETWORK_PRIORITIES); @NonNull private long[] mRetryIntervalsMs = DEFAULT_RETRY_INTERVALS_MS; Loading Loading @@ -539,7 +539,7 @@ public final class VcnGatewayConnectionConfig { } /** * Set the VcnUnderlyingNetworkPriority list. * Set the VcnUnderlyingNetworkTemplate list. * * @param underlyingNetworkPriorities a list of unique VcnUnderlyingNetworkPriorities that * are ordered from most to least preferred, or an empty list to use the default Loading @@ -550,7 +550,7 @@ public final class VcnGatewayConnectionConfig { /** @hide */ @NonNull public Builder setVcnUnderlyingNetworkPriorities( @NonNull LinkedHashSet<VcnUnderlyingNetworkPriority> underlyingNetworkPriorities) { @NonNull LinkedHashSet<VcnUnderlyingNetworkTemplate> underlyingNetworkPriorities) { Objects.requireNonNull( mUnderlyingNetworkPriorities, "underlyingNetworkPriorities is null"); Loading core/java/android/net/vcn/VcnUnderlyingNetworkPriority.java→core/java/android/net/vcn/VcnUnderlyingNetworkTemplate.java +8 −8 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import java.util.Objects; // TODO: Add documents /** @hide */ public abstract class VcnUnderlyingNetworkPriority { public abstract class VcnUnderlyingNetworkTemplate { /** @hide */ protected static final int NETWORK_PRIORITY_TYPE_WIFI = 1; /** @hide */ Loading Loading @@ -68,7 +68,7 @@ public abstract class VcnUnderlyingNetworkPriority { private final boolean mAllowMetered; /** @hide */ protected VcnUnderlyingNetworkPriority( protected VcnUnderlyingNetworkTemplate( int networkPriorityType, int networkQuality, boolean allowMetered) { mNetworkPriorityType = networkPriorityType; mNetworkQuality = networkQuality; Loading @@ -89,16 +89,16 @@ public abstract class VcnUnderlyingNetworkPriority { /** @hide */ @NonNull @VisibleForTesting(visibility = Visibility.PROTECTED) public static VcnUnderlyingNetworkPriority fromPersistableBundle( public static VcnUnderlyingNetworkTemplate fromPersistableBundle( @NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle is null"); final int networkPriorityType = in.getInt(NETWORK_PRIORITY_TYPE_KEY); switch (networkPriorityType) { case NETWORK_PRIORITY_TYPE_WIFI: return VcnWifiUnderlyingNetworkPriority.fromPersistableBundle(in); return VcnWifiUnderlyingNetworkTemplate.fromPersistableBundle(in); case NETWORK_PRIORITY_TYPE_CELL: return VcnCellUnderlyingNetworkPriority.fromPersistableBundle(in); return VcnCellUnderlyingNetworkTemplate.fromPersistableBundle(in); default: throw new IllegalArgumentException( "Invalid networkPriorityType:" + networkPriorityType); Loading @@ -124,11 +124,11 @@ public abstract class VcnUnderlyingNetworkPriority { @Override public boolean equals(@Nullable Object other) { if (!(other instanceof VcnUnderlyingNetworkPriority)) { if (!(other instanceof VcnUnderlyingNetworkTemplate)) { return false; } final VcnUnderlyingNetworkPriority rhs = (VcnUnderlyingNetworkPriority) other; final VcnUnderlyingNetworkTemplate rhs = (VcnUnderlyingNetworkTemplate) other; return mNetworkPriorityType == rhs.mNetworkPriorityType && mNetworkQuality == rhs.mNetworkQuality && mAllowMetered == rhs.mAllowMetered; Loading Loading @@ -168,7 +168,7 @@ public abstract class VcnUnderlyingNetworkPriority { } /** * This class is used to incrementally build VcnUnderlyingNetworkPriority objects. * This class is used to incrementally build VcnUnderlyingNetworkTemplate objects. * * @param <T> The subclass to be built. */ Loading core/java/android/net/vcn/VcnWifiUnderlyingNetworkPriority.java→core/java/android/net/vcn/VcnWifiUnderlyingNetworkTemplate.java +11 −11 Original line number Diff line number Diff line Loading @@ -28,11 +28,11 @@ import java.util.Objects; // TODO: Add documents /** @hide */ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetworkPriority { public final class VcnWifiUnderlyingNetworkTemplate extends VcnUnderlyingNetworkTemplate { private static final String SSID_KEY = "mSsid"; @Nullable private final String mSsid; private VcnWifiUnderlyingNetworkPriority( private VcnWifiUnderlyingNetworkTemplate( int networkQuality, boolean allowMetered, String ssid) { super(NETWORK_PRIORITY_TYPE_WIFI, networkQuality, allowMetered); mSsid = ssid; Loading @@ -43,14 +43,14 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork /** @hide */ @NonNull @VisibleForTesting(visibility = Visibility.PROTECTED) public static VcnWifiUnderlyingNetworkPriority fromPersistableBundle( public static VcnWifiUnderlyingNetworkTemplate fromPersistableBundle( @NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle is null"); final int networkQuality = in.getInt(NETWORK_QUALITY_KEY); final boolean allowMetered = in.getBoolean(ALLOW_METERED_KEY); final String ssid = in.getString(SSID_KEY); return new VcnWifiUnderlyingNetworkPriority(networkQuality, allowMetered, ssid); return new VcnWifiUnderlyingNetworkTemplate(networkQuality, allowMetered, ssid); } /** @hide */ Loading @@ -74,11 +74,11 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork return false; } if (!(other instanceof VcnWifiUnderlyingNetworkPriority)) { if (!(other instanceof VcnWifiUnderlyingNetworkTemplate)) { return false; } final VcnWifiUnderlyingNetworkPriority rhs = (VcnWifiUnderlyingNetworkPriority) other; final VcnWifiUnderlyingNetworkTemplate rhs = (VcnWifiUnderlyingNetworkTemplate) other; return mSsid.equals(rhs.mSsid); } Loading @@ -94,8 +94,8 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork return mSsid; } /** This class is used to incrementally build VcnWifiUnderlyingNetworkPriority objects. */ public static class Builder extends VcnUnderlyingNetworkPriority.Builder<Builder> { /** This class is used to incrementally build VcnWifiUnderlyingNetworkTemplate objects. */ public static class Builder extends VcnUnderlyingNetworkTemplate.Builder<Builder> { @Nullable private String mSsid; /** Construct a Builder object. */ Loading @@ -112,10 +112,10 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork return this; } /** Build the VcnWifiUnderlyingNetworkPriority. */ /** Build the VcnWifiUnderlyingNetworkTemplate. */ @NonNull public VcnWifiUnderlyingNetworkPriority build() { return new VcnWifiUnderlyingNetworkPriority(mNetworkQuality, mAllowMetered, mSsid); public VcnWifiUnderlyingNetworkTemplate build() { return new VcnWifiUnderlyingNetworkTemplate(mNetworkQuality, mAllowMetered, mSsid); } /** @hide */ Loading services/core/java/com/android/server/vcn/routeselection/NetworkPriorityClassifier.java +15 −15 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; import static android.net.NetworkCapabilities.TRANSPORT_TEST; import static android.net.NetworkCapabilities.TRANSPORT_WIFI; import static android.net.vcn.VcnUnderlyingNetworkPriority.NETWORK_QUALITY_ANY; import static android.net.vcn.VcnUnderlyingNetworkPriority.NETWORK_QUALITY_OK; import static android.net.vcn.VcnUnderlyingNetworkTemplate.NETWORK_QUALITY_ANY; import static android.net.vcn.VcnUnderlyingNetworkTemplate.NETWORK_QUALITY_OK; import static com.android.server.VcnManagementService.LOCAL_LOG; Loading @@ -29,10 +29,10 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.net.NetworkCapabilities; import android.net.TelephonyNetworkSpecifier; import android.net.vcn.VcnCellUnderlyingNetworkPriority; import android.net.vcn.VcnCellUnderlyingNetworkTemplate; import android.net.vcn.VcnManager; import android.net.vcn.VcnUnderlyingNetworkPriority; import android.net.vcn.VcnWifiUnderlyingNetworkPriority; import android.net.vcn.VcnUnderlyingNetworkTemplate; import android.net.vcn.VcnWifiUnderlyingNetworkTemplate; import android.os.ParcelUuid; import android.os.PersistableBundle; import android.telephony.SubscriptionManager; Loading Loading @@ -76,7 +76,7 @@ class NetworkPriorityClassifier { public static int calculatePriorityClass( VcnContext vcnContext, UnderlyingNetworkRecord networkRecord, LinkedHashSet<VcnUnderlyingNetworkPriority> underlyingNetworkPriorities, LinkedHashSet<VcnUnderlyingNetworkTemplate> underlyingNetworkPriorities, ParcelUuid subscriptionGroup, TelephonySubscriptionSnapshot snapshot, UnderlyingNetworkRecord currentlySelected, Loading @@ -94,7 +94,7 @@ class NetworkPriorityClassifier { } int priorityIndex = 0; for (VcnUnderlyingNetworkPriority nwPriority : underlyingNetworkPriorities) { for (VcnUnderlyingNetworkTemplate nwPriority : underlyingNetworkPriorities) { if (checkMatchesPriorityRule( vcnContext, nwPriority, Loading @@ -113,7 +113,7 @@ class NetworkPriorityClassifier { @VisibleForTesting(visibility = Visibility.PRIVATE) public static boolean checkMatchesPriorityRule( VcnContext vcnContext, VcnUnderlyingNetworkPriority networkPriority, VcnUnderlyingNetworkTemplate networkPriority, UnderlyingNetworkRecord networkRecord, ParcelUuid subscriptionGroup, TelephonySubscriptionSnapshot snapshot, Loading @@ -130,32 +130,32 @@ class NetworkPriorityClassifier { return true; } if (networkPriority instanceof VcnWifiUnderlyingNetworkPriority) { if (networkPriority instanceof VcnWifiUnderlyingNetworkTemplate) { return checkMatchesWifiPriorityRule( (VcnWifiUnderlyingNetworkPriority) networkPriority, (VcnWifiUnderlyingNetworkTemplate) networkPriority, networkRecord, currentlySelected, carrierConfig); } if (networkPriority instanceof VcnCellUnderlyingNetworkPriority) { if (networkPriority instanceof VcnCellUnderlyingNetworkTemplate) { return checkMatchesCellPriorityRule( vcnContext, (VcnCellUnderlyingNetworkPriority) networkPriority, (VcnCellUnderlyingNetworkTemplate) networkPriority, networkRecord, subscriptionGroup, snapshot); } logWtf( "Got unknown VcnUnderlyingNetworkPriority class: " "Got unknown VcnUnderlyingNetworkTemplate class: " + networkPriority.getClass().getSimpleName()); return false; } @VisibleForTesting(visibility = Visibility.PRIVATE) public static boolean checkMatchesWifiPriorityRule( VcnWifiUnderlyingNetworkPriority networkPriority, VcnWifiUnderlyingNetworkTemplate networkPriority, UnderlyingNetworkRecord networkRecord, UnderlyingNetworkRecord currentlySelected, PersistableBundle carrierConfig) { Loading Loading @@ -202,7 +202,7 @@ class NetworkPriorityClassifier { @VisibleForTesting(visibility = Visibility.PRIVATE) public static boolean checkMatchesCellPriorityRule( VcnContext vcnContext, VcnCellUnderlyingNetworkPriority networkPriority, VcnCellUnderlyingNetworkTemplate networkPriority, UnderlyingNetworkRecord networkRecord, ParcelUuid subscriptionGroup, TelephonySubscriptionSnapshot snapshot) { Loading Loading
core/java/android/net/vcn/VcnCellUnderlyingNetworkPriority.java→core/java/android/net/vcn/VcnCellUnderlyingNetworkTemplate.java +10 −10 Original line number Diff line number Diff line Loading @@ -39,7 +39,7 @@ import java.util.Set; // TODO: Add documents /** @hide */ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetworkPriority { public final class VcnCellUnderlyingNetworkTemplate extends VcnUnderlyingNetworkTemplate { private static final String ALLOWED_NETWORK_PLMN_IDS_KEY = "mAllowedNetworkPlmnIds"; @NonNull private final Set<String> mAllowedNetworkPlmnIds; private static final String ALLOWED_SPECIFIC_CARRIER_IDS_KEY = "mAllowedSpecificCarrierIds"; Loading @@ -51,7 +51,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork private static final String REQUIRE_OPPORTUNISTIC_KEY = "mRequireOpportunistic"; private final boolean mRequireOpportunistic; private VcnCellUnderlyingNetworkPriority( private VcnCellUnderlyingNetworkTemplate( int networkQuality, boolean allowMetered, Set<String> allowedNetworkPlmnIds, Loading Loading @@ -92,7 +92,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork /** @hide */ @NonNull @VisibleForTesting(visibility = Visibility.PROTECTED) public static VcnCellUnderlyingNetworkPriority fromPersistableBundle( public static VcnCellUnderlyingNetworkTemplate fromPersistableBundle( @NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle is null"); Loading @@ -117,7 +117,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork final boolean allowRoaming = in.getBoolean(ALLOW_ROAMING_KEY); final boolean requireOpportunistic = in.getBoolean(REQUIRE_OPPORTUNISTIC_KEY); return new VcnCellUnderlyingNetworkPriority( return new VcnCellUnderlyingNetworkTemplate( networkQuality, allowMetered, allowedNetworkPlmnIds, Loading Loading @@ -190,11 +190,11 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork return false; } if (!(other instanceof VcnCellUnderlyingNetworkPriority)) { if (!(other instanceof VcnCellUnderlyingNetworkTemplate)) { return false; } final VcnCellUnderlyingNetworkPriority rhs = (VcnCellUnderlyingNetworkPriority) other; final VcnCellUnderlyingNetworkTemplate rhs = (VcnCellUnderlyingNetworkTemplate) other; return Objects.equals(mAllowedNetworkPlmnIds, rhs.mAllowedNetworkPlmnIds) && Objects.equals(mAllowedSpecificCarrierIds, rhs.mAllowedSpecificCarrierIds) && mAllowRoaming == rhs.mAllowRoaming Loading @@ -211,7 +211,7 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork } /** This class is used to incrementally build WifiNetworkPriority objects. */ public static final class Builder extends VcnUnderlyingNetworkPriority.Builder<Builder> { public static final class Builder extends VcnUnderlyingNetworkTemplate.Builder<Builder> { @NonNull private final Set<String> mAllowedNetworkPlmnIds = new ArraySet<>(); @NonNull private final Set<Integer> mAllowedSpecificCarrierIds = new ArraySet<>(); Loading Loading @@ -280,10 +280,10 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork return this; } /** Build the VcnCellUnderlyingNetworkPriority. */ /** Build the VcnCellUnderlyingNetworkTemplate. */ @NonNull public VcnCellUnderlyingNetworkPriority build() { return new VcnCellUnderlyingNetworkPriority( public VcnCellUnderlyingNetworkTemplate build() { return new VcnCellUnderlyingNetworkTemplate( mNetworkQuality, mAllowMetered, mAllowedNetworkPlmnIds, Loading
core/java/android/net/vcn/VcnGatewayConnectionConfig.java +15 −15 Original line number Diff line number Diff line Loading @@ -16,7 +16,7 @@ package android.net.vcn; import static android.net.ipsec.ike.IkeSessionParams.IKE_OPTION_MOBIKE; import static android.net.vcn.VcnUnderlyingNetworkPriority.NETWORK_QUALITY_OK; import static android.net.vcn.VcnUnderlyingNetworkTemplate.NETWORK_QUALITY_OK; import static com.android.internal.annotations.VisibleForTesting.Visibility; Loading Loading @@ -162,12 +162,12 @@ public final class VcnGatewayConnectionConfig { /** @hide */ @VisibleForTesting(visibility = Visibility.PRIVATE) public static final LinkedHashSet<VcnUnderlyingNetworkPriority> public static final LinkedHashSet<VcnUnderlyingNetworkTemplate> DEFAULT_UNDERLYING_NETWORK_PRIORITIES = new LinkedHashSet<>(); static { DEFAULT_UNDERLYING_NETWORK_PRIORITIES.add( new VcnCellUnderlyingNetworkPriority.Builder() new VcnCellUnderlyingNetworkTemplate.Builder() .setNetworkQuality(NETWORK_QUALITY_OK) .setAllowMetered(true /* allowMetered */) .setAllowRoaming(true /* allowRoaming */) Loading @@ -175,13 +175,13 @@ public final class VcnGatewayConnectionConfig { .build()); DEFAULT_UNDERLYING_NETWORK_PRIORITIES.add( new VcnWifiUnderlyingNetworkPriority.Builder() new VcnWifiUnderlyingNetworkTemplate.Builder() .setNetworkQuality(NETWORK_QUALITY_OK) .setAllowMetered(true /* allowMetered */) .build()); DEFAULT_UNDERLYING_NETWORK_PRIORITIES.add( new VcnCellUnderlyingNetworkPriority.Builder() new VcnCellUnderlyingNetworkTemplate.Builder() .setNetworkQuality(NETWORK_QUALITY_OK) .setAllowMetered(true /* allowMetered */) .setAllowRoaming(true /* allowRoaming */) Loading @@ -202,7 +202,7 @@ public final class VcnGatewayConnectionConfig { @VisibleForTesting(visibility = Visibility.PRIVATE) public static final String UNDERLYING_NETWORK_PRIORITIES_KEY = "mUnderlyingNetworkPriorities"; @NonNull private final LinkedHashSet<VcnUnderlyingNetworkPriority> mUnderlyingNetworkPriorities; @NonNull private final LinkedHashSet<VcnUnderlyingNetworkTemplate> mUnderlyingNetworkPriorities; private static final String MAX_MTU_KEY = "mMaxMtu"; private final int mMaxMtu; Loading @@ -215,7 +215,7 @@ public final class VcnGatewayConnectionConfig { @NonNull String gatewayConnectionName, @NonNull IkeTunnelConnectionParams tunnelConnectionParams, @NonNull Set<Integer> exposedCapabilities, @NonNull LinkedHashSet<VcnUnderlyingNetworkPriority> underlyingNetworkPriorities, @NonNull LinkedHashSet<VcnUnderlyingNetworkTemplate> underlyingNetworkPriorities, @NonNull long[] retryIntervalsMs, @IntRange(from = MIN_MTU_V6) int maxMtu) { mGatewayConnectionName = gatewayConnectionName; Loading Loading @@ -265,7 +265,7 @@ public final class VcnGatewayConnectionConfig { new LinkedHashSet<>( PersistableBundleUtils.toList( networkPrioritiesBundle, VcnUnderlyingNetworkPriority::fromPersistableBundle)); VcnUnderlyingNetworkTemplate::fromPersistableBundle)); } mRetryIntervalsMs = in.getLongArray(RETRY_INTERVAL_MS_KEY); Loading Loading @@ -368,14 +368,14 @@ public final class VcnGatewayConnectionConfig { } /** * Retrieve the configured VcnUnderlyingNetworkPriority list, or a default list if it is not * Retrieve the configured VcnUnderlyingNetworkTemplate list, or a default list if it is not * configured. * * @see Builder#setVcnUnderlyingNetworkPriorities(LinkedHashSet<VcnUnderlyingNetworkPriority>) * @see Builder#setVcnUnderlyingNetworkPriorities(LinkedHashSet<VcnUnderlyingNetworkTemplate>) * @hide */ @NonNull public LinkedHashSet<VcnUnderlyingNetworkPriority> getVcnUnderlyingNetworkPriorities() { public LinkedHashSet<VcnUnderlyingNetworkTemplate> getVcnUnderlyingNetworkPriorities() { return new LinkedHashSet<>(mUnderlyingNetworkPriorities); } Loading Loading @@ -418,7 +418,7 @@ public final class VcnGatewayConnectionConfig { final PersistableBundle networkPrioritiesBundle = PersistableBundleUtils.fromList( new ArrayList<>(mUnderlyingNetworkPriorities), VcnUnderlyingNetworkPriority::toPersistableBundle); VcnUnderlyingNetworkTemplate::toPersistableBundle); result.putString(GATEWAY_CONNECTION_NAME_KEY, mGatewayConnectionName); result.putPersistableBundle(TUNNEL_CONNECTION_PARAMS_KEY, tunnelConnectionParamsBundle); Loading Loading @@ -465,7 +465,7 @@ public final class VcnGatewayConnectionConfig { @NonNull private final Set<Integer> mExposedCapabilities = new ArraySet(); @NonNull private final LinkedHashSet<VcnUnderlyingNetworkPriority> mUnderlyingNetworkPriorities = private final LinkedHashSet<VcnUnderlyingNetworkTemplate> mUnderlyingNetworkPriorities = new LinkedHashSet<>(DEFAULT_UNDERLYING_NETWORK_PRIORITIES); @NonNull private long[] mRetryIntervalsMs = DEFAULT_RETRY_INTERVALS_MS; Loading Loading @@ -539,7 +539,7 @@ public final class VcnGatewayConnectionConfig { } /** * Set the VcnUnderlyingNetworkPriority list. * Set the VcnUnderlyingNetworkTemplate list. * * @param underlyingNetworkPriorities a list of unique VcnUnderlyingNetworkPriorities that * are ordered from most to least preferred, or an empty list to use the default Loading @@ -550,7 +550,7 @@ public final class VcnGatewayConnectionConfig { /** @hide */ @NonNull public Builder setVcnUnderlyingNetworkPriorities( @NonNull LinkedHashSet<VcnUnderlyingNetworkPriority> underlyingNetworkPriorities) { @NonNull LinkedHashSet<VcnUnderlyingNetworkTemplate> underlyingNetworkPriorities) { Objects.requireNonNull( mUnderlyingNetworkPriorities, "underlyingNetworkPriorities is null"); Loading
core/java/android/net/vcn/VcnUnderlyingNetworkPriority.java→core/java/android/net/vcn/VcnUnderlyingNetworkTemplate.java +8 −8 Original line number Diff line number Diff line Loading @@ -33,7 +33,7 @@ import java.util.Objects; // TODO: Add documents /** @hide */ public abstract class VcnUnderlyingNetworkPriority { public abstract class VcnUnderlyingNetworkTemplate { /** @hide */ protected static final int NETWORK_PRIORITY_TYPE_WIFI = 1; /** @hide */ Loading Loading @@ -68,7 +68,7 @@ public abstract class VcnUnderlyingNetworkPriority { private final boolean mAllowMetered; /** @hide */ protected VcnUnderlyingNetworkPriority( protected VcnUnderlyingNetworkTemplate( int networkPriorityType, int networkQuality, boolean allowMetered) { mNetworkPriorityType = networkPriorityType; mNetworkQuality = networkQuality; Loading @@ -89,16 +89,16 @@ public abstract class VcnUnderlyingNetworkPriority { /** @hide */ @NonNull @VisibleForTesting(visibility = Visibility.PROTECTED) public static VcnUnderlyingNetworkPriority fromPersistableBundle( public static VcnUnderlyingNetworkTemplate fromPersistableBundle( @NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle is null"); final int networkPriorityType = in.getInt(NETWORK_PRIORITY_TYPE_KEY); switch (networkPriorityType) { case NETWORK_PRIORITY_TYPE_WIFI: return VcnWifiUnderlyingNetworkPriority.fromPersistableBundle(in); return VcnWifiUnderlyingNetworkTemplate.fromPersistableBundle(in); case NETWORK_PRIORITY_TYPE_CELL: return VcnCellUnderlyingNetworkPriority.fromPersistableBundle(in); return VcnCellUnderlyingNetworkTemplate.fromPersistableBundle(in); default: throw new IllegalArgumentException( "Invalid networkPriorityType:" + networkPriorityType); Loading @@ -124,11 +124,11 @@ public abstract class VcnUnderlyingNetworkPriority { @Override public boolean equals(@Nullable Object other) { if (!(other instanceof VcnUnderlyingNetworkPriority)) { if (!(other instanceof VcnUnderlyingNetworkTemplate)) { return false; } final VcnUnderlyingNetworkPriority rhs = (VcnUnderlyingNetworkPriority) other; final VcnUnderlyingNetworkTemplate rhs = (VcnUnderlyingNetworkTemplate) other; return mNetworkPriorityType == rhs.mNetworkPriorityType && mNetworkQuality == rhs.mNetworkQuality && mAllowMetered == rhs.mAllowMetered; Loading Loading @@ -168,7 +168,7 @@ public abstract class VcnUnderlyingNetworkPriority { } /** * This class is used to incrementally build VcnUnderlyingNetworkPriority objects. * This class is used to incrementally build VcnUnderlyingNetworkTemplate objects. * * @param <T> The subclass to be built. */ Loading
core/java/android/net/vcn/VcnWifiUnderlyingNetworkPriority.java→core/java/android/net/vcn/VcnWifiUnderlyingNetworkTemplate.java +11 −11 Original line number Diff line number Diff line Loading @@ -28,11 +28,11 @@ import java.util.Objects; // TODO: Add documents /** @hide */ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetworkPriority { public final class VcnWifiUnderlyingNetworkTemplate extends VcnUnderlyingNetworkTemplate { private static final String SSID_KEY = "mSsid"; @Nullable private final String mSsid; private VcnWifiUnderlyingNetworkPriority( private VcnWifiUnderlyingNetworkTemplate( int networkQuality, boolean allowMetered, String ssid) { super(NETWORK_PRIORITY_TYPE_WIFI, networkQuality, allowMetered); mSsid = ssid; Loading @@ -43,14 +43,14 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork /** @hide */ @NonNull @VisibleForTesting(visibility = Visibility.PROTECTED) public static VcnWifiUnderlyingNetworkPriority fromPersistableBundle( public static VcnWifiUnderlyingNetworkTemplate fromPersistableBundle( @NonNull PersistableBundle in) { Objects.requireNonNull(in, "PersistableBundle is null"); final int networkQuality = in.getInt(NETWORK_QUALITY_KEY); final boolean allowMetered = in.getBoolean(ALLOW_METERED_KEY); final String ssid = in.getString(SSID_KEY); return new VcnWifiUnderlyingNetworkPriority(networkQuality, allowMetered, ssid); return new VcnWifiUnderlyingNetworkTemplate(networkQuality, allowMetered, ssid); } /** @hide */ Loading @@ -74,11 +74,11 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork return false; } if (!(other instanceof VcnWifiUnderlyingNetworkPriority)) { if (!(other instanceof VcnWifiUnderlyingNetworkTemplate)) { return false; } final VcnWifiUnderlyingNetworkPriority rhs = (VcnWifiUnderlyingNetworkPriority) other; final VcnWifiUnderlyingNetworkTemplate rhs = (VcnWifiUnderlyingNetworkTemplate) other; return mSsid.equals(rhs.mSsid); } Loading @@ -94,8 +94,8 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork return mSsid; } /** This class is used to incrementally build VcnWifiUnderlyingNetworkPriority objects. */ public static class Builder extends VcnUnderlyingNetworkPriority.Builder<Builder> { /** This class is used to incrementally build VcnWifiUnderlyingNetworkTemplate objects. */ public static class Builder extends VcnUnderlyingNetworkTemplate.Builder<Builder> { @Nullable private String mSsid; /** Construct a Builder object. */ Loading @@ -112,10 +112,10 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork return this; } /** Build the VcnWifiUnderlyingNetworkPriority. */ /** Build the VcnWifiUnderlyingNetworkTemplate. */ @NonNull public VcnWifiUnderlyingNetworkPriority build() { return new VcnWifiUnderlyingNetworkPriority(mNetworkQuality, mAllowMetered, mSsid); public VcnWifiUnderlyingNetworkTemplate build() { return new VcnWifiUnderlyingNetworkTemplate(mNetworkQuality, mAllowMetered, mSsid); } /** @hide */ Loading
services/core/java/com/android/server/vcn/routeselection/NetworkPriorityClassifier.java +15 −15 Original line number Diff line number Diff line Loading @@ -20,8 +20,8 @@ import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING; import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR; import static android.net.NetworkCapabilities.TRANSPORT_TEST; import static android.net.NetworkCapabilities.TRANSPORT_WIFI; import static android.net.vcn.VcnUnderlyingNetworkPriority.NETWORK_QUALITY_ANY; import static android.net.vcn.VcnUnderlyingNetworkPriority.NETWORK_QUALITY_OK; import static android.net.vcn.VcnUnderlyingNetworkTemplate.NETWORK_QUALITY_ANY; import static android.net.vcn.VcnUnderlyingNetworkTemplate.NETWORK_QUALITY_OK; import static com.android.server.VcnManagementService.LOCAL_LOG; Loading @@ -29,10 +29,10 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.net.NetworkCapabilities; import android.net.TelephonyNetworkSpecifier; import android.net.vcn.VcnCellUnderlyingNetworkPriority; import android.net.vcn.VcnCellUnderlyingNetworkTemplate; import android.net.vcn.VcnManager; import android.net.vcn.VcnUnderlyingNetworkPriority; import android.net.vcn.VcnWifiUnderlyingNetworkPriority; import android.net.vcn.VcnUnderlyingNetworkTemplate; import android.net.vcn.VcnWifiUnderlyingNetworkTemplate; import android.os.ParcelUuid; import android.os.PersistableBundle; import android.telephony.SubscriptionManager; Loading Loading @@ -76,7 +76,7 @@ class NetworkPriorityClassifier { public static int calculatePriorityClass( VcnContext vcnContext, UnderlyingNetworkRecord networkRecord, LinkedHashSet<VcnUnderlyingNetworkPriority> underlyingNetworkPriorities, LinkedHashSet<VcnUnderlyingNetworkTemplate> underlyingNetworkPriorities, ParcelUuid subscriptionGroup, TelephonySubscriptionSnapshot snapshot, UnderlyingNetworkRecord currentlySelected, Loading @@ -94,7 +94,7 @@ class NetworkPriorityClassifier { } int priorityIndex = 0; for (VcnUnderlyingNetworkPriority nwPriority : underlyingNetworkPriorities) { for (VcnUnderlyingNetworkTemplate nwPriority : underlyingNetworkPriorities) { if (checkMatchesPriorityRule( vcnContext, nwPriority, Loading @@ -113,7 +113,7 @@ class NetworkPriorityClassifier { @VisibleForTesting(visibility = Visibility.PRIVATE) public static boolean checkMatchesPriorityRule( VcnContext vcnContext, VcnUnderlyingNetworkPriority networkPriority, VcnUnderlyingNetworkTemplate networkPriority, UnderlyingNetworkRecord networkRecord, ParcelUuid subscriptionGroup, TelephonySubscriptionSnapshot snapshot, Loading @@ -130,32 +130,32 @@ class NetworkPriorityClassifier { return true; } if (networkPriority instanceof VcnWifiUnderlyingNetworkPriority) { if (networkPriority instanceof VcnWifiUnderlyingNetworkTemplate) { return checkMatchesWifiPriorityRule( (VcnWifiUnderlyingNetworkPriority) networkPriority, (VcnWifiUnderlyingNetworkTemplate) networkPriority, networkRecord, currentlySelected, carrierConfig); } if (networkPriority instanceof VcnCellUnderlyingNetworkPriority) { if (networkPriority instanceof VcnCellUnderlyingNetworkTemplate) { return checkMatchesCellPriorityRule( vcnContext, (VcnCellUnderlyingNetworkPriority) networkPriority, (VcnCellUnderlyingNetworkTemplate) networkPriority, networkRecord, subscriptionGroup, snapshot); } logWtf( "Got unknown VcnUnderlyingNetworkPriority class: " "Got unknown VcnUnderlyingNetworkTemplate class: " + networkPriority.getClass().getSimpleName()); return false; } @VisibleForTesting(visibility = Visibility.PRIVATE) public static boolean checkMatchesWifiPriorityRule( VcnWifiUnderlyingNetworkPriority networkPriority, VcnWifiUnderlyingNetworkTemplate networkPriority, UnderlyingNetworkRecord networkRecord, UnderlyingNetworkRecord currentlySelected, PersistableBundle carrierConfig) { Loading Loading @@ -202,7 +202,7 @@ class NetworkPriorityClassifier { @VisibleForTesting(visibility = Visibility.PRIVATE) public static boolean checkMatchesCellPriorityRule( VcnContext vcnContext, VcnCellUnderlyingNetworkPriority networkPriority, VcnCellUnderlyingNetworkTemplate networkPriority, UnderlyingNetworkRecord networkRecord, ParcelUuid subscriptionGroup, TelephonySubscriptionSnapshot snapshot) { Loading