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

Commit 7428a74a authored by Yan Yan's avatar Yan Yan Committed by Automerger Merge Worker
Browse files

Merge "Calculate priority based on caller configurations" am: 36a25527 am:...

Merge "Calculate priority based on caller configurations" am: 36a25527 am: 1f79b0cb am: 6d347ca8

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

Change-Id: Ia515bc2a55313decbaa566170743d8e210debe1a
parents 27d6cb52 6d347ca8
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.telephony.TelephonyManager;
import android.util.ArraySet;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.IndentingPrintWriter;
import com.android.server.vcn.util.PersistableBundleUtils;

import java.util.ArrayList;
@@ -200,6 +201,15 @@ public final class VcnCellUnderlyingNetworkPriority extends VcnUnderlyingNetwork
                && mRequireOpportunistic == rhs.mRequireOpportunistic;
    }

    /** @hide */
    @Override
    void dumpTransportSpecificFields(IndentingPrintWriter pw) {
        pw.println("mAllowedNetworkPlmnIds: " + mAllowedNetworkPlmnIds.toString());
        pw.println("mAllowedSpecificCarrierIds: " + mAllowedSpecificCarrierIds.toString());
        pw.println("mAllowRoaming: " + mAllowRoaming);
        pw.println("mRequireOpportunistic: " + mRequireOpportunistic);
    }

    /** This class is used to incrementally build WifiNetworkPriority objects. */
    public static class Builder extends VcnUnderlyingNetworkPriority.Builder<Builder> {
        @NonNull private final Set<String> mAllowedNetworkPlmnIds = new ArraySet<>();
+3 −1
Original line number Diff line number Diff line
@@ -160,7 +160,9 @@ public final class VcnGatewayConnectionConfig {
                TimeUnit.MINUTES.toMillis(15)
            };

    private static final LinkedHashSet<VcnUnderlyingNetworkPriority>
    /** @hide */
    @VisibleForTesting(visibility = Visibility.PRIVATE)
    public static final LinkedHashSet<VcnUnderlyingNetworkPriority>
            DEFAULT_UNDERLYING_NETWORK_PRIORITIES = new LinkedHashSet<>();

    static {
+34 −3
Original line number Diff line number Diff line
@@ -21,8 +21,10 @@ import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.os.PersistableBundle;
import android.util.SparseArray;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.IndentingPrintWriter;
import com.android.internal.util.Preconditions;

import java.lang.annotation.Retention;
@@ -37,10 +39,17 @@ public abstract class VcnUnderlyingNetworkPriority {
    /** @hide */
    protected static final int NETWORK_PRIORITY_TYPE_CELL = 2;

    /** Denotes that network quality needs to be OK */
    public static final int NETWORK_QUALITY_OK = 10000;
    /** Denotes that any network quality is acceptable */
    public static final int NETWORK_QUALITY_ANY = Integer.MAX_VALUE;
    public static final int NETWORK_QUALITY_ANY = 0;
    /** Denotes that network quality needs to be OK */
    public static final int NETWORK_QUALITY_OK = 100000;

    private static final SparseArray<String> NETWORK_QUALITY_TO_STRING_MAP = new SparseArray<>();

    static {
        NETWORK_QUALITY_TO_STRING_MAP.put(NETWORK_QUALITY_ANY, "NETWORK_QUALITY_ANY");
        NETWORK_QUALITY_TO_STRING_MAP.put(NETWORK_QUALITY_OK, "NETWORK_QUALITY_OK");
    }

    /** @hide */
    @Retention(RetentionPolicy.SOURCE)
@@ -125,6 +134,28 @@ public abstract class VcnUnderlyingNetworkPriority {
                && mAllowMetered == rhs.mAllowMetered;
    }

    /** @hide */
    abstract void dumpTransportSpecificFields(IndentingPrintWriter pw);

    /**
     * Dumps the state of this record for logging and debugging purposes.
     *
     * @hide
     */
    public void dump(IndentingPrintWriter pw) {
        pw.println(this.getClass().getSimpleName() + ":");
        pw.increaseIndent();

        pw.println(
                "mNetworkQuality: "
                        + NETWORK_QUALITY_TO_STRING_MAP.get(
                                mNetworkQuality, "Invalid value " + mNetworkQuality));
        pw.println("mAllowMetered: " + mAllowMetered);
        dumpTransportSpecificFields(pw);

        pw.decreaseIndent();
    }

    /** Retrieve the required network quality. */
    @NetworkQuality
    public int getNetworkQuality() {
+7 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import android.annotation.Nullable;
import android.os.PersistableBundle;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.util.IndentingPrintWriter;

import java.util.Objects;

@@ -81,6 +82,12 @@ public final class VcnWifiUnderlyingNetworkPriority extends VcnUnderlyingNetwork
        return mSsid == rhs.mSsid;
    }

    /** @hide */
    @Override
    void dumpTransportSpecificFields(IndentingPrintWriter pw) {
        pw.println("mSsid: " + mSsid);
    }

    /** Retrieve the required SSID, or {@code null} if there is no requirement on SSID. */
    @Nullable
    public String getSsid() {
+3 −1
Original line number Diff line number Diff line
@@ -687,6 +687,7 @@ public class VcnGatewayConnection extends StateMachine {
        mUnderlyingNetworkController =
                mDeps.newUnderlyingNetworkController(
                        mVcnContext,
                        mConnectionConfig,
                        subscriptionGroup,
                        mLastSnapshot,
                        mUnderlyingNetworkControllerCallback);
@@ -2376,11 +2377,12 @@ public class VcnGatewayConnection extends StateMachine {
        /** Builds a new UnderlyingNetworkController. */
        public UnderlyingNetworkController newUnderlyingNetworkController(
                VcnContext vcnContext,
                VcnGatewayConnectionConfig connectionConfig,
                ParcelUuid subscriptionGroup,
                TelephonySubscriptionSnapshot snapshot,
                UnderlyingNetworkControllerCallback callback) {
            return new UnderlyingNetworkController(
                    vcnContext, subscriptionGroup, snapshot, callback);
                    vcnContext, connectionConfig, subscriptionGroup, snapshot, callback);
        }

        /** Builds a new IkeSession. */
Loading