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

Commit 60ad179d authored by Yan Yan's avatar Yan Yan Committed by Gerrit Code Review
Browse files

Merge "Rename VcnUnderlyingNetworkPrioirty to VcnUnderlyingNetworkTemplate"

parents c80cfdc9 a9eec89e
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -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";
@@ -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,
@@ -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");

@@ -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,
@@ -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
@@ -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<>();

@@ -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,
+15 −15
Original line number Diff line number Diff line
@@ -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;

@@ -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 */)
@@ -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 */)
@@ -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;
@@ -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;
@@ -265,7 +265,7 @@ public final class VcnGatewayConnectionConfig {
                    new LinkedHashSet<>(
                            PersistableBundleUtils.toList(
                                    networkPrioritiesBundle,
                                    VcnUnderlyingNetworkPriority::fromPersistableBundle));
                                    VcnUnderlyingNetworkTemplate::fromPersistableBundle));
        }

        mRetryIntervalsMs = in.getLongArray(RETRY_INTERVAL_MS_KEY);
@@ -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);
    }

@@ -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);
@@ -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;
@@ -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
@@ -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");

+8 −8
Original line number Diff line number Diff line
@@ -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 */
@@ -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;
@@ -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);
@@ -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;
@@ -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.
     */
+11 −11
Original line number Diff line number Diff line
@@ -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;
@@ -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 */
@@ -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);
    }

@@ -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. */
@@ -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 */
+15 −15
Original line number Diff line number Diff line
@@ -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;

@@ -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;
@@ -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,
@@ -94,7 +94,7 @@ class NetworkPriorityClassifier {
        }

        int priorityIndex = 0;
        for (VcnUnderlyingNetworkPriority nwPriority : underlyingNetworkPriorities) {
        for (VcnUnderlyingNetworkTemplate nwPriority : underlyingNetworkPriorities) {
            if (checkMatchesPriorityRule(
                    vcnContext,
                    nwPriority,
@@ -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,
@@ -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) {
@@ -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