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

Commit 6ca0ac41 authored by Yan Yan's avatar Yan Yan Committed by Automerger Merge Worker
Browse files

Merge "Rename VcnUnderlyingNetworkPrioirty to VcnUnderlyingNetworkTemplate" am: 60ad179d

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1923190

Change-Id: Id342a2d1f94443765e97ea5a7c397bdbef6a72a8
parents dc271a75 60ad179d
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