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

Commit 30df24c4 authored by Jack Yu's avatar Jack Yu
Browse files

Cleaned up the flag satellite_internet

Cleaned up the 24Q3 flag satellite_internet.

Bug: 326972202
Test: Basic telephony functionality tests
Test: atest FrameworksTelephonyTests
Flag: EXEMPT flag cleanup
Change-Id: I52130d6cfe673a14b3c9d6c55b3f06888bfd48c7
parent 21133d63
Loading
Loading
Loading
Loading
+0 −8
Original line number Diff line number Diff line
@@ -19,14 +19,6 @@ flag {
    bug:"296437388"
}

# OWNER=nagendranb TARGET=24Q3
flag {
    name: "satellite_internet"
    namespace: "telephony"
    description: "This flag enables satellite internet support."
    bug:"326972202"
}

# OWNER=xalle TARGET=24Q3
flag {
    name: "satellite_persistent_logging"
+3 −4
Original line number Diff line number Diff line
@@ -2343,8 +2343,7 @@ public class DataNetwork extends StateMachine {
    private void updateNetworkCapabilities() {
        final NetworkCapabilities.Builder builder = new NetworkCapabilities.Builder();

        if (mFlags.satelliteInternet() && mIsSatellite
                && mDataConfigManager.getForcedCellularTransportCapabilities().stream()
        if (mIsSatellite && mDataConfigManager.getForcedCellularTransportCapabilities().stream()
                .noneMatch(this::hasNetworkCapabilityInNetworkRequests)) {
            builder.addTransportType(NetworkCapabilities.TRANSPORT_SATELLITE);
        } else {
@@ -2552,8 +2551,8 @@ public class DataNetwork extends StateMachine {
        builder.setLinkUpstreamBandwidthKbps(mNetworkBandwidth.uplinkBandwidthKbps);

        // Configure the network as restricted/constrained for unrestricted satellite network.
        if (mFlags.satelliteInternet() && mIsSatellite && builder.build()
                .hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) {
        if (mIsSatellite && builder.build().hasCapability(
                NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)) {

            int dataPolicy;
            if (mFlags.dataServiceCheck()) {
+18 −28
Original line number Diff line number Diff line
@@ -1600,8 +1600,7 @@ public class DataNetworkController extends Handler {
                networkRequest.getHighestPriorityApnTypeNetworkCapability());

        // Check if the request can be satisfied by cellular network or satellite network.
        if (mFeatureFlags.satelliteInternet()
                && !canConnectivityTransportSatisfyNetworkRequest(networkRequest, transport)) {
        if (!canConnectivityTransportSatisfyNetworkRequest(networkRequest, transport)) {
            evaluation.addDataDisallowedReason(
                    DataDisallowedReason.DATA_NETWORK_TRANSPORT_NOT_ALLOWED);
        }
@@ -1990,7 +1989,6 @@ public class DataNetworkController extends Handler {
        }

        // If the network is satellite, then the network must be restricted.
        if (mFeatureFlags.satelliteInternet()) {
        // The IWLAN data network should remain intact even when satellite is connected.
        if (dataNetwork.getTransport() != AccessNetworkConstants.TRANSPORT_TYPE_WLAN
                && mServiceState.isUsingNonTerrestrialNetwork() != dataNetwork.isSatellite()) {
@@ -1999,7 +1997,6 @@ public class DataNetworkController extends Handler {
            evaluation.addDataDisallowedReason(
                    DataDisallowedReason.DATA_NETWORK_TRANSPORT_NOT_ALLOWED);
        }
        }

        // Check whether data limit reached for bootstrap sim, else re-evaluate based on the timer
        // set.
@@ -2283,11 +2280,6 @@ public class DataNetworkController extends Handler {
     * that can bypass any soft disallowed reasons, otherwise {@code false}.
     */
    private boolean isValidRestrictedRequest(@NonNull TelephonyNetworkRequest networkRequest) {

        if (!mFeatureFlags.satelliteInternet()) {
            return !(networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)
                    || networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_ENTERPRISE));
        } else {
        // tethering, enterprise and mms with restricted capabilities always honor soft
        // disallowed reasons and not respected as restricted request
        if (networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_DUN)
@@ -2299,8 +2291,6 @@ public class DataNetworkController extends Handler {
        // soft disallowed reasons and not respected as restricted request
        return !(mServiceState.isUsingNonTerrestrialNetwork()
                && networkRequest.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET));

        }
    }

    /**
+16 −44
Original line number Diff line number Diff line
@@ -404,7 +404,6 @@ public class DataUtils {
    public static List<NetworkRequestList> getGroupedNetworkRequestList(
            @NonNull NetworkRequestList networkRequestList, @NonNull FeatureFlags featureFlags) {
        List<NetworkRequestList> requests = new ArrayList<>();
        if (featureFlags.satelliteInternet()) {
        record NetworkCapabilitiesKey(Set<Integer> caps, Set<Integer> enterpriseIds,
                                      Set<Integer> transportTypes) { }

@@ -423,33 +422,6 @@ public class DataUtils {
                    v -> new NetworkRequestList()).add(networkRequest);
        }
        requests.addAll(requestsMap.values());
        } else {
            // Key is the capabilities set.
            Map<Set<Integer>, NetworkRequestList> requestsMap = new ArrayMap<>();
            for (TelephonyNetworkRequest networkRequest : networkRequestList) {
                requestsMap.computeIfAbsent(Arrays.stream(networkRequest.getCapabilities())
                                .boxed().collect(Collectors.toSet()),
                        v -> new NetworkRequestList()).add(networkRequest);
            }
            // Create separate groups for enterprise requests with different enterprise IDs.
            for (NetworkRequestList requestList : requestsMap.values()) {
                List<TelephonyNetworkRequest> enterpriseRequests = requestList.stream()
                        .filter(request -> request.hasCapability(
                                NetworkCapabilities.NET_CAPABILITY_ENTERPRISE))
                        .toList();
                if (enterpriseRequests.isEmpty()) {
                    requests.add(requestList);
                    continue;
                }
                // Key is the enterprise ID
                Map<Integer, NetworkRequestList> enterpriseRequestsMap = new ArrayMap<>();
                for (TelephonyNetworkRequest request : enterpriseRequests) {
                    enterpriseRequestsMap.computeIfAbsent(request.getCapabilityDifferentiator(),
                            v -> new NetworkRequestList()).add(request);
                }
                requests.addAll(enterpriseRequestsMap.values());
            }
        }
        // Sort the requests so the network request list with higher priority will be at the front.
        return requests.stream()
                .sorted((list1, list2) -> Integer.compare(
+21 −23
Original line number Diff line number Diff line
@@ -329,7 +329,6 @@ public class TelephonyNetworkRequest {
        if ((hasAttribute(CAPABILITY_ATTRIBUTE_APN_SETTING)
                || hasAttribute(CAPABILITY_ATTRIBUTE_TRAFFIC_DESCRIPTOR_DNN))
                && dataProfile.getApnSetting() != null) {
            if (mFeatureFlags.satelliteInternet()) {
            if (mNativeNetworkRequest.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)
                    && !mNativeNetworkRequest.hasTransport(
                            NetworkCapabilities.TRANSPORT_SATELLITE)) {
@@ -355,7 +354,6 @@ public class TelephonyNetworkRequest {
                    return false;
                }
            }
            }
            // Fallback to the legacy APN type matching.
            List<Integer> apnTypes = Arrays.stream(getCapabilities()).boxed()
                    .map(DataUtils::networkCapabilityToApnType)
Loading