Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fba5c63e authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

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

parents 6d15a881 b6c34e85
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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;
    }
+24 −0
Original line number Diff line number Diff line
@@ -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);