summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrace Jia <xiaotonj@google.com>2023-12-04 20:30:57 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2023-12-04 20:30:57 +0000
commitbd0d6d8f8fa7ebc3dd3d83efed2ee0c8daa7c911 (patch)
tree6538dfd1efdee0dcdddfbe9850e6bbab99b2fc1a
parent663bd936c7f48c30a662e1404a12774e3413b54e (diff)
parent97668aa7537bf67e5afedd69caa1385e7f8f021e (diff)
downloadTelecomm-bd0d6d8f8fa7ebc3dd3d83efed2ee0c8daa7c911.tar.gz
Merge "Refactor CallsManager listener to track disconnected tone playing status for each calls." into main
-rw-r--r--src/com/android/server/telecom/CallAudioManager.java21
-rw-r--r--src/com/android/server/telecom/CallDiagnosticServiceController.java2
-rwxr-xr-xsrc/com/android/server/telecom/CallsManager.java9
-rw-r--r--src/com/android/server/telecom/CallsManagerListenerBase.java4
-rw-r--r--src/com/android/server/telecom/InCallTonePlayer.java11
-rw-r--r--src/com/android/server/telecom/RingbackPlayer.java2
-rw-r--r--src/com/android/server/telecom/Ringer.java3
-rw-r--r--tests/src/com/android/server/telecom/tests/CallAudioManagerTest.java26
-rw-r--r--tests/src/com/android/server/telecom/tests/InCallTonePlayerTest.java44
-rw-r--r--tests/src/com/android/server/telecom/tests/RingbackPlayerTest.java3
-rw-r--r--tests/src/com/android/server/telecom/tests/RingerTest.java2
11 files changed, 69 insertions, 58 deletions
diff --git a/src/com/android/server/telecom/CallAudioManager.java b/src/com/android/server/telecom/CallAudioManager.java
index 2201c2fa6..96bf2c6bc 100644
--- a/src/com/android/server/telecom/CallAudioManager.java
+++ b/src/com/android/server/telecom/CallAudioManager.java
@@ -307,7 +307,7 @@ public class CallAudioManager extends CallsManagerListenerBase {
VideoProfile.isReceptionEnabled(newVideoState);
if (isUpgradeRequest) {
- mPlayerFactory.createPlayer(InCallTonePlayer.TONE_VIDEO_UPGRADE).startTone();
+ mPlayerFactory.createPlayer(call, InCallTonePlayer.TONE_VIDEO_UPGRADE).startTone();
}
}
@@ -316,7 +316,7 @@ public class CallAudioManager extends CallsManagerListenerBase {
// We only play tones for foreground calls.
return;
}
- mPlayerFactory.createPlayer(InCallTonePlayer.TONE_RTT_REQUEST).startTone();
+ mPlayerFactory.createPlayer(call, InCallTonePlayer.TONE_RTT_REQUEST).startTone();
}
/**
@@ -329,7 +329,7 @@ public class CallAudioManager extends CallsManagerListenerBase {
*/
@Override
public void onHoldToneRequested(Call call) {
- maybePlayHoldTone();
+ maybePlayHoldTone(call);
}
@Override
@@ -628,7 +628,7 @@ public class CallAudioManager extends CallsManagerListenerBase {
}
@VisibleForTesting
- public void setIsTonePlaying(boolean isTonePlaying) {
+ public void setIsTonePlaying(Call call, boolean isTonePlaying) {
Log.i(this, "setIsTonePlaying; isTonePlaying=%b", isTonePlaying);
mIsTonePlaying = isTonePlaying;
mCallAudioModeStateMachine.sendMessageWithArgs(
@@ -637,7 +637,7 @@ public class CallAudioManager extends CallsManagerListenerBase {
makeArgsForModeStateMachine());
if (!isTonePlaying && mIsDisconnectedTonePlaying) {
- mCallsManager.onDisconnectedTonePlaying(false);
+ mCallsManager.onDisconnectedTonePlaying(call, false);
mIsDisconnectedTonePlaying = false;
}
}
@@ -823,7 +823,7 @@ public class CallAudioManager extends CallsManagerListenerBase {
makeArgsForModeStateMachine());
}
mDtmfLocalTonePlayer.onForegroundCallChanged(oldForegroundCall, mForegroundCall);
- maybePlayHoldTone();
+ maybePlayHoldTone(oldForegroundCall);
}
}
@@ -926,9 +926,9 @@ public class CallAudioManager extends CallsManagerListenerBase {
Log.d(this, "Found a disconnected call with tone to play %d.", toneToPlay);
if (toneToPlay != InCallTonePlayer.TONE_INVALID) {
- boolean didToneStart = mPlayerFactory.createPlayer(toneToPlay).startTone();
+ boolean didToneStart = mPlayerFactory.createPlayer(call, toneToPlay).startTone();
if (didToneStart) {
- mCallsManager.onDisconnectedTonePlaying(true);
+ mCallsManager.onDisconnectedTonePlaying(call, true);
mIsDisconnectedTonePlaying = true;
}
}
@@ -948,10 +948,11 @@ public class CallAudioManager extends CallsManagerListenerBase {
/**
* Determines if a hold tone should be played and then starts or stops it accordingly.
*/
- private void maybePlayHoldTone() {
+ private void maybePlayHoldTone(Call call) {
if (shouldPlayHoldTone()) {
if (mHoldTonePlayer == null) {
- mHoldTonePlayer = mPlayerFactory.createPlayer(InCallTonePlayer.TONE_CALL_WAITING);
+ mHoldTonePlayer = mPlayerFactory.createPlayer(call,
+ InCallTonePlayer.TONE_CALL_WAITING);
mHoldTonePlayer.startTone();
}
} else {
diff --git a/src/com/android/server/telecom/CallDiagnosticServiceController.java b/src/com/android/server/telecom/CallDiagnosticServiceController.java
index 6c7ee38af..1077f0d32 100644
--- a/src/com/android/server/telecom/CallDiagnosticServiceController.java
+++ b/src/com/android/server/telecom/CallDiagnosticServiceController.java
@@ -522,7 +522,7 @@ public class CallDiagnosticServiceController extends CallsManagerListenerBase {
callId, messageId, message);
if (mPlayerFactory != null) {
// Play that tone!
- mPlayerFactory.createPlayer(InCallTonePlayer.TONE_IN_CALL_QUALITY_NOTIFICATION)
+ mPlayerFactory.createPlayer(call, InCallTonePlayer.TONE_IN_CALL_QUALITY_NOTIFICATION)
.startTone();
}
call.displayDiagnosticMessage(messageId, message);
diff --git a/src/com/android/server/telecom/CallsManager.java b/src/com/android/server/telecom/CallsManager.java
index 5db59c4af..7c930a4b4 100755
--- a/src/com/android/server/telecom/CallsManager.java
+++ b/src/com/android/server/telecom/CallsManager.java
@@ -212,7 +212,7 @@ public class CallsManager extends Call.ListenerBase
void onHoldToneRequested(Call call);
void onExternalCallChanged(Call call, boolean isExternalCall);
void onCallStreamingStateChanged(Call call, boolean isStreaming);
- void onDisconnectedTonePlaying(boolean isTonePlaying);
+ void onDisconnectedTonePlaying(Call call, boolean isTonePlaying);
void onConnectionTimeChanged(Call call);
void onConferenceStateChanged(Call call, boolean isConference);
void onCdmaConferenceSwap(Call call);
@@ -3612,14 +3612,15 @@ public class CallsManager extends Call.ListenerBase
* Called when disconnect tone is started or stopped, including any InCallTone
* after disconnected call.
*
+ * @param call
* @param isTonePlaying true if the disconnected tone is started, otherwise the disconnected
- * tone is stopped.
+ * tone is stopped.
*/
@VisibleForTesting
- public void onDisconnectedTonePlaying(boolean isTonePlaying) {
+ public void onDisconnectedTonePlaying(Call call, boolean isTonePlaying) {
Log.v(this, "onDisconnectedTonePlaying, %s", isTonePlaying ? "started" : "stopped");
for (CallsManagerListener listener : mListeners) {
- listener.onDisconnectedTonePlaying(isTonePlaying);
+ listener.onDisconnectedTonePlaying(call, isTonePlaying);
}
}
diff --git a/src/com/android/server/telecom/CallsManagerListenerBase.java b/src/com/android/server/telecom/CallsManagerListenerBase.java
index 43f3b906c..0c54be308 100644
--- a/src/com/android/server/telecom/CallsManagerListenerBase.java
+++ b/src/com/android/server/telecom/CallsManagerListenerBase.java
@@ -16,10 +16,10 @@
package com.android.server.telecom;
-import android.telecom.AudioState;
import android.telecom.CallAudioState;
import android.telecom.CallEndpoint;
import android.telecom.VideoProfile;
+
import java.util.Set;
/**
@@ -112,7 +112,7 @@ public abstract class CallsManagerListenerBase implements CallsManager.CallsMana
}
@Override
- public void onDisconnectedTonePlaying(boolean isTonePlaying) {
+ public void onDisconnectedTonePlaying(Call call, boolean isTonePlaying) {
}
@Override
diff --git a/src/com/android/server/telecom/InCallTonePlayer.java b/src/com/android/server/telecom/InCallTonePlayer.java
index 3cc4aacc6..a5942f02e 100644
--- a/src/com/android/server/telecom/InCallTonePlayer.java
+++ b/src/com/android/server/telecom/InCallTonePlayer.java
@@ -69,8 +69,8 @@ public class InCallTonePlayer extends Thread {
mCallAudioManager = callAudioManager;
}
- public InCallTonePlayer createPlayer(int tone) {
- return new InCallTonePlayer(tone, mCallAudioManager,
+ public InCallTonePlayer createPlayer(Call call, int tone) {
+ return new InCallTonePlayer(call, tone, mCallAudioManager,
mCallAudioRoutePeripheralAdapter, mLock, mToneGeneratorFactory,
mMediaPlayerFactory, mAudioManagerAdapter);
}
@@ -212,6 +212,7 @@ public class InCallTonePlayer extends Thread {
private Session mSession;
private final Object mSessionLock = new Object();
+ private final Call mCall;
private final ToneGeneratorFactory mToneGenerator;
private final MediaPlayerFactory mMediaPlayerFactory;
private final AudioManagerAdapter mAudioManagerAdapter;
@@ -228,6 +229,7 @@ public class InCallTonePlayer extends Thread {
* @param toneId ID of the tone to play, see TONE_* constants.
*/
private InCallTonePlayer(
+ Call call,
int toneId,
CallAudioManager callAudioManager,
CallAudioRoutePeripheralAdapter callAudioRoutePeripheralAdapter,
@@ -235,6 +237,7 @@ public class InCallTonePlayer extends Thread {
ToneGeneratorFactory toneGeneratorFactory,
MediaPlayerFactory mediaPlayerFactor,
AudioManagerAdapter audioManagerAdapter) {
+ mCall = call;
mState = STATE_OFF;
mToneId = toneId;
mCallAudioManager = callAudioManager;
@@ -476,7 +479,7 @@ public class InCallTonePlayer extends Thread {
}
if (sTonesPlaying.incrementAndGet() == 1) {
- mCallAudioManager.setIsTonePlaying(true);
+ mCallAudioManager.setIsTonePlaying(mCall, true);
}
synchronized (mSessionLock) {
@@ -524,7 +527,7 @@ public class InCallTonePlayer extends Thread {
Log.i(InCallTonePlayer.this,
"cleanUpTonePlayer(): tonesPlaying=%d, tone completed", newToneCount);
if (mCallAudioManager != null) {
- mCallAudioManager.setIsTonePlaying(false);
+ mCallAudioManager.setIsTonePlaying(mCall, false);
} else {
Log.w(InCallTonePlayer.this,
"cleanUpTonePlayer(): mCallAudioManager is null!");
diff --git a/src/com/android/server/telecom/RingbackPlayer.java b/src/com/android/server/telecom/RingbackPlayer.java
index e0c61363f..5ace9ba6e 100644
--- a/src/com/android/server/telecom/RingbackPlayer.java
+++ b/src/com/android/server/telecom/RingbackPlayer.java
@@ -75,7 +75,7 @@ public class RingbackPlayer {
if (mTonePlayer == null) {
Log.i(this, "Playing the ringback tone for %s.", call);
Log.addEvent(call, START_RINBACK);
- mTonePlayer = mPlayerFactory.createPlayer(InCallTonePlayer.TONE_RING_BACK);
+ mTonePlayer = mPlayerFactory.createPlayer(call, InCallTonePlayer.TONE_RING_BACK);
mTonePlayer.startTone();
}
}
diff --git a/src/com/android/server/telecom/Ringer.java b/src/com/android/server/telecom/Ringer.java
index 5b86b8272..3ec4ebe4c 100644
--- a/src/com/android/server/telecom/Ringer.java
+++ b/src/com/android/server/telecom/Ringer.java
@@ -44,7 +44,6 @@ import android.os.vibrator.persistence.ParsedVibration;
import android.os.vibrator.persistence.VibrationXmlParser;
import android.telecom.Log;
import android.telecom.TelecomManager;
-import android.text.TextUtils;
import android.view.accessibility.AccessibilityManager;
import com.android.internal.annotations.VisibleForTesting;
@@ -593,7 +592,7 @@ public class Ringer {
Log.addEvent(call, LogUtils.Events.START_CALL_WAITING_TONE, reason);
mCallWaitingCall = call;
mCallWaitingPlayer =
- mPlayerFactory.createPlayer(InCallTonePlayer.TONE_CALL_WAITING);
+ mPlayerFactory.createPlayer(call, InCallTonePlayer.TONE_CALL_WAITING);
mCallWaitingPlayer.startTone();
}
}
diff --git a/tests/src/com/android/server/telecom/tests/CallAudioManagerTest.java b/tests/src/com/android/server/telecom/tests/CallAudioManagerTest.java
index df281ca49..0a75c3a8d 100644
--- a/tests/src/com/android/server/telecom/tests/CallAudioManagerTest.java
+++ b/tests/src/com/android/server/telecom/tests/CallAudioManagerTest.java
@@ -91,11 +91,11 @@ public class CallAudioManagerTest extends TelecomTestCase {
doAnswer((invocation) -> {
InCallTonePlayer mockInCallTonePlayer = mock(InCallTonePlayer.class);
doAnswer((invocation2) -> {
- mCallAudioManager.setIsTonePlaying(true);
+ mCallAudioManager.setIsTonePlaying(invocation.getArgument(0), true);
return true;
}).when(mockInCallTonePlayer).startTone();
return mockInCallTonePlayer;
- }).when(mPlayerFactory).createPlayer(anyInt());
+ }).when(mPlayerFactory).createPlayer(any(Call.class), anyInt());
when(mCallsManager.getLock()).thenReturn(mLock);
when(mFlags.ensureAudioModeUpdatesOnForegroundCallChange()).thenReturn(true);
mCallAudioManager = new CallAudioManager(
@@ -210,7 +210,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
assertMessageArgEquality(correctArgs, captor.getValue());
disconnectCall(call);
- stopTone();
+ stopTone(call);
mCallAudioManager.onCallRemoved(call);
verifyProperCleanup();
@@ -247,7 +247,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
mCallAudioManager.onCallStateChanged(call, CallState.ANSWERED, CallState.ACTIVE);
disconnectCall(call);
- stopTone();
+ stopTone(call);
mCallAudioManager.onCallRemoved(call);
verifyProperCleanup();
@@ -305,7 +305,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
anyInt(), any(CallAudioModeStateMachine.MessageArgs.class));
}
disconnectCall(call);
- stopTone();
+ stopTone(call);
mCallAudioManager.onCallRemoved(call);
verifyProperCleanup();
@@ -528,7 +528,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
mCallAudioManager.onCallStateChanged(call, CallState.AUDIO_PROCESSING,
CallState.DISCONNECTED);
- verify(mPlayerFactory, never()).createPlayer(anyInt());
+ verify(mPlayerFactory, never()).createPlayer(any(Call.class), anyInt());
CallAudioModeStateMachine.MessageArgs expectedArgs2 = new Builder()
.setHasActiveOrDialingCalls(false)
.setHasRingingCalls(false)
@@ -559,7 +559,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
mCallAudioManager.onCallStateChanged(call, CallState.AUDIO_PROCESSING,
CallState.SIMULATED_RINGING);
- verify(mPlayerFactory, never()).createPlayer(anyInt());
+ verify(mPlayerFactory, never()).createPlayer(any(Call.class), anyInt());
CallAudioModeStateMachine.MessageArgs expectedArgs = new Builder()
.setHasActiveOrDialingCalls(false)
.setHasRingingCalls(true)
@@ -588,7 +588,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
mCallAudioManager.onCallStateChanged(call, CallState.AUDIO_PROCESSING,
CallState.ACTIVE);
- verify(mPlayerFactory, never()).createPlayer(anyInt());
+ verify(mPlayerFactory, never()).createPlayer(any(Call.class), anyInt());
CallAudioModeStateMachine.MessageArgs expectedArgs = new Builder()
.setHasActiveOrDialingCalls(true)
.setHasRingingCalls(false)
@@ -617,7 +617,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
mCallAudioManager.onCallStateChanged(call, CallState.SIMULATED_RINGING,
CallState.ACTIVE);
- verify(mPlayerFactory, never()).createPlayer(anyInt());
+ verify(mPlayerFactory, never()).createPlayer(any(Call.class), anyInt());
CallAudioModeStateMachine.MessageArgs expectedArgs = new Builder()
.setHasActiveOrDialingCalls(true)
.setHasRingingCalls(false)
@@ -676,7 +676,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
mCallAudioManager.onCallStateChanged(call, CallState.SIMULATED_RINGING,
CallState.DISCONNECTED);
- verify(mPlayerFactory, never()).createPlayer(anyInt());
+ verify(mPlayerFactory, never()).createPlayer(any(Call.class), anyInt());
CallAudioModeStateMachine.MessageArgs expectedArgs2 = new Builder()
.setHasActiveOrDialingCalls(false)
.setHasRingingCalls(false)
@@ -869,7 +869,7 @@ public class CallAudioManagerTest extends TelecomTestCase {
"", "", "", ToneGenerator.TONE_PROP_PROMPT));
mCallAudioManager.onCallStateChanged(call, CallState.ACTIVE, CallState.DISCONNECTED);
- verify(mPlayerFactory).createPlayer(InCallTonePlayer.TONE_CALL_ENDED);
+ verify(mPlayerFactory).createPlayer(any(Call.class), eq(InCallTonePlayer.TONE_CALL_ENDED));
correctArgs = new Builder()
.setHasActiveOrDialingCalls(false)
.setHasRingingCalls(false)
@@ -886,10 +886,10 @@ public class CallAudioManagerTest extends TelecomTestCase {
assertMessageArgEquality(correctArgs, captor.getValue());
}
- private void stopTone() {
+ private void stopTone(Call call) {
ArgumentCaptor<CallAudioModeStateMachine.MessageArgs> captor =
ArgumentCaptor.forClass(CallAudioModeStateMachine.MessageArgs.class);
- mCallAudioManager.setIsTonePlaying(false);
+ mCallAudioManager.setIsTonePlaying(call, false);
CallAudioModeStateMachine.MessageArgs correctArgs = new Builder()
.setHasActiveOrDialingCalls(false)
.setHasRingingCalls(false)
diff --git a/tests/src/com/android/server/telecom/tests/InCallTonePlayerTest.java b/tests/src/com/android/server/telecom/tests/InCallTonePlayerTest.java
index 1f1b939e0..004aa8eb2 100644
--- a/tests/src/com/android/server/telecom/tests/InCallTonePlayerTest.java
+++ b/tests/src/com/android/server/telecom/tests/InCallTonePlayerTest.java
@@ -23,7 +23,6 @@ import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.never;
import static org.mockito.Mockito.timeout;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -36,6 +35,7 @@ import android.media.ToneGenerator;
import android.test.suitebuilder.annotation.SmallTest;
import com.android.server.telecom.AsyncRingtonePlayer;
+import com.android.server.telecom.Call;
import com.android.server.telecom.CallAudioManager;
import com.android.server.telecom.CallAudioRoutePeripheralAdapter;
import com.android.server.telecom.CallAudioRouteStateMachine;
@@ -112,6 +112,8 @@ public class InCallTonePlayerTest extends TelecomTestCase {
@Mock
private CallAudioManager mCallAudioManager;
+ @Mock
+ private Call mCall;
private InCallTonePlayer mInCallTonePlayer;
@@ -122,7 +124,7 @@ public class InCallTonePlayerTest extends TelecomTestCase {
when(mToneGeneratorFactory.get(anyInt(), anyInt())).thenReturn(mToneGenerator);
when(mMediaPlayerFactory.get(anyInt(), any())).thenReturn(mMediaPlayerAdapter);
- doNothing().when(mCallAudioManager).setIsTonePlaying(anyBoolean());
+ doNothing().when(mCallAudioManager).setIsTonePlaying(any(Call.class), anyBoolean());
mCallAudioRoutePeripheralAdapter = new CallAudioRoutePeripheralAdapter(
mCallAudioRouteStateMachine, mBluetoothRouteManager, mWiredHeadsetManager,
@@ -130,7 +132,7 @@ public class InCallTonePlayerTest extends TelecomTestCase {
mFactory = new InCallTonePlayer.Factory(mCallAudioRoutePeripheralAdapter, mLock,
mToneGeneratorFactory, mMediaPlayerFactory, mAudioManagerAdapter);
mFactory.setCallAudioManager(mCallAudioManager);
- mInCallTonePlayer = mFactory.createPlayer(InCallTonePlayer.TONE_CALL_ENDED);
+ mInCallTonePlayer = mFactory.createPlayer(mCall, InCallTonePlayer.TONE_CALL_ENDED);
}
@Override
@@ -147,11 +149,12 @@ public class InCallTonePlayerTest extends TelecomTestCase {
assertTrue(mInCallTonePlayer.startTone());
// Verify we did play a tone.
verify(mMediaPlayerFactory, timeout(TEST_TIMEOUT)).get(anyInt(), any());
- verify(mCallAudioManager).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager).setIsTonePlaying(any(Call.class), eq(true));
mInCallTonePlayer.stopTone();
// Timeouts due to threads!
- verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(eq(false));
+ verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(any(Call.class),
+ eq(false));
}
@SmallTest
@@ -161,11 +164,12 @@ public class InCallTonePlayerTest extends TelecomTestCase {
assertTrue(mInCallTonePlayer.startTone());
// Verify we did play a tone.
verify(mMediaPlayerFactory, timeout(TEST_TIMEOUT)).get(anyInt(), any());
- verify(mCallAudioManager).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager).setIsTonePlaying(any(Call.class), eq(true));
mInCallTonePlayer.stopTone();
// Timeouts due to threads!
- verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(eq(false));
+ verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(any(Call.class),
+ eq(false));
// Correctness check: ensure we can't start the tone again.
assertFalse(mInCallTonePlayer.startTone());
@@ -174,15 +178,16 @@ public class InCallTonePlayerTest extends TelecomTestCase {
@SmallTest
@Test
public void testInterruptToneGenerator() {
- mInCallTonePlayer = mFactory.createPlayer(InCallTonePlayer.TONE_RING_BACK);
+ mInCallTonePlayer = mFactory.createPlayer(mCall, InCallTonePlayer.TONE_RING_BACK);
when(mAudioManagerAdapter.isVolumeOverZero()).thenReturn(true);
assertTrue(mInCallTonePlayer.startTone());
verify(mToneGenerator, timeout(TEST_TIMEOUT)).startTone(anyInt());
- verify(mCallAudioManager).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager).setIsTonePlaying(any(Call.class), eq(true));
mInCallTonePlayer.stopTone();
// Timeouts due to threads!
- verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(eq(false));
+ verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(any(Call.class),
+ eq(false));
// Ideally it would be nice to verify this, however release is a native method so appears to
// cause flakiness when testing on Cuttlefish.
// verify(mToneGenerator, timeout(TEST_TIMEOUT)).release();
@@ -199,7 +204,8 @@ public class InCallTonePlayerTest extends TelecomTestCase {
// Verify we did play a tone.
verify(mMediaPlayerFactory, timeout(TEST_TIMEOUT)).get(anyInt(), any());
- verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager, timeout(TEST_TIMEOUT)).setIsTonePlaying(any(Call.class),
+ eq(true));
}
@SmallTest
@@ -213,11 +219,11 @@ public class InCallTonePlayerTest extends TelecomTestCase {
when(mBluetoothRouteManager.isCachedLeAudioDevice(mDevice)).thenReturn(false);
when(mBluetoothRouteManager.isCachedHearingAidDevice(mDevice)).thenReturn(false);
- mInCallTonePlayer = mFactory.createPlayer(InCallTonePlayer.TONE_RING_BACK);
+ mInCallTonePlayer = mFactory.createPlayer(mCall, InCallTonePlayer.TONE_RING_BACK);
assertTrue(mInCallTonePlayer.startTone());
verify(mToneGeneratorFactory, timeout(TEST_TIMEOUT))
.get(eq(AudioManager.STREAM_BLUETOOTH_SCO), anyInt());
- verify(mCallAudioManager).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager).setIsTonePlaying(any(Call.class), eq(true));
}
@SmallTest
@@ -231,11 +237,11 @@ public class InCallTonePlayerTest extends TelecomTestCase {
when(mBluetoothRouteManager.isCachedLeAudioDevice(mDevice)).thenReturn(false);
when(mBluetoothRouteManager.isCachedHearingAidDevice(mDevice)).thenReturn(false);
- mInCallTonePlayer = mFactory.createPlayer(InCallTonePlayer.TONE_CALL_WAITING);
+ mInCallTonePlayer = mFactory.createPlayer(mCall, InCallTonePlayer.TONE_CALL_WAITING);
assertTrue(mInCallTonePlayer.startTone());
verify(mToneGeneratorFactory, timeout(TEST_TIMEOUT))
.get(eq(AudioManager.STREAM_BLUETOOTH_SCO), anyInt());
- verify(mCallAudioManager).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager).setIsTonePlaying(any(Call.class), eq(true));
}
@SmallTest
@@ -249,11 +255,11 @@ public class InCallTonePlayerTest extends TelecomTestCase {
when(mBluetoothRouteManager.isCachedLeAudioDevice(mDevice)).thenReturn(false);
when(mBluetoothRouteManager.isCachedHearingAidDevice(mDevice)).thenReturn(true);
- mInCallTonePlayer = mFactory.createPlayer(InCallTonePlayer.TONE_RING_BACK);
+ mInCallTonePlayer = mFactory.createPlayer(mCall, InCallTonePlayer.TONE_RING_BACK);
assertTrue(mInCallTonePlayer.startTone());
verify(mToneGeneratorFactory, timeout(TEST_TIMEOUT))
.get(eq(AudioManager.STREAM_VOICE_CALL), anyInt());
- verify(mCallAudioManager).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager).setIsTonePlaying(any(Call.class), eq(true));
}
@SmallTest
@@ -267,10 +273,10 @@ public class InCallTonePlayerTest extends TelecomTestCase {
when(mBluetoothRouteManager.isCachedLeAudioDevice(mDevice)).thenReturn(false);
when(mBluetoothRouteManager.isCachedHearingAidDevice(mDevice)).thenReturn(true);
- mInCallTonePlayer = mFactory.createPlayer(InCallTonePlayer.TONE_CALL_WAITING);
+ mInCallTonePlayer = mFactory.createPlayer(mCall, InCallTonePlayer.TONE_CALL_WAITING);
assertTrue(mInCallTonePlayer.startTone());
verify(mToneGeneratorFactory, timeout(TEST_TIMEOUT))
.get(eq(AudioManager.STREAM_VOICE_CALL), anyInt());
- verify(mCallAudioManager).setIsTonePlaying(eq(true));
+ verify(mCallAudioManager).setIsTonePlaying(any(Call.class), eq(true));
}
}
diff --git a/tests/src/com/android/server/telecom/tests/RingbackPlayerTest.java b/tests/src/com/android/server/telecom/tests/RingbackPlayerTest.java
index 8de5e28a2..e85194440 100644
--- a/tests/src/com/android/server/telecom/tests/RingbackPlayerTest.java
+++ b/tests/src/com/android/server/telecom/tests/RingbackPlayerTest.java
@@ -17,6 +17,7 @@
package com.android.server.telecom.tests;
import static org.junit.Assert.assertFalse;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
@@ -49,7 +50,7 @@ public class RingbackPlayerTest extends TelecomTestCase {
@Override
public void setUp() throws Exception {
super.setUp();
- when(mFactory.createPlayer(anyInt())).thenReturn(mTonePlayer);
+ when(mFactory.createPlayer(any(Call.class), anyInt())).thenReturn(mTonePlayer);
mRingbackPlayer = new RingbackPlayer(mFactory);
}
diff --git a/tests/src/com/android/server/telecom/tests/RingerTest.java b/tests/src/com/android/server/telecom/tests/RingerTest.java
index ee42c2af7..771e73634 100644
--- a/tests/src/com/android/server/telecom/tests/RingerTest.java
+++ b/tests/src/com/android/server/telecom/tests/RingerTest.java
@@ -133,7 +133,7 @@ public class RingerTest extends TelecomTestCase {
mContext = spy(mComponentContextFixture.getTestDouble().getApplicationContext());
when(mFeatureFlags.telecomResolveHiddenDependencies()).thenReturn(true);
doReturn(URI_VIBRATION_EFFECT).when(spyVibrationEffectProxy).get(any(), any());
- when(mockPlayerFactory.createPlayer(anyInt())).thenReturn(mockTonePlayer);
+ when(mockPlayerFactory.createPlayer(any(Call.class), anyInt())).thenReturn(mockTonePlayer);
mockAudioManager = mContext.getSystemService(AudioManager.class);
when(mockAudioManager.getRingerMode()).thenReturn(AudioManager.RINGER_MODE_NORMAL);
when(mockVibrator.getInfo()).thenReturn(mockVibratorInfo);