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

Commit 098aa974 authored by Rafael Higuera Silva's avatar Rafael Higuera Silva
Browse files

Add isDataEnabled field.

Test: make, manual
Change-Id: Ib39152c3801ae61ad681c73fee4474100f6623c0
parent a4f53fca
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -381,6 +381,7 @@ message CellularServiceState {
    optional bool is_internet_pdn_up = 11;
    optional bool is_internet_pdn_up = 11;
    optional int32 fold_state = 12;
    optional int32 fold_state = 12;
    optional bool override_voice_service = 13;
    optional bool override_voice_service = 13;
    optional bool isDataEnabled = 14;


    // Internal use only
    // Internal use only
    optional int64 last_used_millis = 10001;
    optional int64 last_used_millis = 10001;
+2 −1
Original line number Original line Diff line number Diff line
@@ -933,7 +933,8 @@ public class MetricsCollector implements StatsManager.StatsPullAtomCallback {
                state.isEmergencyOnly,
                state.isEmergencyOnly,
                state.isInternetPdnUp,
                state.isInternetPdnUp,
                state.foldState,
                state.foldState,
                state.overrideVoiceService);
                state.overrideVoiceService,
                state.isDataEnabled);
    }
    }


    private static StatsEvent buildStatsEvent(VoiceCallRatUsage usage) {
    private static StatsEvent buildStatsEvent(VoiceCallRatUsage usage) {
+2 −1
Original line number Original line Diff line number Diff line
@@ -1710,7 +1710,8 @@ public class PersistAtomsStorage {
                    && state.isEmergencyOnly == key.isEmergencyOnly
                    && state.isEmergencyOnly == key.isEmergencyOnly
                    && state.isInternetPdnUp == key.isInternetPdnUp
                    && state.isInternetPdnUp == key.isInternetPdnUp
                    && state.foldState == key.foldState
                    && state.foldState == key.foldState
                    && state.overrideVoiceService == key.overrideVoiceService) {
                    && state.overrideVoiceService == key.overrideVoiceService
                    && state.isDataEnabled == key.isDataEnabled) {
                return state;
                return state;
            }
            }
        }
        }
+2 −0
Original line number Original line Diff line number Diff line
@@ -131,6 +131,7 @@ public class ServiceStateStats extends DataNetworkControllerCallback {
            newState.isInternetPdnUp = isInternetPdnUp(mPhone);
            newState.isInternetPdnUp = isInternetPdnUp(mPhone);
            newState.foldState = mDeviceStateHelper.getFoldState();
            newState.foldState = mDeviceStateHelper.getFoldState();
            newState.overrideVoiceService = mOverrideVoiceService.get();
            newState.overrideVoiceService = mOverrideVoiceService.get();
            newState.isDataEnabled = mPhone.getDataSettingsManager().isDataEnabled();
            TimestampedServiceState prevState =
            TimestampedServiceState prevState =
                    mLastState.getAndSet(new TimestampedServiceState(newState, now));
                    mLastState.getAndSet(new TimestampedServiceState(newState, now));
            addServiceStateAndSwitch(
            addServiceStateAndSwitch(
@@ -300,6 +301,7 @@ public class ServiceStateStats extends DataNetworkControllerCallback {
        copy.isInternetPdnUp = state.isInternetPdnUp;
        copy.isInternetPdnUp = state.isInternetPdnUp;
        copy.foldState = state.foldState;
        copy.foldState = state.foldState;
        copy.overrideVoiceService = state.overrideVoiceService;
        copy.overrideVoiceService = state.overrideVoiceService;
        copy.isDataEnabled = state.isDataEnabled;
        return copy;
        return copy;
    }
    }


+31 −0
Original line number Original line Diff line number Diff line
@@ -158,6 +158,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -330,6 +331,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(1);
        state = captor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -342,6 +344,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -379,6 +382,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(1);
        state = captor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_IWLAN, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_IWLAN, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, state.dataRat);
@@ -391,6 +395,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -425,6 +430,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(1);
        state = captor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -466,6 +472,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -504,6 +511,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = serviceStateCaptor.getAllValues().get(1);
        state = serviceStateCaptor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -516,6 +524,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratTo);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratTo);
