Merge "Fix music output unable switch from BTHS to Phone"

This commit is contained in:
TreeHugger Robot
2019-03-19 17:02:51 +00:00
committed by Android (Google) Code Review
2 changed files with 32 additions and 3 deletions

View File

@@ -70,13 +70,18 @@ public class PhoneMediaDevice extends MediaDevice {
final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile();
final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
// Some device may not have HearingAidProfile, consider all situation to set active device.
boolean isConnected = false;
if (hapProfile != null && a2dpProfile != null) {
isConnected = hapProfile.setActiveDevice(null) && a2dpProfile.setActiveDevice(null);
updateSummary(true);
setConnectedRecord();
} else if (a2dpProfile != null) {
isConnected = a2dpProfile.setActiveDevice(null);
} else if (hapProfile != null) {
isConnected = hapProfile.setActiveDevice(null);
}
updateSummary(isConnected);
setConnectedRecord();
Log.d(TAG, "connect() device : " + getName() + ", is selected : " + isConnected);
return isConnected;
}

View File

@@ -99,6 +99,30 @@ public class PhoneMediaDeviceTest {
assertThat(mPhoneMediaDevice.connect()).isFalse();
}
@Test
public void connect_hearingAidProfileIsNullAndA2dpProfileNotNull_isConnectedReturnTrue() {
when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null);
when(mA2dpProfile.setActiveDevice(null)).thenReturn(true);
assertThat(mPhoneMediaDevice.connect()).isTrue();
}
@Test
public void connect_hearingAidProfileNotNullAndA2dpProfileIsNull_isConnectedReturnTrue() {
when(mLocalProfileManager.getA2dpProfile()).thenReturn(null);
when(mHapProfile.setActiveDevice(null)).thenReturn(true);
assertThat(mPhoneMediaDevice.connect()).isTrue();
}
@Test
public void connect_hearingAidProfileAndA2dpProfileIsNull_isConnectedReturnFalse() {
when(mLocalProfileManager.getA2dpProfile()).thenReturn(null);
when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null);
assertThat(mPhoneMediaDevice.connect()).isFalse();
}
@Test
public void updateSummary_isActiveIsTrue_returnActiveString() {
mPhoneMediaDevice.updateSummary(true);