Loading src/com/android/server/telecom/Analytics.java +90 −94 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.telecom; import static java.util.Map.entry; import android.content.Context; import android.os.SystemProperties; Loading Loading @@ -59,101 +61,95 @@ public class Analytics { public static final String ANALYTICS_DUMPSYS_ARG = "analytics"; private static final String CLEAR_ANALYTICS_ARG = "clear"; public static final Map<String, Integer> sLogEventToAnalyticsEvent = new HashMap<String, Integer>() {{ put(LogUtils.Events.SET_SELECT_PHONE_ACCOUNT, AnalyticsEvent.SET_SELECT_PHONE_ACCOUNT); put(LogUtils.Events.REQUEST_HOLD, AnalyticsEvent.REQUEST_HOLD); put(LogUtils.Events.REQUEST_UNHOLD, AnalyticsEvent.REQUEST_UNHOLD); put(LogUtils.Events.SWAP, AnalyticsEvent.SWAP); put(LogUtils.Events.SKIP_RINGING, AnalyticsEvent.SKIP_RINGING); put(LogUtils.Events.CONFERENCE_WITH, AnalyticsEvent.CONFERENCE_WITH); put(LogUtils.Events.SPLIT_FROM_CONFERENCE, AnalyticsEvent.SPLIT_CONFERENCE); put(LogUtils.Events.SET_PARENT, AnalyticsEvent.SET_PARENT); put(LogUtils.Events.MUTE, AnalyticsEvent.MUTE); put(LogUtils.Events.UNMUTE, AnalyticsEvent.UNMUTE); put(LogUtils.Events.AUDIO_ROUTE_BT, AnalyticsEvent.AUDIO_ROUTE_BT); put(LogUtils.Events.AUDIO_ROUTE_EARPIECE, AnalyticsEvent.AUDIO_ROUTE_EARPIECE); put(LogUtils.Events.AUDIO_ROUTE_HEADSET, AnalyticsEvent.AUDIO_ROUTE_HEADSET); put(LogUtils.Events.AUDIO_ROUTE_SPEAKER, AnalyticsEvent.AUDIO_ROUTE_SPEAKER); put(LogUtils.Events.SILENCE, AnalyticsEvent.SILENCE); put(LogUtils.Events.SCREENING_COMPLETED, AnalyticsEvent.SCREENING_COMPLETED); put(LogUtils.Events.BLOCK_CHECK_FINISHED, AnalyticsEvent.BLOCK_CHECK_FINISHED); put(LogUtils.Events.DIRECT_TO_VM_FINISHED, AnalyticsEvent.DIRECT_TO_VM_FINISHED); put(LogUtils.Events.REMOTELY_HELD, AnalyticsEvent.REMOTELY_HELD); put(LogUtils.Events.REMOTELY_UNHELD, AnalyticsEvent.REMOTELY_UNHELD); put(LogUtils.Events.REQUEST_PULL, AnalyticsEvent.REQUEST_PULL); put(LogUtils.Events.REQUEST_ACCEPT, AnalyticsEvent.REQUEST_ACCEPT); put(LogUtils.Events.REQUEST_REJECT, AnalyticsEvent.REQUEST_REJECT); put(LogUtils.Events.SET_ACTIVE, AnalyticsEvent.SET_ACTIVE); put(LogUtils.Events.SET_DISCONNECTED, AnalyticsEvent.SET_DISCONNECTED); put(LogUtils.Events.SET_HOLD, AnalyticsEvent.SET_HOLD); put(LogUtils.Events.SET_DIALING, AnalyticsEvent.SET_DIALING); put(LogUtils.Events.START_CONNECTION, AnalyticsEvent.START_CONNECTION); put(LogUtils.Events.BIND_CS, AnalyticsEvent.BIND_CS); put(LogUtils.Events.CS_BOUND, AnalyticsEvent.CS_BOUND); put(LogUtils.Events.SCREENING_SENT, AnalyticsEvent.SCREENING_SENT); put(LogUtils.Events.DIRECT_TO_VM_INITIATED, AnalyticsEvent.DIRECT_TO_VM_INITIATED); put(LogUtils.Events.BLOCK_CHECK_INITIATED, AnalyticsEvent.BLOCK_CHECK_INITIATED); put(LogUtils.Events.FILTERING_INITIATED, AnalyticsEvent.FILTERING_INITIATED); put(LogUtils.Events.FILTERING_COMPLETED, AnalyticsEvent.FILTERING_COMPLETED); put(LogUtils.Events.FILTERING_TIMED_OUT, AnalyticsEvent.FILTERING_TIMED_OUT); }}; public static final Map<String, Integer> sLogSessionToSessionId = new HashMap<String, Integer> () {{ put(LogUtils.Sessions.ICA_ANSWER_CALL, SessionTiming.ICA_ANSWER_CALL); put(LogUtils.Sessions.ICA_REJECT_CALL, SessionTiming.ICA_REJECT_CALL); put(LogUtils.Sessions.ICA_DISCONNECT_CALL, SessionTiming.ICA_DISCONNECT_CALL); put(LogUtils.Sessions.ICA_HOLD_CALL, SessionTiming.ICA_HOLD_CALL); put(LogUtils.Sessions.ICA_UNHOLD_CALL, SessionTiming.ICA_UNHOLD_CALL); put(LogUtils.Sessions.ICA_MUTE, SessionTiming.ICA_MUTE); put(LogUtils.Sessions.ICA_SET_AUDIO_ROUTE, SessionTiming.ICA_SET_AUDIO_ROUTE); put(LogUtils.Sessions.ICA_CONFERENCE, SessionTiming.ICA_CONFERENCE); put(LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, SessionTiming.CSW_HANDLE_CREATE_CONNECTION_COMPLETE); put(LogUtils.Sessions.CSW_SET_ACTIVE, SessionTiming.CSW_SET_ACTIVE); put(LogUtils.Sessions.CSW_SET_RINGING, SessionTiming.CSW_SET_RINGING); put(LogUtils.Sessions.CSW_SET_DIALING, SessionTiming.CSW_SET_DIALING); put(LogUtils.Sessions.CSW_SET_DISCONNECTED, SessionTiming.CSW_SET_DISCONNECTED); put(LogUtils.Sessions.CSW_SET_ON_HOLD, SessionTiming.CSW_SET_ON_HOLD); put(LogUtils.Sessions.CSW_REMOVE_CALL, SessionTiming.CSW_REMOVE_CALL); put(LogUtils.Sessions.CSW_SET_IS_CONFERENCED, SessionTiming.CSW_SET_IS_CONFERENCED); put(LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL, SessionTiming.CSW_ADD_CONFERENCE_CALL); }}; public static final Map<String, Integer> sLogEventTimingToAnalyticsEventTiming = new HashMap<String, Integer>() {{ put(LogUtils.Events.Timings.ACCEPT_TIMING, ParcelableCallAnalytics.EventTiming.ACCEPT_TIMING); put(LogUtils.Events.Timings.REJECT_TIMING, ParcelableCallAnalytics.EventTiming.REJECT_TIMING); put(LogUtils.Events.Timings.DISCONNECT_TIMING, ParcelableCallAnalytics.EventTiming.DISCONNECT_TIMING); put(LogUtils.Events.Timings.HOLD_TIMING, ParcelableCallAnalytics.EventTiming.HOLD_TIMING); put(LogUtils.Events.Timings.UNHOLD_TIMING, ParcelableCallAnalytics.EventTiming.UNHOLD_TIMING); put(LogUtils.Events.Timings.OUTGOING_TIME_TO_DIALING_TIMING, ParcelableCallAnalytics.EventTiming.OUTGOING_TIME_TO_DIALING_TIMING); put(LogUtils.Events.Timings.BIND_CS_TIMING, ParcelableCallAnalytics.EventTiming.BIND_CS_TIMING); put(LogUtils.Events.Timings.SCREENING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.SCREENING_COMPLETED_TIMING); put(LogUtils.Events.Timings.DIRECT_TO_VM_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.DIRECT_TO_VM_FINISHED_TIMING); put(LogUtils.Events.Timings.BLOCK_CHECK_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.BLOCK_CHECK_FINISHED_TIMING); put(LogUtils.Events.Timings.FILTERING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_COMPLETED_TIMING); put(LogUtils.Events.Timings.FILTERING_TIMED_OUT_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_TIMED_OUT_TIMING); put(LogUtils.Events.Timings.START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING, public static final Map<String, Integer> sLogEventToAnalyticsEvent = Map.ofEntries( entry(LogUtils.Events.SET_SELECT_PHONE_ACCOUNT, AnalyticsEvent.SET_SELECT_PHONE_ACCOUNT), entry(LogUtils.Events.REQUEST_HOLD, AnalyticsEvent.REQUEST_HOLD), entry(LogUtils.Events.REQUEST_UNHOLD, AnalyticsEvent.REQUEST_UNHOLD), entry(LogUtils.Events.SWAP, AnalyticsEvent.SWAP), entry(LogUtils.Events.SKIP_RINGING, AnalyticsEvent.SKIP_RINGING), entry(LogUtils.Events.CONFERENCE_WITH, AnalyticsEvent.CONFERENCE_WITH), entry(LogUtils.Events.SPLIT_FROM_CONFERENCE, AnalyticsEvent.SPLIT_CONFERENCE), entry(LogUtils.Events.SET_PARENT, AnalyticsEvent.SET_PARENT), entry(LogUtils.Events.MUTE, AnalyticsEvent.MUTE), entry(LogUtils.Events.UNMUTE, AnalyticsEvent.UNMUTE), entry(LogUtils.Events.AUDIO_ROUTE_BT, AnalyticsEvent.AUDIO_ROUTE_BT), entry(LogUtils.Events.AUDIO_ROUTE_EARPIECE, AnalyticsEvent.AUDIO_ROUTE_EARPIECE), entry(LogUtils.Events.AUDIO_ROUTE_HEADSET, AnalyticsEvent.AUDIO_ROUTE_HEADSET), entry(LogUtils.Events.AUDIO_ROUTE_SPEAKER, AnalyticsEvent.AUDIO_ROUTE_SPEAKER), entry(LogUtils.Events.SILENCE, AnalyticsEvent.SILENCE), entry(LogUtils.Events.SCREENING_COMPLETED, AnalyticsEvent.SCREENING_COMPLETED), entry(LogUtils.Events.BLOCK_CHECK_FINISHED, AnalyticsEvent.BLOCK_CHECK_FINISHED), entry(LogUtils.Events.DIRECT_TO_VM_FINISHED, AnalyticsEvent.DIRECT_TO_VM_FINISHED), entry(LogUtils.Events.REMOTELY_HELD, AnalyticsEvent.REMOTELY_HELD), entry(LogUtils.Events.REMOTELY_UNHELD, AnalyticsEvent.REMOTELY_UNHELD), entry(LogUtils.Events.REQUEST_PULL, AnalyticsEvent.REQUEST_PULL), entry(LogUtils.Events.REQUEST_ACCEPT, AnalyticsEvent.REQUEST_ACCEPT), entry(LogUtils.Events.REQUEST_REJECT, AnalyticsEvent.REQUEST_REJECT), entry(LogUtils.Events.SET_ACTIVE, AnalyticsEvent.SET_ACTIVE), entry(LogUtils.Events.SET_DISCONNECTED, AnalyticsEvent.SET_DISCONNECTED), entry(LogUtils.Events.SET_HOLD, AnalyticsEvent.SET_HOLD), entry(LogUtils.Events.SET_DIALING, AnalyticsEvent.SET_DIALING), entry(LogUtils.Events.START_CONNECTION, AnalyticsEvent.START_CONNECTION), entry(LogUtils.Events.BIND_CS, AnalyticsEvent.BIND_CS), entry(LogUtils.Events.CS_BOUND, AnalyticsEvent.CS_BOUND), entry(LogUtils.Events.SCREENING_SENT, AnalyticsEvent.SCREENING_SENT), entry(LogUtils.Events.DIRECT_TO_VM_INITIATED, AnalyticsEvent.DIRECT_TO_VM_INITIATED), entry(LogUtils.Events.BLOCK_CHECK_INITIATED, AnalyticsEvent.BLOCK_CHECK_INITIATED), entry(LogUtils.Events.FILTERING_INITIATED, AnalyticsEvent.FILTERING_INITIATED), entry(LogUtils.Events.FILTERING_COMPLETED, AnalyticsEvent.FILTERING_COMPLETED), entry(LogUtils.Events.FILTERING_TIMED_OUT, AnalyticsEvent.FILTERING_TIMED_OUT)); public static final Map<String, Integer> sLogSessionToSessionId = Map.ofEntries( entry(LogUtils.Sessions.ICA_ANSWER_CALL, SessionTiming.ICA_ANSWER_CALL), entry(LogUtils.Sessions.ICA_REJECT_CALL, SessionTiming.ICA_REJECT_CALL), entry(LogUtils.Sessions.ICA_DISCONNECT_CALL, SessionTiming.ICA_DISCONNECT_CALL), entry(LogUtils.Sessions.ICA_HOLD_CALL, SessionTiming.ICA_HOLD_CALL), entry(LogUtils.Sessions.ICA_UNHOLD_CALL, SessionTiming.ICA_UNHOLD_CALL), entry(LogUtils.Sessions.ICA_MUTE, SessionTiming.ICA_MUTE), entry(LogUtils.Sessions.ICA_SET_AUDIO_ROUTE, SessionTiming.ICA_SET_AUDIO_ROUTE), entry(LogUtils.Sessions.ICA_CONFERENCE, SessionTiming.ICA_CONFERENCE), entry(LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, SessionTiming.CSW_HANDLE_CREATE_CONNECTION_COMPLETE), entry(LogUtils.Sessions.CSW_SET_ACTIVE, SessionTiming.CSW_SET_ACTIVE), entry(LogUtils.Sessions.CSW_SET_RINGING, SessionTiming.CSW_SET_RINGING), entry(LogUtils.Sessions.CSW_SET_DIALING, SessionTiming.CSW_SET_DIALING), entry(LogUtils.Sessions.CSW_SET_DISCONNECTED, SessionTiming.CSW_SET_DISCONNECTED), entry(LogUtils.Sessions.CSW_SET_ON_HOLD, SessionTiming.CSW_SET_ON_HOLD), entry(LogUtils.Sessions.CSW_REMOVE_CALL, SessionTiming.CSW_REMOVE_CALL), entry(LogUtils.Sessions.CSW_SET_IS_CONFERENCED, SessionTiming.CSW_SET_IS_CONFERENCED), entry(LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL, SessionTiming.CSW_ADD_CONFERENCE_CALL)); public static final Map<String, Integer> sLogEventTimingToAnalyticsEventTiming = Map.ofEntries( entry(LogUtils.Events.Timings.ACCEPT_TIMING, ParcelableCallAnalytics.EventTiming.ACCEPT_TIMING), entry(LogUtils.Events.Timings.REJECT_TIMING, ParcelableCallAnalytics.EventTiming.REJECT_TIMING), entry(LogUtils.Events.Timings.DISCONNECT_TIMING, ParcelableCallAnalytics.EventTiming.DISCONNECT_TIMING), entry(LogUtils.Events.Timings.HOLD_TIMING, ParcelableCallAnalytics.EventTiming.HOLD_TIMING), entry(LogUtils.Events.Timings.UNHOLD_TIMING, ParcelableCallAnalytics.EventTiming.UNHOLD_TIMING), entry(LogUtils.Events.Timings.OUTGOING_TIME_TO_DIALING_TIMING, ParcelableCallAnalytics.EventTiming.OUTGOING_TIME_TO_DIALING_TIMING), entry(LogUtils.Events.Timings.BIND_CS_TIMING, ParcelableCallAnalytics.EventTiming.BIND_CS_TIMING), entry(LogUtils.Events.Timings.SCREENING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.SCREENING_COMPLETED_TIMING), entry(LogUtils.Events.Timings.DIRECT_TO_VM_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.DIRECT_TO_VM_FINISHED_TIMING), entry(LogUtils.Events.Timings.BLOCK_CHECK_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.BLOCK_CHECK_FINISHED_TIMING), entry(LogUtils.Events.Timings.FILTERING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_COMPLETED_TIMING), entry(LogUtils.Events.Timings.FILTERING_TIMED_OUT_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_TIMED_OUT_TIMING), entry(LogUtils.Events.Timings.START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING, ParcelableCallAnalytics.EventTiming. START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING); }}; START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING)); public static final Map<Integer, String> sSessionIdToLogSession = new HashMap<>(); static { Loading tests/src/com/android/server/telecom/tests/CallsManagerTest.java +3 −5 Original line number Diff line number Diff line Loading @@ -165,11 +165,9 @@ public class CallsManagerTest extends TelecomTestCase { private static final Uri TEST_ADDRESS = Uri.parse("tel:555-1212"); private static final Uri TEST_ADDRESS2 = Uri.parse("tel:555-1213"); private static final Uri TEST_ADDRESS3 = Uri.parse("tel:555-1214"); private static final Map<Uri, PhoneAccountHandle> CONTACT_PREFERRED_ACCOUNT = new HashMap<Uri, PhoneAccountHandle>() {{ put(TEST_ADDRESS2, SIM_1_HANDLE); put(TEST_ADDRESS3, SIM_2_HANDLE); }}; private static final Map<Uri, PhoneAccountHandle> CONTACT_PREFERRED_ACCOUNT = Map.of( TEST_ADDRESS2, SIM_1_HANDLE, TEST_ADDRESS3, SIM_2_HANDLE); private static int sCallId = 1; private final TelecomSystem.SyncRoot mLock = new TelecomSystem.SyncRoot() { }; Loading tests/src/com/android/server/telecom/tests/ProximitySensorManagerTest.java +5 −9 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import org.mockito.Mock; import java.util.ArrayList; import java.util.List; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; Loading Loading @@ -67,9 +67,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testTurnOnProximityWithCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>(){{ add(mCall); }}); when(mCallsManager.getCalls()).thenReturn(List.of(mCall)); when(mWakeLockAdapter.isHeld()).thenReturn(false); mProximitySensorManager.turnOn(); Loading @@ -80,7 +78,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testTurnOnProximityWithNoCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>()); when(mCallsManager.getCalls()).thenReturn(List.of()); when(mWakeLockAdapter.isHeld()).thenReturn(false); mProximitySensorManager.turnOn(); Loading @@ -102,9 +100,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testCallRemovedFromCallsManagerCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>(){{ add(mCall); }}); when(mCallsManager.getCalls()).thenReturn(List.of(mCall)); when(mWakeLockAdapter.isHeld()).thenReturn(true); mProximitySensorManager.onCallRemoved(mock(Call.class)); Loading @@ -115,7 +111,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testCallRemovedFromCallsManagerNoCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>()); when(mCallsManager.getCalls()).thenReturn(List.of()); when(mWakeLockAdapter.isHeld()).thenReturn(true); mProximitySensorManager.onCallRemoved(mock(Call.class)); Loading tests/src/com/android/server/telecom/tests/SessionTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ public class SessionTest extends TelecomTestCase { * Ensure creating two sessions that are parent/child of each other does not lead to a crash * or infinite recursion when using Session#toString. */ @SuppressWarnings("ReturnValueIgnored") @SmallTest @Test public void testRecursion_toString() { Loading @@ -159,7 +160,6 @@ public class SessionTest extends TelecomTestCase { // Make sure calling these methods does not result in a crash try { parentSession.toString(); childSession.toString(); } catch (Exception e) { Loading @@ -176,6 +176,7 @@ public class SessionTest extends TelecomTestCase { * Ensure creating two sessions and setting the child as the parent to itself doesn't cause a * crash due to infinite recursion. */ @SuppressWarnings("ReturnValueIgnored") @SmallTest @Test public void testRecursion_toString_childCircDep() { Loading Loading @@ -237,6 +238,7 @@ public class SessionTest extends TelecomTestCase { * Ensure creating two sessions that are parent/child of each other does not lead to a crash * or infinite recursion in the general case. */ @SuppressWarnings("ReturnValueIgnored") @SmallTest @Test public void testRecursion() { Loading tests/src/com/android/server/telecom/tests/TelecomServiceImplTest.java +13 −26 Original line number Diff line number Diff line Loading @@ -372,14 +372,9 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetCallCapablePhoneAccounts() throws RemoteException { List<PhoneAccountHandle> fullPHList = new ArrayList<PhoneAccountHandle>() {{ add(TEL_PA_HANDLE_16); add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> smallPHList = new ArrayList<PhoneAccountHandle>() {{ add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> fullPHList = List.of(TEL_PA_HANDLE_16, SIP_PA_HANDLE_17); List<PhoneAccountHandle> smallPHList = List.of(SIP_PA_HANDLE_17); // Returns all phone accounts when getCallCapablePhoneAccounts is called. when(mFakePhoneAccountRegistrar .getCallCapablePhoneAccounts(nullable(String.class), eq(true), Loading @@ -399,10 +394,8 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetCallCapablePhoneAccountsFailure() throws RemoteException { List<String> enforcedPermissions = new ArrayList<String>() {{ add(READ_PHONE_STATE); add(READ_PRIVILEGED_PHONE_STATE); }}; List<String> enforcedPermissions = List.of(READ_PHONE_STATE, READ_PRIVILEGED_PHONE_STATE); doThrow(new SecurityException()).when(mContext).enforceCallingOrSelfPermission( argThat(new AnyStringIn(enforcedPermissions)), anyString()); Loading @@ -420,13 +413,9 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetPhoneAccountsSupportingScheme() throws RemoteException { List<PhoneAccountHandle> sipPHList = new ArrayList<PhoneAccountHandle>() {{ add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> sipPHList = List.of(SIP_PA_HANDLE_17); List<PhoneAccountHandle> telPHList = List.of(TEL_PA_HANDLE_16); List<PhoneAccountHandle> telPHList = new ArrayList<PhoneAccountHandle>() {{ add(TEL_PA_HANDLE_16); }}; when(mFakePhoneAccountRegistrar .getCallCapablePhoneAccounts(eq("tel"), anyBoolean(), any(UserHandle.class))) .thenReturn(telPHList); Loading @@ -444,10 +433,8 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetPhoneAccountsForPackage() throws RemoteException { List<PhoneAccountHandle> phoneAccountHandleList = new ArrayList<PhoneAccountHandle>() {{ add(TEL_PA_HANDLE_16); add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> phoneAccountHandleList = List.of( TEL_PA_HANDLE_16, SIP_PA_HANDLE_17); when(mFakePhoneAccountRegistrar .getPhoneAccountsForPackage(anyString(), any(UserHandle.class))) .thenReturn(phoneAccountHandleList); Loading Loading @@ -476,10 +463,10 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetAllPhoneAccounts() throws RemoteException { List<PhoneAccount> phoneAccountList = new ArrayList<PhoneAccount>() {{ add(makePhoneAccount(TEL_PA_HANDLE_16).build()); add(makePhoneAccount(SIP_PA_HANDLE_17).build()); }}; List<PhoneAccount> phoneAccountList = List.of( makePhoneAccount(TEL_PA_HANDLE_16).build(), makePhoneAccount(SIP_PA_HANDLE_17).build()); when(mFakePhoneAccountRegistrar.getAllPhoneAccounts(any(UserHandle.class))) .thenReturn(phoneAccountList); Loading Loading
src/com/android/server/telecom/Analytics.java +90 −94 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package com.android.server.telecom; import static java.util.Map.entry; import android.content.Context; import android.os.SystemProperties; Loading Loading @@ -59,101 +61,95 @@ public class Analytics { public static final String ANALYTICS_DUMPSYS_ARG = "analytics"; private static final String CLEAR_ANALYTICS_ARG = "clear"; public static final Map<String, Integer> sLogEventToAnalyticsEvent = new HashMap<String, Integer>() {{ put(LogUtils.Events.SET_SELECT_PHONE_ACCOUNT, AnalyticsEvent.SET_SELECT_PHONE_ACCOUNT); put(LogUtils.Events.REQUEST_HOLD, AnalyticsEvent.REQUEST_HOLD); put(LogUtils.Events.REQUEST_UNHOLD, AnalyticsEvent.REQUEST_UNHOLD); put(LogUtils.Events.SWAP, AnalyticsEvent.SWAP); put(LogUtils.Events.SKIP_RINGING, AnalyticsEvent.SKIP_RINGING); put(LogUtils.Events.CONFERENCE_WITH, AnalyticsEvent.CONFERENCE_WITH); put(LogUtils.Events.SPLIT_FROM_CONFERENCE, AnalyticsEvent.SPLIT_CONFERENCE); put(LogUtils.Events.SET_PARENT, AnalyticsEvent.SET_PARENT); put(LogUtils.Events.MUTE, AnalyticsEvent.MUTE); put(LogUtils.Events.UNMUTE, AnalyticsEvent.UNMUTE); put(LogUtils.Events.AUDIO_ROUTE_BT, AnalyticsEvent.AUDIO_ROUTE_BT); put(LogUtils.Events.AUDIO_ROUTE_EARPIECE, AnalyticsEvent.AUDIO_ROUTE_EARPIECE); put(LogUtils.Events.AUDIO_ROUTE_HEADSET, AnalyticsEvent.AUDIO_ROUTE_HEADSET); put(LogUtils.Events.AUDIO_ROUTE_SPEAKER, AnalyticsEvent.AUDIO_ROUTE_SPEAKER); put(LogUtils.Events.SILENCE, AnalyticsEvent.SILENCE); put(LogUtils.Events.SCREENING_COMPLETED, AnalyticsEvent.SCREENING_COMPLETED); put(LogUtils.Events.BLOCK_CHECK_FINISHED, AnalyticsEvent.BLOCK_CHECK_FINISHED); put(LogUtils.Events.DIRECT_TO_VM_FINISHED, AnalyticsEvent.DIRECT_TO_VM_FINISHED); put(LogUtils.Events.REMOTELY_HELD, AnalyticsEvent.REMOTELY_HELD); put(LogUtils.Events.REMOTELY_UNHELD, AnalyticsEvent.REMOTELY_UNHELD); put(LogUtils.Events.REQUEST_PULL, AnalyticsEvent.REQUEST_PULL); put(LogUtils.Events.REQUEST_ACCEPT, AnalyticsEvent.REQUEST_ACCEPT); put(LogUtils.Events.REQUEST_REJECT, AnalyticsEvent.REQUEST_REJECT); put(LogUtils.Events.SET_ACTIVE, AnalyticsEvent.SET_ACTIVE); put(LogUtils.Events.SET_DISCONNECTED, AnalyticsEvent.SET_DISCONNECTED); put(LogUtils.Events.SET_HOLD, AnalyticsEvent.SET_HOLD); put(LogUtils.Events.SET_DIALING, AnalyticsEvent.SET_DIALING); put(LogUtils.Events.START_CONNECTION, AnalyticsEvent.START_CONNECTION); put(LogUtils.Events.BIND_CS, AnalyticsEvent.BIND_CS); put(LogUtils.Events.CS_BOUND, AnalyticsEvent.CS_BOUND); put(LogUtils.Events.SCREENING_SENT, AnalyticsEvent.SCREENING_SENT); put(LogUtils.Events.DIRECT_TO_VM_INITIATED, AnalyticsEvent.DIRECT_TO_VM_INITIATED); put(LogUtils.Events.BLOCK_CHECK_INITIATED, AnalyticsEvent.BLOCK_CHECK_INITIATED); put(LogUtils.Events.FILTERING_INITIATED, AnalyticsEvent.FILTERING_INITIATED); put(LogUtils.Events.FILTERING_COMPLETED, AnalyticsEvent.FILTERING_COMPLETED); put(LogUtils.Events.FILTERING_TIMED_OUT, AnalyticsEvent.FILTERING_TIMED_OUT); }}; public static final Map<String, Integer> sLogSessionToSessionId = new HashMap<String, Integer> () {{ put(LogUtils.Sessions.ICA_ANSWER_CALL, SessionTiming.ICA_ANSWER_CALL); put(LogUtils.Sessions.ICA_REJECT_CALL, SessionTiming.ICA_REJECT_CALL); put(LogUtils.Sessions.ICA_DISCONNECT_CALL, SessionTiming.ICA_DISCONNECT_CALL); put(LogUtils.Sessions.ICA_HOLD_CALL, SessionTiming.ICA_HOLD_CALL); put(LogUtils.Sessions.ICA_UNHOLD_CALL, SessionTiming.ICA_UNHOLD_CALL); put(LogUtils.Sessions.ICA_MUTE, SessionTiming.ICA_MUTE); put(LogUtils.Sessions.ICA_SET_AUDIO_ROUTE, SessionTiming.ICA_SET_AUDIO_ROUTE); put(LogUtils.Sessions.ICA_CONFERENCE, SessionTiming.ICA_CONFERENCE); put(LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, SessionTiming.CSW_HANDLE_CREATE_CONNECTION_COMPLETE); put(LogUtils.Sessions.CSW_SET_ACTIVE, SessionTiming.CSW_SET_ACTIVE); put(LogUtils.Sessions.CSW_SET_RINGING, SessionTiming.CSW_SET_RINGING); put(LogUtils.Sessions.CSW_SET_DIALING, SessionTiming.CSW_SET_DIALING); put(LogUtils.Sessions.CSW_SET_DISCONNECTED, SessionTiming.CSW_SET_DISCONNECTED); put(LogUtils.Sessions.CSW_SET_ON_HOLD, SessionTiming.CSW_SET_ON_HOLD); put(LogUtils.Sessions.CSW_REMOVE_CALL, SessionTiming.CSW_REMOVE_CALL); put(LogUtils.Sessions.CSW_SET_IS_CONFERENCED, SessionTiming.CSW_SET_IS_CONFERENCED); put(LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL, SessionTiming.CSW_ADD_CONFERENCE_CALL); }}; public static final Map<String, Integer> sLogEventTimingToAnalyticsEventTiming = new HashMap<String, Integer>() {{ put(LogUtils.Events.Timings.ACCEPT_TIMING, ParcelableCallAnalytics.EventTiming.ACCEPT_TIMING); put(LogUtils.Events.Timings.REJECT_TIMING, ParcelableCallAnalytics.EventTiming.REJECT_TIMING); put(LogUtils.Events.Timings.DISCONNECT_TIMING, ParcelableCallAnalytics.EventTiming.DISCONNECT_TIMING); put(LogUtils.Events.Timings.HOLD_TIMING, ParcelableCallAnalytics.EventTiming.HOLD_TIMING); put(LogUtils.Events.Timings.UNHOLD_TIMING, ParcelableCallAnalytics.EventTiming.UNHOLD_TIMING); put(LogUtils.Events.Timings.OUTGOING_TIME_TO_DIALING_TIMING, ParcelableCallAnalytics.EventTiming.OUTGOING_TIME_TO_DIALING_TIMING); put(LogUtils.Events.Timings.BIND_CS_TIMING, ParcelableCallAnalytics.EventTiming.BIND_CS_TIMING); put(LogUtils.Events.Timings.SCREENING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.SCREENING_COMPLETED_TIMING); put(LogUtils.Events.Timings.DIRECT_TO_VM_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.DIRECT_TO_VM_FINISHED_TIMING); put(LogUtils.Events.Timings.BLOCK_CHECK_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.BLOCK_CHECK_FINISHED_TIMING); put(LogUtils.Events.Timings.FILTERING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_COMPLETED_TIMING); put(LogUtils.Events.Timings.FILTERING_TIMED_OUT_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_TIMED_OUT_TIMING); put(LogUtils.Events.Timings.START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING, public static final Map<String, Integer> sLogEventToAnalyticsEvent = Map.ofEntries( entry(LogUtils.Events.SET_SELECT_PHONE_ACCOUNT, AnalyticsEvent.SET_SELECT_PHONE_ACCOUNT), entry(LogUtils.Events.REQUEST_HOLD, AnalyticsEvent.REQUEST_HOLD), entry(LogUtils.Events.REQUEST_UNHOLD, AnalyticsEvent.REQUEST_UNHOLD), entry(LogUtils.Events.SWAP, AnalyticsEvent.SWAP), entry(LogUtils.Events.SKIP_RINGING, AnalyticsEvent.SKIP_RINGING), entry(LogUtils.Events.CONFERENCE_WITH, AnalyticsEvent.CONFERENCE_WITH), entry(LogUtils.Events.SPLIT_FROM_CONFERENCE, AnalyticsEvent.SPLIT_CONFERENCE), entry(LogUtils.Events.SET_PARENT, AnalyticsEvent.SET_PARENT), entry(LogUtils.Events.MUTE, AnalyticsEvent.MUTE), entry(LogUtils.Events.UNMUTE, AnalyticsEvent.UNMUTE), entry(LogUtils.Events.AUDIO_ROUTE_BT, AnalyticsEvent.AUDIO_ROUTE_BT), entry(LogUtils.Events.AUDIO_ROUTE_EARPIECE, AnalyticsEvent.AUDIO_ROUTE_EARPIECE), entry(LogUtils.Events.AUDIO_ROUTE_HEADSET, AnalyticsEvent.AUDIO_ROUTE_HEADSET), entry(LogUtils.Events.AUDIO_ROUTE_SPEAKER, AnalyticsEvent.AUDIO_ROUTE_SPEAKER), entry(LogUtils.Events.SILENCE, AnalyticsEvent.SILENCE), entry(LogUtils.Events.SCREENING_COMPLETED, AnalyticsEvent.SCREENING_COMPLETED), entry(LogUtils.Events.BLOCK_CHECK_FINISHED, AnalyticsEvent.BLOCK_CHECK_FINISHED), entry(LogUtils.Events.DIRECT_TO_VM_FINISHED, AnalyticsEvent.DIRECT_TO_VM_FINISHED), entry(LogUtils.Events.REMOTELY_HELD, AnalyticsEvent.REMOTELY_HELD), entry(LogUtils.Events.REMOTELY_UNHELD, AnalyticsEvent.REMOTELY_UNHELD), entry(LogUtils.Events.REQUEST_PULL, AnalyticsEvent.REQUEST_PULL), entry(LogUtils.Events.REQUEST_ACCEPT, AnalyticsEvent.REQUEST_ACCEPT), entry(LogUtils.Events.REQUEST_REJECT, AnalyticsEvent.REQUEST_REJECT), entry(LogUtils.Events.SET_ACTIVE, AnalyticsEvent.SET_ACTIVE), entry(LogUtils.Events.SET_DISCONNECTED, AnalyticsEvent.SET_DISCONNECTED), entry(LogUtils.Events.SET_HOLD, AnalyticsEvent.SET_HOLD), entry(LogUtils.Events.SET_DIALING, AnalyticsEvent.SET_DIALING), entry(LogUtils.Events.START_CONNECTION, AnalyticsEvent.START_CONNECTION), entry(LogUtils.Events.BIND_CS, AnalyticsEvent.BIND_CS), entry(LogUtils.Events.CS_BOUND, AnalyticsEvent.CS_BOUND), entry(LogUtils.Events.SCREENING_SENT, AnalyticsEvent.SCREENING_SENT), entry(LogUtils.Events.DIRECT_TO_VM_INITIATED, AnalyticsEvent.DIRECT_TO_VM_INITIATED), entry(LogUtils.Events.BLOCK_CHECK_INITIATED, AnalyticsEvent.BLOCK_CHECK_INITIATED), entry(LogUtils.Events.FILTERING_INITIATED, AnalyticsEvent.FILTERING_INITIATED), entry(LogUtils.Events.FILTERING_COMPLETED, AnalyticsEvent.FILTERING_COMPLETED), entry(LogUtils.Events.FILTERING_TIMED_OUT, AnalyticsEvent.FILTERING_TIMED_OUT)); public static final Map<String, Integer> sLogSessionToSessionId = Map.ofEntries( entry(LogUtils.Sessions.ICA_ANSWER_CALL, SessionTiming.ICA_ANSWER_CALL), entry(LogUtils.Sessions.ICA_REJECT_CALL, SessionTiming.ICA_REJECT_CALL), entry(LogUtils.Sessions.ICA_DISCONNECT_CALL, SessionTiming.ICA_DISCONNECT_CALL), entry(LogUtils.Sessions.ICA_HOLD_CALL, SessionTiming.ICA_HOLD_CALL), entry(LogUtils.Sessions.ICA_UNHOLD_CALL, SessionTiming.ICA_UNHOLD_CALL), entry(LogUtils.Sessions.ICA_MUTE, SessionTiming.ICA_MUTE), entry(LogUtils.Sessions.ICA_SET_AUDIO_ROUTE, SessionTiming.ICA_SET_AUDIO_ROUTE), entry(LogUtils.Sessions.ICA_CONFERENCE, SessionTiming.ICA_CONFERENCE), entry(LogUtils.Sessions.CSW_HANDLE_CREATE_CONNECTION_COMPLETE, SessionTiming.CSW_HANDLE_CREATE_CONNECTION_COMPLETE), entry(LogUtils.Sessions.CSW_SET_ACTIVE, SessionTiming.CSW_SET_ACTIVE), entry(LogUtils.Sessions.CSW_SET_RINGING, SessionTiming.CSW_SET_RINGING), entry(LogUtils.Sessions.CSW_SET_DIALING, SessionTiming.CSW_SET_DIALING), entry(LogUtils.Sessions.CSW_SET_DISCONNECTED, SessionTiming.CSW_SET_DISCONNECTED), entry(LogUtils.Sessions.CSW_SET_ON_HOLD, SessionTiming.CSW_SET_ON_HOLD), entry(LogUtils.Sessions.CSW_REMOVE_CALL, SessionTiming.CSW_REMOVE_CALL), entry(LogUtils.Sessions.CSW_SET_IS_CONFERENCED, SessionTiming.CSW_SET_IS_CONFERENCED), entry(LogUtils.Sessions.CSW_ADD_CONFERENCE_CALL, SessionTiming.CSW_ADD_CONFERENCE_CALL)); public static final Map<String, Integer> sLogEventTimingToAnalyticsEventTiming = Map.ofEntries( entry(LogUtils.Events.Timings.ACCEPT_TIMING, ParcelableCallAnalytics.EventTiming.ACCEPT_TIMING), entry(LogUtils.Events.Timings.REJECT_TIMING, ParcelableCallAnalytics.EventTiming.REJECT_TIMING), entry(LogUtils.Events.Timings.DISCONNECT_TIMING, ParcelableCallAnalytics.EventTiming.DISCONNECT_TIMING), entry(LogUtils.Events.Timings.HOLD_TIMING, ParcelableCallAnalytics.EventTiming.HOLD_TIMING), entry(LogUtils.Events.Timings.UNHOLD_TIMING, ParcelableCallAnalytics.EventTiming.UNHOLD_TIMING), entry(LogUtils.Events.Timings.OUTGOING_TIME_TO_DIALING_TIMING, ParcelableCallAnalytics.EventTiming.OUTGOING_TIME_TO_DIALING_TIMING), entry(LogUtils.Events.Timings.BIND_CS_TIMING, ParcelableCallAnalytics.EventTiming.BIND_CS_TIMING), entry(LogUtils.Events.Timings.SCREENING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.SCREENING_COMPLETED_TIMING), entry(LogUtils.Events.Timings.DIRECT_TO_VM_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.DIRECT_TO_VM_FINISHED_TIMING), entry(LogUtils.Events.Timings.BLOCK_CHECK_FINISHED_TIMING, ParcelableCallAnalytics.EventTiming.BLOCK_CHECK_FINISHED_TIMING), entry(LogUtils.Events.Timings.FILTERING_COMPLETED_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_COMPLETED_TIMING), entry(LogUtils.Events.Timings.FILTERING_TIMED_OUT_TIMING, ParcelableCallAnalytics.EventTiming.FILTERING_TIMED_OUT_TIMING), entry(LogUtils.Events.Timings.START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING, ParcelableCallAnalytics.EventTiming. START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING); }}; START_CONNECTION_TO_REQUEST_DISCONNECT_TIMING)); public static final Map<Integer, String> sSessionIdToLogSession = new HashMap<>(); static { Loading
tests/src/com/android/server/telecom/tests/CallsManagerTest.java +3 −5 Original line number Diff line number Diff line Loading @@ -165,11 +165,9 @@ public class CallsManagerTest extends TelecomTestCase { private static final Uri TEST_ADDRESS = Uri.parse("tel:555-1212"); private static final Uri TEST_ADDRESS2 = Uri.parse("tel:555-1213"); private static final Uri TEST_ADDRESS3 = Uri.parse("tel:555-1214"); private static final Map<Uri, PhoneAccountHandle> CONTACT_PREFERRED_ACCOUNT = new HashMap<Uri, PhoneAccountHandle>() {{ put(TEST_ADDRESS2, SIM_1_HANDLE); put(TEST_ADDRESS3, SIM_2_HANDLE); }}; private static final Map<Uri, PhoneAccountHandle> CONTACT_PREFERRED_ACCOUNT = Map.of( TEST_ADDRESS2, SIM_1_HANDLE, TEST_ADDRESS3, SIM_2_HANDLE); private static int sCallId = 1; private final TelecomSystem.SyncRoot mLock = new TelecomSystem.SyncRoot() { }; Loading
tests/src/com/android/server/telecom/tests/ProximitySensorManagerTest.java +5 −9 Original line number Diff line number Diff line Loading @@ -31,7 +31,7 @@ import org.junit.runner.RunWith; import org.junit.runners.JUnit4; import org.mockito.Mock; import java.util.ArrayList; import java.util.List; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; Loading Loading @@ -67,9 +67,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testTurnOnProximityWithCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>(){{ add(mCall); }}); when(mCallsManager.getCalls()).thenReturn(List.of(mCall)); when(mWakeLockAdapter.isHeld()).thenReturn(false); mProximitySensorManager.turnOn(); Loading @@ -80,7 +78,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testTurnOnProximityWithNoCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>()); when(mCallsManager.getCalls()).thenReturn(List.of()); when(mWakeLockAdapter.isHeld()).thenReturn(false); mProximitySensorManager.turnOn(); Loading @@ -102,9 +100,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testCallRemovedFromCallsManagerCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>(){{ add(mCall); }}); when(mCallsManager.getCalls()).thenReturn(List.of(mCall)); when(mWakeLockAdapter.isHeld()).thenReturn(true); mProximitySensorManager.onCallRemoved(mock(Call.class)); Loading @@ -115,7 +111,7 @@ public class ProximitySensorManagerTest extends TelecomTestCase{ @SmallTest @Test public void testCallRemovedFromCallsManagerNoCallsActive() throws Exception { when(mCallsManager.getCalls()).thenReturn(new ArrayList<Call>()); when(mCallsManager.getCalls()).thenReturn(List.of()); when(mWakeLockAdapter.isHeld()).thenReturn(true); mProximitySensorManager.onCallRemoved(mock(Call.class)); Loading
tests/src/com/android/server/telecom/tests/SessionTest.java +3 −1 Original line number Diff line number Diff line Loading @@ -144,6 +144,7 @@ public class SessionTest extends TelecomTestCase { * Ensure creating two sessions that are parent/child of each other does not lead to a crash * or infinite recursion when using Session#toString. */ @SuppressWarnings("ReturnValueIgnored") @SmallTest @Test public void testRecursion_toString() { Loading @@ -159,7 +160,6 @@ public class SessionTest extends TelecomTestCase { // Make sure calling these methods does not result in a crash try { parentSession.toString(); childSession.toString(); } catch (Exception e) { Loading @@ -176,6 +176,7 @@ public class SessionTest extends TelecomTestCase { * Ensure creating two sessions and setting the child as the parent to itself doesn't cause a * crash due to infinite recursion. */ @SuppressWarnings("ReturnValueIgnored") @SmallTest @Test public void testRecursion_toString_childCircDep() { Loading Loading @@ -237,6 +238,7 @@ public class SessionTest extends TelecomTestCase { * Ensure creating two sessions that are parent/child of each other does not lead to a crash * or infinite recursion in the general case. */ @SuppressWarnings("ReturnValueIgnored") @SmallTest @Test public void testRecursion() { Loading
tests/src/com/android/server/telecom/tests/TelecomServiceImplTest.java +13 −26 Original line number Diff line number Diff line Loading @@ -372,14 +372,9 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetCallCapablePhoneAccounts() throws RemoteException { List<PhoneAccountHandle> fullPHList = new ArrayList<PhoneAccountHandle>() {{ add(TEL_PA_HANDLE_16); add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> smallPHList = new ArrayList<PhoneAccountHandle>() {{ add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> fullPHList = List.of(TEL_PA_HANDLE_16, SIP_PA_HANDLE_17); List<PhoneAccountHandle> smallPHList = List.of(SIP_PA_HANDLE_17); // Returns all phone accounts when getCallCapablePhoneAccounts is called. when(mFakePhoneAccountRegistrar .getCallCapablePhoneAccounts(nullable(String.class), eq(true), Loading @@ -399,10 +394,8 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetCallCapablePhoneAccountsFailure() throws RemoteException { List<String> enforcedPermissions = new ArrayList<String>() {{ add(READ_PHONE_STATE); add(READ_PRIVILEGED_PHONE_STATE); }}; List<String> enforcedPermissions = List.of(READ_PHONE_STATE, READ_PRIVILEGED_PHONE_STATE); doThrow(new SecurityException()).when(mContext).enforceCallingOrSelfPermission( argThat(new AnyStringIn(enforcedPermissions)), anyString()); Loading @@ -420,13 +413,9 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetPhoneAccountsSupportingScheme() throws RemoteException { List<PhoneAccountHandle> sipPHList = new ArrayList<PhoneAccountHandle>() {{ add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> sipPHList = List.of(SIP_PA_HANDLE_17); List<PhoneAccountHandle> telPHList = List.of(TEL_PA_HANDLE_16); List<PhoneAccountHandle> telPHList = new ArrayList<PhoneAccountHandle>() {{ add(TEL_PA_HANDLE_16); }}; when(mFakePhoneAccountRegistrar .getCallCapablePhoneAccounts(eq("tel"), anyBoolean(), any(UserHandle.class))) .thenReturn(telPHList); Loading @@ -444,10 +433,8 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetPhoneAccountsForPackage() throws RemoteException { List<PhoneAccountHandle> phoneAccountHandleList = new ArrayList<PhoneAccountHandle>() {{ add(TEL_PA_HANDLE_16); add(SIP_PA_HANDLE_17); }}; List<PhoneAccountHandle> phoneAccountHandleList = List.of( TEL_PA_HANDLE_16, SIP_PA_HANDLE_17); when(mFakePhoneAccountRegistrar .getPhoneAccountsForPackage(anyString(), any(UserHandle.class))) .thenReturn(phoneAccountHandleList); Loading Loading @@ -476,10 +463,10 @@ public class TelecomServiceImplTest extends TelecomTestCase { @SmallTest @Test public void testGetAllPhoneAccounts() throws RemoteException { List<PhoneAccount> phoneAccountList = new ArrayList<PhoneAccount>() {{ add(makePhoneAccount(TEL_PA_HANDLE_16).build()); add(makePhoneAccount(SIP_PA_HANDLE_17).build()); }}; List<PhoneAccount> phoneAccountList = List.of( makePhoneAccount(TEL_PA_HANDLE_16).build(), makePhoneAccount(SIP_PA_HANDLE_17).build()); when(mFakePhoneAccountRegistrar.getAllPhoneAccounts(any(UserHandle.class))) .thenReturn(phoneAccountList); Loading