19746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak/* 29746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * Copyright (C) 2016 The Android Open Source Project 39746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * 49746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * Licensed under the Apache License, Version 2.0 (the "License"); 59746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * you may not use this file except in compliance with the License. 69746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * You may obtain a copy of the License at 79746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * 89746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * http://www.apache.org/licenses/LICENSE-2.0 99746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * 109746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * Unless required by applicable law or agreed to in writing, software 119746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * distributed under the License is distributed on an "AS IS" BASIS, 129746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * See the License for the specific language governing permissions and 149746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak * limitations under the License. 159746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak */ 169746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 179746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakpackage com.android.internal.telephony; 189746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 199746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport com.android.ims.ImsConfig; 209746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport com.android.ims.ImsReasonInfo; 219746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 227a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiakimport android.net.ConnectivityMetricsEvent; 237a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiakimport android.net.ConnectivityMetricsLogger; 247a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiakimport android.net.IConnectivityMetricsLogger; 259746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport android.os.Bundle; 269746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport android.os.RemoteException; 279746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport android.telephony.ServiceState; 289746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport android.telephony.TelephonyManager; 299746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport android.test.suitebuilder.annotation.SmallTest; 309746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport android.util.ArrayMap; 319746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 329746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport static org.junit.Assert.*; 339746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport static org.mockito.Mockito.*; 349746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 359746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport org.hamcrest.BaseMatcher; 369746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport org.hamcrest.Description; 379746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport org.junit.After; 389746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport org.junit.Before; 399746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport org.junit.Test; 409746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiakimport org.mockito.Mock; 419746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 427a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiakpublic class TelephonyEventLogTest extends TelephonyTest { 439746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak private static final String TAG = "TelephonyEventLogTest"; 449746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 459746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Mock 467a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak private IConnectivityMetricsLogger.Stub mConnectivityMetricsLogger; 479746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 489746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak private TelephonyEventLog mEventLog; 499746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 507a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak private static final class TelephonyEventMatcher extends BaseMatcher<ConnectivityMetricsEvent> { 517a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak int mEventTag; 529746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak ArrayMap<String, Object> mMap = null; 539746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 547a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak public TelephonyEventMatcher(int eventTag, ArrayMap<String, Object> m) { 557a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak mEventTag = eventTag; 569746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mMap = m; 579746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 589746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 599746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Override 609746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public boolean matches(Object item) { 617a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ConnectivityMetricsEvent e = (ConnectivityMetricsEvent) item; 627a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 637a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak if (e.componentTag != ConnectivityMetricsLogger.COMPONENT_TAG_TELEPHONY) { 647a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak logd("Component Tag, actual: " + e.componentTag); 657a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak return false; 667a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak } 677a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 687a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak if (e.eventTag != mEventTag) { 697a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak logd("Component Tag, expected: " + mEventTag + ", actual: " + e.eventTag); 707a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak return false; 717a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak } 727a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 737a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak Bundle b = (Bundle) e.data; 749746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 759746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak // compare only values stored in the map 769746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak for (int i=0; i < mMap.size(); i++) { 779746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak String key = mMap.keyAt(i); 789746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak Object value = mMap.valueAt(i); 799746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak if (!value.equals(b.get(key))) { 809746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak logd("key: " + key + ", expected: " + value + ", actual: " + b.get(key)); 819746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak return false; 829746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 839746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 849746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 859746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak return true; 869746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 879746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 889746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Override 899746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void describeTo(Description description) { 907a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak description.appendText(" tag: " + mEventTag); 917a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak description.appendText(", data: " + mMap.toString()); 929746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 939746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 949746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 959746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Before 969746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void setUp() throws Exception { 977a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak logd("setUp start"); 987a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak super.setUp(TAG); 999746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1007a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak doReturn(mConnectivityMetricsLogger) 1017a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak .when(mConnMetLoggerBinder) 1027a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak .queryLocalInterface(anyString()); 1039746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1047a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak mEventLog = new TelephonyEventLog(0); 1059746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1069746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1079746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @After 1089746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void tearDown() throws Exception { 1099746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog = null; 1107a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak super.tearDown(); 1119746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1129746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1139746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 1149746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteServiceStateChanged() { 1159746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak ServiceState serviceState = new ServiceState(); 1169746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setVoiceRegState(ServiceState.STATE_IN_SERVICE); 1179746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setDataRegState(ServiceState.STATE_IN_SERVICE); 1189746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setVoiceRoamingType(ServiceState.ROAMING_TYPE_NOT_ROAMING); 1199746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setDataRoamingType(ServiceState.ROAMING_TYPE_NOT_ROAMING); 1209746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setVoiceOperatorName("Test Voice Long", "TestVoice", "12345"); 1219746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setDataOperatorName("Test Date Long", "TestData", "67890"); 1229746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setRilVoiceRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); 1239746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak serviceState.setRilDataRadioTechnology(ServiceState.RIL_RADIO_TECHNOLOGY_LTE); 1249746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1259746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeServiceStateChanged(serviceState); 1269746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1279746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 128b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_VOICE_REG_STATE, ServiceState.STATE_IN_SERVICE); 129b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_DATA_REG_STATE, ServiceState.STATE_IN_SERVICE); 130b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_VOICE_ROAMING_TYPE, 131b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak ServiceState.ROAMING_TYPE_NOT_ROAMING); 132b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_DATA_ROAMING_TYPE, 133b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak ServiceState.ROAMING_TYPE_NOT_ROAMING); 134b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak //m.put(TelephonyEventLog.SERVICE_STATE_VOICE_ALPHA_LONG, "Test Voice Long"); 135b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_VOICE_ALPNA_SHORT, "TestVoice"); 136b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_VOICE_NUMERIC, "12345"); 137b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak //m.put(TelephonyEventLog.SERVICE_STATE_DATA_ALPHA_LONG, "Test Date Long"); 138b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_DATA_ALPNA_SHORT, "TestData"); 139b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_DATA_NUMERIC, "67890"); 140b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_VOICE_RAT, ServiceState.RIL_RADIO_TECHNOLOGY_LTE); 141b1759bbf1d382177c4103e70b690f1d26460b0d7Pavel Zhamaitsiak m.put(TelephonyEventLog.SERVICE_STATE_DATA_RAT, ServiceState.RIL_RADIO_TECHNOLOGY_LTE); 1429746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1437a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 1447a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, -1); 1457a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, -1); 1467a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 1479746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 1487a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 1497a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SERVICE_STATE, m))); 1509746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 1519746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 1529746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1539746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1549746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1559746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 1569746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteSetAirplaneMode() { 1579746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetAirplaneMode(true); 1589746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1597a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 1607a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 1617a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_AIRPLANE_MODE); 1627a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 1); 1637a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 1649746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 1657a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 1667a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 1679746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 1689746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 1699746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1709746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1719746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetAirplaneMode(false); 1729746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1737a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 0); 1747a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 1759746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 1767a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 1777a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 1789746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 1799746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 1809746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1819746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1829746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1839746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 1849746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteSetCellDataEnabled() { 1859746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetCellDataEnabled(true); 1869746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1877a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 1887a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 1897a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_CELL_DATA_ENABLED); 1907a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 1); 1917a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 1929746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 1937a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 1947a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 1959746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 1969746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 1979746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 1989746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 1999746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetCellDataEnabled(false); 2009746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2017a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 0); 2027a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 2039746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 2047a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 2057a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 2069746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 2079746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 2089746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2099746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2109746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2119746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 2129746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteSetDataRoamingEnabled() { 2139746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetDataRoamingEnabled(true); 2149746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2157a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 2167a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 2177a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_DATA_ROAMING_ENABLED); 2187a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 1); 2197a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 2209746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 2217a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 2227a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 2239746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 2249746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 2259746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2269746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2279746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetDataRoamingEnabled(false); 2289746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2297a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 0); 2307a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 2319746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 2327a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 2337a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 2349746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 2359746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 2369746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2379746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2389746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2399746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 2409746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteSetPreferredNetworkType() { 2419746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetPreferredNetworkType(RILConstants.NETWORK_MODE_GLOBAL); 2429746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2437a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 2447a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 2457a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_PREFERRED_NETWORK_MODE); 2467a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, RILConstants.NETWORK_MODE_GLOBAL); 2477a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 2489746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 2497a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 2507a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 2519746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 2529746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 2539746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2549746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2559746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2569746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 2579746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteSetWifiEnabled() { 2589746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetWifiEnabled(true); 2599746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2607a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 2617a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 2627a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_WIFI_ENABLED); 2637a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 1); 2647a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 2659746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 2667a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 2677a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 2689746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 2699746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 2709746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2719746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2729746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetWifiEnabled(false); 2739746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2747a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 0); 2757a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 2769746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 2777a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 2787a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 2799746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 2809746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 2819746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2829746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2839746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2849746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 2859746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteSetWfcMode() { 2869746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeSetWfcMode(ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED); 2879746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 2887a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 2897a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 2907a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_WFC_MODE); 2917a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, ImsConfig.WfcModeFeatureValueConstants.CELLULAR_PREFERRED); 2927a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 2939746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 2947a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 2957a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 2969746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 2979746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 2989746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 2999746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3009746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3019746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 3029746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteImsSetFeatureValue() { 3039746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeImsSetFeatureValue(ImsConfig.FeatureConstants.FEATURE_TYPE_VOICE_OVER_LTE, 3049746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak TelephonyManager.NETWORK_TYPE_LTE, 1, ImsConfig.OperationStatusConstants.SUCCESS); 3059746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3067a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 3077a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 3087a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_VO_LTE_ENABLED); 3097a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, 1); 3107a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 3119746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 3127a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 3137a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 3149746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 3159746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 3169746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3179746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3189746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeImsSetFeatureValue(ImsConfig.FeatureConstants.FEATURE_TYPE_VOICE_OVER_WIFI, 3199746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak TelephonyManager.NETWORK_TYPE_IWLAN, 1, ImsConfig.OperationStatusConstants.SUCCESS); 3209746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3217a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_VO_WIFI_ENABLED); 3227a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 3239746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 3247a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 3257a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 3269746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 3279746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 3289746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3299746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3309746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeImsSetFeatureValue(ImsConfig.FeatureConstants.FEATURE_TYPE_VIDEO_OVER_LTE, 3319746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak TelephonyManager.NETWORK_TYPE_LTE, 1, ImsConfig.OperationStatusConstants.SUCCESS); 3329746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3337a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_VI_LTE_ENABLED); 3347a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 3359746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 3367a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 3377a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 3389746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 3399746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 3409746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3419746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3429746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeImsSetFeatureValue(ImsConfig.FeatureConstants.FEATURE_TYPE_VIDEO_OVER_WIFI, 3439746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak TelephonyManager.NETWORK_TYPE_IWLAN, 1, ImsConfig.OperationStatusConstants.SUCCESS); 3449746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3457a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.SETTING_VI_WIFI_ENABLED); 3467a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 3479746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 3487a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 3497a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher(TelephonyEventLog.TAG_SETTINGS, m))); 3509746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 3519746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 3529746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3539746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3549746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3559746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak @Test @SmallTest 3569746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak public void testWriteImsConnectionState() { 3579746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeOnImsConnectionState( 3589746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak TelephonyEventLog.IMS_CONNECTION_STATE_CONNECTED, null); 3599746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3607a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak ArrayMap<String, Object> m = new ArrayMap<>(); 3617a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PHONE_ID, 0); 3627a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, TelephonyEventLog.IMS_CONNECTION_STATE_CONNECTED); 3637a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM2, -1); 3647a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak 3659746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 3667a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 3677a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher( 3687a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak TelephonyEventLog.TAG_IMS_CONNECTION_STATE, m))); 3699746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 3709746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 3719746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3729746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3739746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak mEventLog.writeOnImsConnectionState( 3749746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak TelephonyEventLog.IMS_CONNECTION_STATE_DISCONNECTED, 3759746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak new ImsReasonInfo(1, 2, "test")); 3769746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3777a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_PARAM1, 3787a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak TelephonyEventLog.IMS_CONNECTION_STATE_DISCONNECTED); 3799746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_REASONINFO_CODE, 1); 3809746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_REASONINFO_EXTRA_CODE, 2); 3819746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak m.put(TelephonyEventLog.DATA_KEY_REASONINFO_EXTRA_MESSAGE, "test"); 3829746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak 3839746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak try { 3847a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak verify(mConnectivityMetricsLogger).logEvent( 3857a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak argThat(new TelephonyEventMatcher( 3867a1c1b02c8603c2bf2f3b401facb389528180eedPavel Zhamaitsiak TelephonyEventLog.TAG_IMS_CONNECTION_STATE, m))); 3879746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } catch (RemoteException e) { 3889746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak fail(e.toString()); 3899746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3909746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak } 3919746fca2d7389f0fce6d5d031d87acd87b9de723Pavel Zhamaitsiak}