Merge changes I3dac549c,I7ff35d5e am: f34b57a055
Original change: https://android-review.googlesource.com/c/platform/packages/services/Telecomm/+/2119549
Change-Id: I228facf3c90bbd11d2f68f6f097109f3ecc08649
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/src/com/android/server/telecom/bluetooth/BluetoothDeviceManager.java b/src/com/android/server/telecom/bluetooth/BluetoothDeviceManager.java
index 81982c9..da387b6 100644
--- a/src/com/android/server/telecom/bluetooth/BluetoothDeviceManager.java
+++ b/src/com/android/server/telecom/bluetooth/BluetoothDeviceManager.java
@@ -430,8 +430,8 @@
&& mAudioManager.getCommunicationDevice().getType()
== AudioDeviceInfo.TYPE_BLE_HEADSET) {
mAudioManager.clearCommunicationDevice();
- mLeAudioSetAsCommunicationDevice = false;
}
+ mLeAudioSetAsCommunicationDevice = false;
}
public void clearHearingAidCommunicationDevice() {
@@ -447,8 +447,8 @@
&& mAudioManager.getCommunicationDevice().getType()
== AudioDeviceInfo.TYPE_HEARING_AID) {
mAudioManager.clearCommunicationDevice();
- mHearingAidSetAsCommunicationDevice = false;
}
+ mHearingAidSetAsCommunicationDevice = false;
}
public boolean setLeAudioCommunicationDevice() {
diff --git a/tests/src/com/android/server/telecom/tests/BluetoothDeviceManagerTest.java b/tests/src/com/android/server/telecom/tests/BluetoothDeviceManagerTest.java
index 2680702..26aca69 100644
--- a/tests/src/com/android/server/telecom/tests/BluetoothDeviceManagerTest.java
+++ b/tests/src/com/android/server/telecom/tests/BluetoothDeviceManagerTest.java
@@ -16,6 +16,8 @@
package com.android.server.telecom.tests;
+import static android.media.AudioDeviceInfo.TYPE_BUILTIN_SPEAKER;
+
import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothHeadset;
@@ -42,6 +44,7 @@
import org.mockito.Mock;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNull;
import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.ArgumentMatchers.nullable;
@@ -65,6 +68,7 @@
@Mock BluetoothHearingAid mBluetoothHearingAid;
@Mock BluetoothLeAudio mBluetoothLeAudio;
@Mock AudioManager mockAudioManager;
+ @Mock AudioDeviceInfo mSpeakerInfo;
BluetoothDeviceManager mBluetoothDeviceManager;
BluetoothProfile.ServiceListener serviceListenerUnderTest;
@@ -116,6 +120,8 @@
ArgumentCaptor.forClass(BluetoothLeAudio.Callback.class);
mBluetoothDeviceManager.setLeAudioServiceForTesting(mBluetoothLeAudio);
verify(mBluetoothLeAudio).registerCallback(any(), leAudioCallbacksTest.capture());
+
+ when(mSpeakerInfo.getType()).thenReturn(TYPE_BUILTIN_SPEAKER);
}
@Override
@@ -451,6 +457,25 @@
verify(mAdapter).setActiveDevice(device6, BluetoothAdapter.ACTIVE_DEVICE_ALL);
}
+ @SmallTest
+ @Test
+ public void testClearHearingAidCommunicationDevice() {
+ AudioDeviceInfo mockAudioDeviceInfo = mock(AudioDeviceInfo.class);
+ when(mockAudioDeviceInfo.getType()).thenReturn(AudioDeviceInfo.TYPE_HEARING_AID);
+ List<AudioDeviceInfo> devices = new ArrayList<>();
+ devices.add(mockAudioDeviceInfo);
+
+ when(mockAudioManager.getAvailableCommunicationDevices())
+ .thenReturn(devices);
+ when(mockAudioManager.setCommunicationDevice(eq(mockAudioDeviceInfo)))
+ .thenReturn(true);
+
+ mBluetoothDeviceManager.setHearingAidCommunicationDevice();
+ when(mockAudioManager.getCommunicationDevice()).thenReturn(mSpeakerInfo);
+ mBluetoothDeviceManager.clearHearingAidCommunicationDevice();
+ assertFalse(mBluetoothDeviceManager.isHearingAidSetAsCommunicationDevice());
+ }
+
private Intent buildConnectionActionIntent(int state, BluetoothDevice device, int deviceType) {
String intentString;