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

Commit 0ca780c9 authored by Sarah Chin's avatar Sarah Chin
Browse files

CP bugfixes from ag/13300921 to QPR3

DcTracker:
rename mRoamingUnmetered -> mNrNsaRoamingUnmetered
fix roaming logic in reevaluateUnmeteredConnections

DcTrackerTest:
reset SubscriptionPlans after tests are run

Test: atest DcTrackerTest
Bug: 178830950
Change-Id: I670751e985efb7873298ca542c7eab36a418275c
Merged-In: I8148850ea80d5a05c9e9b4b7de3c2b2b87131c14
parent 45d34996
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -334,7 +334,7 @@ public class DcTracker extends Handler {
    private boolean mNrSaAllUnmetered = false;
    private boolean mNrSaMmwaveUnmetered = false;
    private boolean mNrSaSub6Unmetered = false;
    private boolean mRoamingUnmetered = false;
    private boolean mNrNsaRoamingUnmetered = false;

    /* List of SubscriptionPlans, updated when initialized and when plans are changed. */
    private List<SubscriptionPlan> mSubscriptionPlans = null;
@@ -4131,7 +4131,7 @@ public class DcTracker extends Handler {
    private void reevaluateUnmeteredConnections() {
        log("reevaluateUnmeteredConnections");
        int rat = mPhone.getDisplayInfoController().getTelephonyDisplayInfo().getNetworkType();
        if (isNrUnmetered() && !mPhone.getServiceState().getRoaming() || mRoamingUnmetered) {
        if (isNrUnmetered() && (!mPhone.getServiceState().getRoaming() || mNrNsaRoamingUnmetered)) {
            setDataConnectionUnmetered(true);
            if (!mWatchdog) {
                startWatchdogAlarm();
@@ -5220,7 +5220,7 @@ public class DcTracker extends Handler {
                        CarrierConfigManager.KEY_UNMETERED_NR_SA_MMWAVE_BOOL);
                mNrSaSub6Unmetered = b.getBoolean(
                        CarrierConfigManager.KEY_UNMETERED_NR_SA_SUB6_BOOL);
                mRoamingUnmetered = b.getBoolean(
                mNrNsaRoamingUnmetered = b.getBoolean(
                        CarrierConfigManager.KEY_UNMETERED_NR_NSA_WHEN_ROAMING_BOOL);
            }
        }
+12 −3
Original line number Diff line number Diff line
@@ -1820,9 +1820,9 @@ public class DcTrackerTest extends TelephonyTest {
        clearInvocations(mHandler);
    }

    private void setUpSubscriptionPlans(boolean is5GUnmetered) throws Exception {
    private void setUpSubscriptionPlans(boolean isNrUnmetered) throws Exception {
        List<SubscriptionPlan> plans = new ArrayList<>();
        if (is5GUnmetered) {
        if (isNrUnmetered) {
            plans.add(SubscriptionPlan.Builder
                    .createRecurring(ZonedDateTime.parse("2007-03-14T00:00:00.000Z"),
                            Period.ofMonths(1))
@@ -1840,6 +1840,10 @@ public class DcTrackerTest extends TelephonyTest {
        replaceInstance(DcTracker.class, "mSubscriptionPlans", mDct, plans);
    }

    private void resetSubscriptionPlans() throws Exception {
        replaceInstance(DcTracker.class, "mSubscriptionPlans", mDct, null);
    }

    private boolean isNetworkTypeUnmetered(int networkType) throws Exception {
        Method method = DcTracker.class.getDeclaredMethod(
                "isNetworkTypeUnmetered", int.class);
@@ -1902,7 +1906,6 @@ public class DcTrackerTest extends TelephonyTest {
        plans.add(SubscriptionPlan.Builder
                .createRecurring(ZonedDateTime.parse("2007-03-14T00:00:00.000Z"),
                        Period.ofMonths(1))
                .setTitle("Some 5GB Plan")
                .setDataLimit(SubscriptionPlan.BYTES_UNLIMITED,
                        SubscriptionPlan.LIMIT_BEHAVIOR_THROTTLED)
                .build());
@@ -1911,6 +1914,8 @@ public class DcTrackerTest extends TelephonyTest {
        assertTrue(isNetworkTypeUnmetered(TelephonyManager.NETWORK_TYPE_NR));
        assertTrue(isNetworkTypeUnmetered(TelephonyManager.NETWORK_TYPE_LTE));
        assertTrue(isNetworkTypeUnmetered(TelephonyManager.NETWORK_TYPE_UNKNOWN));

        resetSubscriptionPlans();
    }

    @Test
@@ -1959,6 +1964,7 @@ public class DcTrackerTest extends TelephonyTest {
        verify(mDataConnection, times(2)).onMeterednessChanged(true);

        resetDataConnection(id);
        resetSubscriptionPlans();
    }

    @Test
@@ -2020,6 +2026,7 @@ public class DcTrackerTest extends TelephonyTest {
        verify(mDataConnection, times(2)).onMeterednessChanged(true);

        resetDataConnection(id);
        resetSubscriptionPlans();
    }

    @Test
@@ -2048,6 +2055,7 @@ public class DcTrackerTest extends TelephonyTest {
        verify(mDataConnection, times(1)).onMeterednessChanged(false);

        resetDataConnection(id);
        resetSubscriptionPlans();
    }

    @Test
@@ -2080,6 +2088,7 @@ public class DcTrackerTest extends TelephonyTest {
        assertFalse(getWatchdogStatus());

        resetDataConnection(id);
        resetSubscriptionPlans();
    }

    /**