@@ -557,6 +566,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(CARRIER1_ID, state.carrierId);
        assertEquals(CARRIER1_ID, state.carrierId);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(1);
        state = captor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_IWLAN, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_IWLAN, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -568,6 +578,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(CARRIER1_ID, state.carrierId);
        assertEquals(CARRIER1_ID, state.carrierId);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -597,6 +608,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(0L, state.totalTimeMillis);
        assertEquals(0L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -638,6 +650,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(1);
        state = captor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -650,6 +663,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(2);
        state = captor.getAllValues().get(2);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -662,6 +676,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(400L, state.totalTimeMillis);
        assertEquals(400L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(3);
        state = captor.getAllValues().get(3);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -674,6 +689,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(800L, state.totalTimeMillis);
        assertEquals(800L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -719,6 +735,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(1);
        state = captor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UNKNOWN, state.dataRat);
@@ -731,6 +748,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(5000L, state.totalTimeMillis);
        assertEquals(5000L, state.totalTimeMillis);
        assertEquals(true, state.isEmergencyOnly);
        assertEquals(true, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(2);
        state = captor.getAllValues().get(2);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -743,6 +761,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -808,6 +827,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = serviceStateCaptor.getAllValues().get(1);
        state = serviceStateCaptor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
@@ -820,6 +840,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = serviceStateCaptor.getAllValues().get(2);
        state = serviceStateCaptor.getAllValues().get(2);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
@@ -832,6 +853,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(400L, state.totalTimeMillis);
        assertEquals(400L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, serviceSwitch.ratTo);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, serviceSwitch.ratTo);
@@ -888,6 +910,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = serviceStateCaptor.getAllValues().get(1);
        state = serviceStateCaptor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
@@ -901,6 +924,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(400L, state.totalTimeMillis);
        assertEquals(400L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, serviceSwitch.ratTo);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, serviceSwitch.ratTo);
@@ -957,6 +981,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = serviceStateCaptor.getAllValues().get(1);
        state = serviceStateCaptor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -969,6 +994,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = serviceStateCaptor.getAllValues().get(2);
        state = serviceStateCaptor.getAllValues().get(2);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
@@ -981,6 +1007,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = serviceStateCaptor.getAllValues().get(3);
        state = serviceStateCaptor.getAllValues().get(3);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, state.dataRat);
@@ -993,6 +1020,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        CellularDataServiceSwitch serviceSwitch = serviceSwitchCaptor.getAllValues().get(0);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, serviceSwitch.ratFrom);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, serviceSwitch.ratTo);
        assertEquals(TelephonyManager.NETWORK_TYPE_UMTS, serviceSwitch.ratTo);
@@ -1054,6 +1082,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(100L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        state = captor.getAllValues().get(1);
        state = captor.getAllValues().get(1);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.voiceRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
        assertEquals(TelephonyManager.NETWORK_TYPE_LTE, state.dataRat);
@@ -1066,6 +1095,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(200L, state.totalTimeMillis);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(false, state.isEmergencyOnly);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isInternetPdnUp);
        assertEquals(true, state.isDataEnabled);
        verifyNoMoreInteractions(mPersistAtomsStorage);
        verifyNoMoreInteractions(mPersistAtomsStorage);
    }
    }


@@ -1320,6 +1350,7 @@ public class ServiceStateStatsTest extends TelephonyTest {
        doReturn(1).when(mSecondPhone).getPhoneId();
        doReturn(1).when(mSecondPhone).getPhoneId();
        doReturn(1).when(mUiccController).getSlotIdFromPhoneId(1);
        doReturn(1).when(mUiccController).getSlotIdFromPhoneId(1);
        doReturn(carrierId).when(mSecondPhone).getCarrierId();
        doReturn(carrierId).when(mSecondPhone).getCarrierId();
        doReturn(mDataSettingsManager).when(mSecondPhone).getDataSettingsManager();


        doReturn(true).when(mPhysicalSlot1).isActive();
        doReturn(true).when(mPhysicalSlot1).isActive();
        doReturn(CardState.CARDSTATE_PRESENT).when(mPhysicalSlot1).getCardState();
        doReturn(CardState.CARDSTATE_PRESENT).when(mPhysicalSlot1).getCardState();