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

Commit f4c0c2fc authored by Kyunglyul Hyun's avatar Kyunglyul Hyun
Browse files

Make the last active device overrides

The only exception is hearing aid device,
which isn't overriden by another profile
of another device.

Bug: 237496193
Test: atest ActiveDeviceManagerTest
Tag: #feature

Merged-In: Ia9c3b255a3613d0e10fb362dca5b113adbd92a19
Change-Id: Ia9c3b255a3613d0e10fb362dca5b113adbd92a19
(cherry picked from commit 93ae993c)
parent f5636d5a
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -217,9 +217,10 @@ class ActiveDeviceManager {
                            break;      // The device is already connected
                        }
                        mA2dpConnectedDevices.add(device);
                        if (mHearingAidActiveDevice == null && mLeAudioActiveDevice == null) {
                        if (mHearingAidActiveDevice == null) {
                            // New connected device: select it as active
                            setA2dpActiveDevice(device);
                            setLeAudioActiveDevice(null);
                            break;
                        }
                        break;
@@ -277,9 +278,10 @@ class ActiveDeviceManager {
                            break;      // The device is already connected
                        }
                        mHfpConnectedDevices.add(device);
                        if (mHearingAidActiveDevice == null && mLeAudioActiveDevice == null) {
                        if (mHearingAidActiveDevice == null) {
                            // New connected device: select it as active
                            setHfpActiveDevice(device);
                            setLeAudioActiveDevice(null);
                            break;
                        }
                        break;
+4 −6
Original line number Diff line number Diff line
@@ -324,8 +324,8 @@ public class ActiveDeviceManagerTest {
        headsetConnected(mA2dpHeadsetDevice);

        TestUtils.waitForLooperToFinishScheduledTask(mActiveDeviceManager.getHandlerLooper());
        verify(mA2dpService, never()).setActiveDevice(mA2dpHeadsetDevice);
        verify(mHeadsetService, never()).setActiveDevice(mA2dpHeadsetDevice);
        verify(mA2dpService).setActiveDevice(mA2dpHeadsetDevice);
        verify(mHeadsetService).setActiveDevice(mA2dpHeadsetDevice);
    }

    /**
@@ -342,8 +342,7 @@ public class ActiveDeviceManagerTest {

        TestUtils.waitForLooperToFinishScheduledTask(mActiveDeviceManager.getHandlerLooper());
        verify(mLeAudioService).setActiveDevice(isNull());
        // Don't call mA2dpService.setActiveDevice()
        verify(mA2dpService, never()).setActiveDevice(mA2dpHeadsetDevice);
        verify(mA2dpService).setActiveDevice(mA2dpHeadsetDevice);
        Assert.assertEquals(mA2dpHeadsetDevice, mActiveDeviceManager.getA2dpActiveDevice());
        Assert.assertEquals(null, mActiveDeviceManager.getLeAudioActiveDevice());
    }
@@ -362,8 +361,7 @@ public class ActiveDeviceManagerTest {

        TestUtils.waitForLooperToFinishScheduledTask(mActiveDeviceManager.getHandlerLooper());
        verify(mLeAudioService).setActiveDevice(isNull());
        // Don't call mLeAudioService.setActiveDevice()
        verify(mLeAudioService, never()).setActiveDevice(mA2dpHeadsetDevice);
        verify(mHeadsetService).setActiveDevice(mA2dpHeadsetDevice);
        Assert.assertEquals(mA2dpHeadsetDevice, mActiveDeviceManager.getHfpActiveDevice());
        Assert.assertEquals(null, mActiveDeviceManager.getLeAudioActiveDevice());
    }