Loading flags/telecom_call_flags.aconfig +0 −7 Original line number Diff line number Diff line Loading @@ -16,13 +16,6 @@ flag { bug: "309541257" } flag { name: "cache_call_audio_callbacks" namespace: "telecom" description: "cache call audio callbacks if the service is not available and execute when set" bug: "321369729" } # OWNER=breadley TARGET=24Q4 flag { name: "cache_call_events" Loading src/com/android/server/telecom/Call.java +5 −7 Original line number Diff line number Diff line Loading @@ -2118,7 +2118,6 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, } private void processCachedCallbacks(CallSourceService service) { if(mFlags.cacheCallAudioCallbacks()) { synchronized (mCachedServiceCallbacks) { for (List<CachedCallback> callbacks : mCachedServiceCallbacks.values()) { callbacks.forEach(callback -> callback.executeCallback(service, this)); Loading @@ -2127,7 +2126,6 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, mCachedServiceCallbacks.clear(); } } } public CallSourceService getService() { if (isTransactionalCall()) { Loading src/com/android/server/telecom/CallEndpointController.java +3 −30 Original line number Diff line number Diff line Loading @@ -201,16 +201,7 @@ public class CallEndpointController extends CallsManagerListenerBase { List<Call> calls = new ArrayList<>(mCallsManager.getTrackedCalls()); for (Call call : calls) { if (mFeatureFlags.cacheCallAudioCallbacks()) { onCallEndpointChangedOrCache(call); } else { if (call != null && call.getConnectionService() != null) { call.getConnectionService().onCallEndpointChanged(call, mActiveCallEndpoint); } else if (call != null && call.getTransactionServiceWrapper() != null) { call.getTransactionServiceWrapper() .onCallEndpointChanged(call, mActiveCallEndpoint); } } } } Loading @@ -231,17 +222,7 @@ public class CallEndpointController extends CallsManagerListenerBase { List<Call> calls = new ArrayList<>(mCallsManager.getTrackedCalls()); for (Call call : calls) { if (mFeatureFlags.cacheCallAudioCallbacks()) { onAvailableEndpointsChangedOrCache(call); } else { if (call != null && call.getConnectionService() != null) { call.getConnectionService().onAvailableCallEndpointsChanged(call, mAvailableCallEndpoints); } else if (call != null && call.getTransactionServiceWrapper() != null) { call.getTransactionServiceWrapper().onAvailableCallEndpointsChanged(call, mAvailableCallEndpoints); } } } } Loading @@ -262,15 +243,7 @@ public class CallEndpointController extends CallsManagerListenerBase { List<Call> calls = new ArrayList<>(mCallsManager.getTrackedCalls()); for (Call call : calls) { if (mFeatureFlags.cacheCallAudioCallbacks()) { onMuteStateChangedOrCache(call, isMuted); } else { if (call != null && call.getConnectionService() != null) { call.getConnectionService().onMuteStateChanged(call, isMuted); } else if (call != null && call.getTransactionServiceWrapper() != null) { call.getTransactionServiceWrapper().onMuteStateChanged(call, isMuted); } } } } Loading tests/src/com/android/server/telecom/tests/CallEndpointControllerTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ public class CallEndpointControllerTest extends TelecomTestCase { mFeatureFlags); doReturn(new HashSet<>(Arrays.asList(mCall))).when(mCallsManager).getTrackedCalls(); doReturn(mConnectionService).when(mCall).getConnectionService(); doReturn(mConnectionService).when(mCall).getService(); doReturn(mCallAudioManager).when(mCallsManager).getCallAudioManager(); when(mMockContext.getText(R.string.callendpoint_name_earpiece)).thenReturn("Earpiece"); when(mMockContext.getText(R.string.callendpoint_name_bluetooth)).thenReturn("Bluetooth"); Loading tests/src/com/android/server/telecom/tests/CallTest.java +0 −6 Original line number Diff line number Diff line Loading @@ -234,7 +234,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedCallEvents() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); when(mFeatureFlags.cacheCallEvents()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); Call call = createCall("1", Call.CALL_DIRECTION_INCOMING); Loading Loading @@ -272,7 +271,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedMuteStateChanges() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); Call call = createCall("1", Call.CALL_DIRECTION_INCOMING); Loading Loading @@ -300,7 +298,6 @@ public class CallTest extends TelecomTestCase { @Test public void testCacheAfterServiceSet() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); when(mFeatureFlags.cacheCallEvents()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); Call call = createCall("1", Call.CALL_DIRECTION_INCOMING); Loading @@ -316,7 +313,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedCurrentEndpointChanges() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); CallEndpoint earpiece = Mockito.mock(CallEndpoint.class); CallEndpoint speaker = Mockito.mock(CallEndpoint.class); Loading Loading @@ -350,7 +346,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedAvailableEndpointChanges() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); CallEndpoint earpiece = Mockito.mock(CallEndpoint.class); CallEndpoint bluetooth = Mockito.mock(CallEndpoint.class); Loading Loading @@ -389,7 +384,6 @@ public class CallTest extends TelecomTestCase { */ @Test public void testAllCachedCallbacks() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); when(mFeatureFlags.cacheCallEvents()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); CallEndpoint earpiece = Mockito.mock(CallEndpoint.class); Loading Loading
flags/telecom_call_flags.aconfig +0 −7 Original line number Diff line number Diff line Loading @@ -16,13 +16,6 @@ flag { bug: "309541257" } flag { name: "cache_call_audio_callbacks" namespace: "telecom" description: "cache call audio callbacks if the service is not available and execute when set" bug: "321369729" } # OWNER=breadley TARGET=24Q4 flag { name: "cache_call_events" Loading
src/com/android/server/telecom/Call.java +5 −7 Original line number Diff line number Diff line Loading @@ -2118,7 +2118,6 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, } private void processCachedCallbacks(CallSourceService service) { if(mFlags.cacheCallAudioCallbacks()) { synchronized (mCachedServiceCallbacks) { for (List<CachedCallback> callbacks : mCachedServiceCallbacks.values()) { callbacks.forEach(callback -> callback.executeCallback(service, this)); Loading @@ -2127,7 +2126,6 @@ public class Call implements CreateConnectionResponse, EventManager.Loggable, mCachedServiceCallbacks.clear(); } } } public CallSourceService getService() { if (isTransactionalCall()) { Loading
src/com/android/server/telecom/CallEndpointController.java +3 −30 Original line number Diff line number Diff line Loading @@ -201,16 +201,7 @@ public class CallEndpointController extends CallsManagerListenerBase { List<Call> calls = new ArrayList<>(mCallsManager.getTrackedCalls()); for (Call call : calls) { if (mFeatureFlags.cacheCallAudioCallbacks()) { onCallEndpointChangedOrCache(call); } else { if (call != null && call.getConnectionService() != null) { call.getConnectionService().onCallEndpointChanged(call, mActiveCallEndpoint); } else if (call != null && call.getTransactionServiceWrapper() != null) { call.getTransactionServiceWrapper() .onCallEndpointChanged(call, mActiveCallEndpoint); } } } } Loading @@ -231,17 +222,7 @@ public class CallEndpointController extends CallsManagerListenerBase { List<Call> calls = new ArrayList<>(mCallsManager.getTrackedCalls()); for (Call call : calls) { if (mFeatureFlags.cacheCallAudioCallbacks()) { onAvailableEndpointsChangedOrCache(call); } else { if (call != null && call.getConnectionService() != null) { call.getConnectionService().onAvailableCallEndpointsChanged(call, mAvailableCallEndpoints); } else if (call != null && call.getTransactionServiceWrapper() != null) { call.getTransactionServiceWrapper().onAvailableCallEndpointsChanged(call, mAvailableCallEndpoints); } } } } Loading @@ -262,15 +243,7 @@ public class CallEndpointController extends CallsManagerListenerBase { List<Call> calls = new ArrayList<>(mCallsManager.getTrackedCalls()); for (Call call : calls) { if (mFeatureFlags.cacheCallAudioCallbacks()) { onMuteStateChangedOrCache(call, isMuted); } else { if (call != null && call.getConnectionService() != null) { call.getConnectionService().onMuteStateChanged(call, isMuted); } else if (call != null && call.getTransactionServiceWrapper() != null) { call.getTransactionServiceWrapper().onMuteStateChanged(call, isMuted); } } } } Loading
tests/src/com/android/server/telecom/tests/CallEndpointControllerTest.java +1 −0 Original line number Diff line number Diff line Loading @@ -108,6 +108,7 @@ public class CallEndpointControllerTest extends TelecomTestCase { mFeatureFlags); doReturn(new HashSet<>(Arrays.asList(mCall))).when(mCallsManager).getTrackedCalls(); doReturn(mConnectionService).when(mCall).getConnectionService(); doReturn(mConnectionService).when(mCall).getService(); doReturn(mCallAudioManager).when(mCallsManager).getCallAudioManager(); when(mMockContext.getText(R.string.callendpoint_name_earpiece)).thenReturn("Earpiece"); when(mMockContext.getText(R.string.callendpoint_name_bluetooth)).thenReturn("Bluetooth"); Loading
tests/src/com/android/server/telecom/tests/CallTest.java +0 −6 Original line number Diff line number Diff line Loading @@ -234,7 +234,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedCallEvents() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); when(mFeatureFlags.cacheCallEvents()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); Call call = createCall("1", Call.CALL_DIRECTION_INCOMING); Loading Loading @@ -272,7 +271,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedMuteStateChanges() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); Call call = createCall("1", Call.CALL_DIRECTION_INCOMING); Loading Loading @@ -300,7 +298,6 @@ public class CallTest extends TelecomTestCase { @Test public void testCacheAfterServiceSet() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); when(mFeatureFlags.cacheCallEvents()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); Call call = createCall("1", Call.CALL_DIRECTION_INCOMING); Loading @@ -316,7 +313,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedCurrentEndpointChanges() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); CallEndpoint earpiece = Mockito.mock(CallEndpoint.class); CallEndpoint speaker = Mockito.mock(CallEndpoint.class); Loading Loading @@ -350,7 +346,6 @@ public class CallTest extends TelecomTestCase { @Test public void testMultipleCachedAvailableEndpointChanges() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); CallEndpoint earpiece = Mockito.mock(CallEndpoint.class); CallEndpoint bluetooth = Mockito.mock(CallEndpoint.class); Loading Loading @@ -389,7 +384,6 @@ public class CallTest extends TelecomTestCase { */ @Test public void testAllCachedCallbacks() { when(mFeatureFlags.cacheCallAudioCallbacks()).thenReturn(true); when(mFeatureFlags.cacheCallEvents()).thenReturn(true); TransactionalServiceWrapper tsw = Mockito.mock(TransactionalServiceWrapper.class); CallEndpoint earpiece = Mockito.mock(CallEndpoint.class); Loading