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

Commit a4f52ce5 authored by Sarah Chin's avatar Sarah Chin Committed by Automerger Merge Worker
Browse files

Implement DataConfigManager methods am: 837dc7a9

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/2009656

Change-Id: I425c5c6f1919d3ae4be1ece6ec2dd8c214ed7ce0
parents 3c2675ae 837dc7a9
Loading
Loading
Loading
Loading
+518 −74

File changed.

Preview size limit exceeded, changes collapsed.

+15 −24
Original line number Diff line number Diff line
@@ -49,7 +49,6 @@ import android.telephony.LinkCapacityEstimate;
import android.telephony.NetworkRegistrationInfo;
import android.telephony.PreciseDataConnectionState;
import android.telephony.ServiceState;
import android.telephony.TelephonyDisplayInfo;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
import android.telephony.data.DataCallResponse;
@@ -422,6 +421,12 @@ public class DataNetwork extends StateMachine {
            this.downlinkBandwidthKbps = downlinkBandwidthKbps;
            this.uplinkBandwidthKbps = uplinkBandwidthKbps;
        }

        @Override
        public String toString() {
            return String.format("NetworkBandwidth=[downlink=%d, uplink=%d]",
                    downlinkBandwidthKbps, uplinkBandwidthKbps);
        }
    }

    /**
@@ -1348,26 +1353,21 @@ public class DataNetwork extends StateMachine {
     *
     * @return The TCP config string used in {@link LinkProperties#setTcpBufferSizes(String)}.
     */
    private @NonNull String getTcpConfig() {
    private @Nullable String getTcpConfig() {
        ServiceState ss = mPhone.getServiceState();
        NetworkRegistrationInfo nrs = ss.getNetworkRegistrationInfo(
                NetworkRegistrationInfo.DOMAIN_PS, mTransport);
        int networkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
        if (nrs != null) {
            networkType = nrs.getAccessNetworkTechnology();
            if (networkType == TelephonyManager.NETWORK_TYPE_LTE && isNrConnected()) {
                // Use the 5G SA TCP config for 5G NSA.
                networkType = TelephonyManager.NETWORK_TYPE_NR;
            }

            if (networkType == TelephonyManager.NETWORK_TYPE_LTE
                    && nrs.isUsingCarrierAggregation()) {
                // Although LTE_CA is not a real RAT, but since LTE CA gernally has higher speed,
                // so we use a different network type to get a different TCP config for LTE CA.
                // Although LTE_CA is not a real RAT, but since LTE CA generally has higher speed
                // we use LTE_CA to get a different TCP config for LTE CA.
                networkType = TelephonyManager.NETWORK_TYPE_LTE_CA;
            }
        }
        return mDataConfigManager.getTcpConfigString(networkType);
        return mDataConfigManager.getTcpConfigString(networkType, ss);
    }

    /**
@@ -1580,13 +1580,8 @@ public class DataNetwork extends StateMachine {
    private void onBandwidthUpdated(int uplinkBandwidthKbps, int downlinkBandwidthKbps) {
        log("onBandwidthUpdated: downlinkBandwidthKbps=" + downlinkBandwidthKbps
                + ", uplinkBandwidthKbps=" + uplinkBandwidthKbps);
        TelephonyDisplayInfo displayInfo = mPhone.getDisplayInfoController()
                .getTelephonyDisplayInfo();
        NetworkBandwidth bandwidthFromConfig = null;
        if (displayInfo != null) {
            bandwidthFromConfig = mDataConfigManager.getBandwidthForNetworkType(
                    getDataNetworkType(), displayInfo.getOverrideNetworkType());
        }
        NetworkBandwidth bandwidthFromConfig =  mDataConfigManager.getBandwidthForNetworkType(
                getDataNetworkType(), mPhone.getServiceState());

        if (downlinkBandwidthKbps == LinkCapacityEstimate.INVALID && bandwidthFromConfig != null) {
            // Fallback to carrier config.
@@ -1624,14 +1619,10 @@ public class DataNetwork extends StateMachine {
            return;
        }
        log("updateBandwidthFromDataConfig");
        TelephonyDisplayInfo displayInfo = mPhone.getDisplayInfoController()
                .getTelephonyDisplayInfo();
        if (displayInfo != null) {
        mNetworkBandwidth = mDataConfigManager.getBandwidthForNetworkType(
                    getDataNetworkType(), displayInfo.getOverrideNetworkType());
                getDataNetworkType(), mPhone.getServiceState());
        updateNetworkCapabilities();
    }
    }

    /**
     * @return The unique context id assigned by the data service in
+3 −6
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ import com.android.internal.telephony.RIL;
import com.android.internal.telephony.RILConstants;
import com.android.internal.telephony.RetryManager;
import com.android.internal.telephony.TelephonyStatsLog;
import com.android.internal.telephony.data.DataConfigManager;
import com.android.internal.telephony.dataconnection.DcTracker.ReleaseNetworkType;
import com.android.internal.telephony.dataconnection.DcTracker.RequestNetworkType;
import com.android.internal.telephony.metrics.DataCallSessionStats;
@@ -1581,12 +1582,8 @@ public class DataConnection extends StateMachine {
    }

    private void updateLinkBandwidthsFromCarrierConfig(int rilRat) {
        String ratName = ServiceState.rilRadioTechnologyToString(rilRat);
        if (rilRat == ServiceState.RIL_RADIO_TECHNOLOGY_LTE && isNRConnected()) {
            ratName = mPhone.getServiceState().getNrFrequencyRange()
                    == ServiceState.FREQUENCY_RANGE_MMWAVE
                    ? DctConstants.RAT_NAME_NR_NSA_MMWAVE : DctConstants.RAT_NAME_NR_NSA;
        }
        String ratName = DataConfigManager.getDataConfigNetworkType(
                ServiceState.rilRadioTechnologyToNetworkType(rilRat), mPhone.getServiceState());

        if (DBG) log("updateLinkBandwidthsFromCarrierConfig: " + ratName);

+12 −8
Original line number Diff line number Diff line
@@ -118,6 +118,7 @@ import com.android.internal.telephony.RILConstants;
import com.android.internal.telephony.RetryManager;
import com.android.internal.telephony.SettingsObserver;
import com.android.internal.telephony.SubscriptionInfoUpdater;
import com.android.internal.telephony.data.DataConfigManager;
import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataAllowedReasonType;
import com.android.internal.telephony.dataconnection.DataConnectionReasons.DataDisallowedReasonType;
import com.android.internal.telephony.dataconnection.DataEnabledSettings.DataEnabledChangedReason;
@@ -4309,15 +4310,18 @@ public class DcTracker extends Handler {
            }
        }
        if (useLte) {
            Pair<Integer, Integer> ltePair = temp.get(DctConstants.RAT_NAME_LTE);
            Pair<Integer, Integer> ltePair =
                    temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_LTE);
            if (ltePair != null) {
                if (temp.containsKey(DctConstants.RAT_NAME_NR_NSA)) {
                    temp.put(DctConstants.RAT_NAME_NR_NSA, new Pair<>(
                            temp.get(DctConstants.RAT_NAME_NR_NSA).first, ltePair.second));
                if (temp.containsKey(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA)) {
                    temp.put(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA, new Pair<>(
                            temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA).first,
                            ltePair.second));
                }
                if (temp.containsKey(DctConstants.RAT_NAME_NR_NSA_MMWAVE)) {
                    temp.put(DctConstants.RAT_NAME_NR_NSA_MMWAVE, new Pair<>(
                            temp.get(DctConstants.RAT_NAME_NR_NSA_MMWAVE).first, ltePair.second));
                if (temp.containsKey(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE)) {
                    temp.put(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE, new Pair<>(
                            temp.get(DataConfigManager.DATA_CONFIG_NETWORK_TYPE_NR_NSA_MMWAVE)
                                    .first, ltePair.second));
                }
            }
        }
@@ -5592,7 +5596,7 @@ public class DcTracker extends Handler {
                    bandwidths = b.getStringArray(CarrierConfigManager.KEY_BANDWIDTH_STRING_ARRAY);
                }
                useLte = b.getBoolean(CarrierConfigManager
                        .KEY_BANDWIDTH_NR_NSA_USE_LTE_VALUE_FOR_UPSTREAM_BOOL);
                        .KEY_BANDWIDTH_NR_NSA_USE_LTE_VALUE_FOR_UPLINK_BOOL);
                mWatchdogTimeMs = b.getLong(CarrierConfigManager.KEY_5G_WATCHDOG_TIME_MS_LONG);
                mNrNsaAllUnmetered = b.getBoolean(CarrierConfigManager.KEY_UNMETERED_NR_NSA_BOOL);
                mNrNsaMmwaveUnmetered = b.getBoolean(