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

Commit 8d8f48f0 authored by Benedict Wong's avatar Benedict Wong Committed by Gerrit Code Review
Browse files

Merge "Remove usages of hidden connectivity APIs"

parents 59c47d24 3d021a53
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -168,8 +168,8 @@ public class Vcn extends Handler {
            @NonNull NetworkRequest request, int score, int providerId) {
        if (score > getNetworkScore()) {
            Slog.v(getLogTag(),
                    "Request " + request.requestId + " already satisfied by higher-scoring ("
                            + score + ") network from provider " + providerId);
                    "Request already satisfied by higher-scoring (" + score + ") network from "
                            + "provider " + providerId + ": " + request);
            return;
        }

@@ -177,8 +177,7 @@ public class Vcn extends Handler {
        for (VcnGatewayConnectionConfig gatewayConnectionConfig : mVcnGatewayConnections.keySet()) {
            if (requestSatisfiedByGatewayConnectionConfig(request, gatewayConnectionConfig)) {
                Slog.v(getLogTag(),
                        "Request " + request.requestId
                                + " satisfied by existing VcnGatewayConnection");
                        "Request already satisfied by existing VcnGatewayConnection: " + request);
                return;
            }
        }
@@ -202,12 +201,12 @@ public class Vcn extends Handler {

    private boolean requestSatisfiedByGatewayConnectionConfig(
            @NonNull NetworkRequest request, @NonNull VcnGatewayConnectionConfig config) {
        final NetworkCapabilities configCaps = new NetworkCapabilities();
        final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder();
        for (int cap : config.getAllExposedCapabilities()) {
            configCaps.addCapability(cap);
            builder.addCapability(cap);
        }

        return request.networkCapabilities.satisfiedByNetworkCapabilities(configCaps);
        return request.canBeSatisfiedBy(builder.build());
    }

    private String getLogTag() {
+6 −6
Original line number Diff line number Diff line
@@ -963,18 +963,18 @@ public class VcnGatewayConnection extends StateMachine {
    @VisibleForTesting(visibility = Visibility.PRIVATE)
    static NetworkCapabilities buildNetworkCapabilities(
            @NonNull VcnGatewayConnectionConfig gatewayConnectionConfig) {
        final NetworkCapabilities caps = new NetworkCapabilities();
        final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder();

        caps.addTransportType(TRANSPORT_CELLULAR);
        caps.addCapability(NET_CAPABILITY_NOT_CONGESTED);
        caps.addCapability(NET_CAPABILITY_NOT_SUSPENDED);
        builder.addTransportType(TRANSPORT_CELLULAR);
        builder.addCapability(NET_CAPABILITY_NOT_CONGESTED);
        builder.addCapability(NET_CAPABILITY_NOT_SUSPENDED);

        // Add exposed capabilities
        for (int cap : gatewayConnectionConfig.getAllExposedCapabilities()) {
            caps.addCapability(cap);
            builder.addCapability(cap);
        }

        return caps;
        return builder.build();
    }

    private static LinkProperties buildConnectedLinkProperties(
+14 −6
Original line number Diff line number Diff line
@@ -21,9 +21,9 @@ import android.content.Context;
import android.net.NetworkProvider;
import android.net.NetworkRequest;
import android.os.Looper;
import android.util.ArrayMap;
import android.util.ArraySet;
import android.util.Slog;
import android.util.SparseArray;

import java.util.Objects;
import java.util.Set;
@@ -40,7 +40,13 @@ public class VcnNetworkProvider extends NetworkProvider {
    private static final String TAG = VcnNetworkProvider.class.getSimpleName();

    private final Set<NetworkRequestListener> mListeners = new ArraySet<>();
    private final SparseArray<NetworkRequestEntry> mRequests = new SparseArray<>();

    /**
     * Cache of NetworkRequest(s), scores and network providers, keyed by NetworkRequest
     *
     * <p>NetworkRequests are immutable once created, and therefore can be used as stable keys.
     */
    private final ArrayMap<NetworkRequest, NetworkRequestEntry> mRequests = new ArrayMap<>();

    public VcnNetworkProvider(Context context, Looper looper) {
        super(context, looper, VcnNetworkProvider.class.getSimpleName());
@@ -51,8 +57,8 @@ public class VcnNetworkProvider extends NetworkProvider {
        mListeners.add(listener);

        // Send listener all cached requests
        for (int i = 0; i < mRequests.size(); i++) {
            notifyListenerForEvent(listener, mRequests.valueAt(i));
        for (NetworkRequestEntry entry : mRequests.values()) {
            notifyListenerForEvent(listener, entry);
        }
    }

@@ -75,7 +81,9 @@ public class VcnNetworkProvider extends NetworkProvider {
                        request, score, providerId));

        final NetworkRequestEntry entry = new NetworkRequestEntry(request, score, providerId);
        mRequests.put(request.requestId, entry);

        // NetworkRequests are immutable once created, and therefore can be used as stable keys.
        mRequests.put(request, entry);

        // TODO(b/176939047): Intelligently route requests to prioritized VcnInstances (based on
        // Default Data Sub, or similar)
@@ -86,7 +94,7 @@ public class VcnNetworkProvider extends NetworkProvider {

    @Override
    public void onNetworkRequestWithdrawn(@NonNull NetworkRequest request) {
        mRequests.remove(request.requestId);
        mRequests.remove(request);
    }

    private static class NetworkRequestEntry {