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

Commit 9834d962 authored by Sarah Chin's avatar Sarah Chin
Browse files

Use new carrier configs for unmetered network types

DataNetwork check for whether network types are considered unmetered by
carrier configs.

Test: atest DataNetworkTest, DataNetworkControllerTest
Test: basic manual tests
Bug: 253146870
Change-Id: Ibfec3ce636173ee977b1b4c540d08778752cdc30
parent 19f88734
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -2796,9 +2796,12 @@ public class DataNetwork extends StateMachine {
            log("updateMeteredAndCongested: mTempNotMeteredSupported changed to "
                    + mTempNotMeteredSupported);
        }
        if ((mDataNetworkController.getUnmeteredOverrideNetworkTypes().contains(networkType)
                || isNetworkTypeUnmetered(networkType)) != mTempNotMetered) {
            mTempNotMetered = !mTempNotMetered;
        boolean isTempNotMetered = mDataConfigManager.isNetworkTypeUnmetered(
                mTelephonyDisplayInfo, mPhone.getServiceState())
                && (mDataNetworkController.getUnmeteredOverrideNetworkTypes().contains(networkType)
                || isNetworkTypeUnmetered(networkType));
        if (isTempNotMetered != mTempNotMetered) {
            mTempNotMetered = isTempNotMetered;
            changed = true;
            log("updateMeteredAndCongested: mTempNotMetered changed to " + mTempNotMetered);
        }
+2 −0
Original line number Diff line number Diff line
@@ -669,6 +669,8 @@ public class DataNetworkControllerTest extends TelephonyTest {

        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_NETWORK_TEMP_NOT_METERED_SUPPORTED_BOOL,
                true);
        mCarrierConfig.putStringArray(CarrierConfigManager.KEY_UNMETERED_NETWORK_TYPES_STRING_ARRAY,
                new String[] {"NR_NSA", "NR_NSA_MMWAVE", "NR_SA", "NR_SA_MMWAVE"});

        mCarrierConfig.putIntArray(CarrierConfigManager.KEY_ONLY_SINGLE_DC_ALLOWED_INT_ARRAY,
                new int[]{TelephonyManager.NETWORK_TYPE_CDMA, TelephonyManager.NETWORK_TYPE_1xRTT,
+3 −0
Original line number Diff line number Diff line
@@ -56,6 +56,7 @@ import android.telephony.LteVopsSupportInfo;
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;
@@ -337,6 +338,8 @@ public class DataNetworkTest extends TelephonyTest {
        doReturn(DataNetwork.BANDWIDTH_SOURCE_BANDWIDTH_ESTIMATOR)
                .when(mDataConfigManager).getBandwidthEstimateSource();
        doReturn(true).when(mDataConfigManager).isTempNotMeteredSupportedByCarrier();
        doReturn(true).when(mDataConfigManager).isNetworkTypeUnmetered(
                any(TelephonyDisplayInfo.class), any(ServiceState.class));
        doReturn(true).when(mDataConfigManager).isImsDelayTearDownEnabled();
        doReturn(DEFAULT_MTU).when(mDataConfigManager).getDefaultMtu();
        doReturn(FAKE_IMSI).when(mPhone).getSubscriberId();