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

Commit 2859b646 authored by tim peng's avatar tim peng Committed by Automerger Merge Worker
Browse files

Merge "When only one device is selected in dynamic group, the device should be...

Merge "When only one device is selected in dynamic group, the device should be disabled" into rvc-dev am: 8d2c8f1f am: 6ca2cc57

Change-Id: Iedcc58d9250b3e3421d7785e52993efbf3010943
parents 619ec3ac 6ca2cc57
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -174,6 +174,15 @@ public class MediaDeviceUpdateWorker extends SliceBackgroundWorker
        return mLocalMediaManager.getSelectedMediaDevice();
    }

    boolean isSelectedMediaDevice(MediaDevice device) {
        for (MediaDevice selectedMediaDevice : getSelectedMediaDevice()) {
            if (TextUtils.equals(selectedMediaDevice.getId(), device.getId())) {
                return true;
            }
        }
        return false;
    }

    void adjustSessionVolume(String sessionId, int volume) {
        mLocalMediaManager.adjustSessionVolume(sessionId, volume);
    }
+1 −1
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ public class MediaOutputGroupSlice implements CustomSliceable {
                            + ") is unavailable");
                    return;
                }
                if (TextUtils.equals(device.getClientPackageName(), getWorker().getPackageName())) {
                if (getWorker().isSelectedMediaDevice(device)) {
                    getWorker().removeDeviceFromPlayMedia(device);
                } else {
                    getWorker().addDeviceToPlayMedia(device);
+5 −10
Original line number Diff line number Diff line
@@ -212,11 +212,9 @@ public class MediaOutputGroupSliceTest {
    }

    @Test
    public void onNotifyChange_sessionOperation_differentClient_verifyAddSession() {
        mSelectableDevices.add(mDevice1);
    public void onNotifyChange_sendSelectableDevice_verifyAddSession() {
        mSelectableDevices.add(mDevice2);
        mSelectedDevices.add(mDevice1);
        when(mDevice2.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME2);
        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_2_ID))
                .thenReturn(mDevice2);
        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
@@ -229,16 +227,13 @@ public class MediaOutputGroupSliceTest {

        verify(sMediaDeviceUpdateWorker).addDeviceToPlayMedia(mDevice2);
    }

    @Test
    public void onNotifyChange_sessionOperation_sameClient_verifyRemoveSession() {
        mSelectableDevices.add(mDevice1);
        mSelectableDevices.add(mDevice2);
    public void onNotifyChange_sendSelectedDevice_verifyRemoveSession() {
        mSelectedDevices.add(mDevice1);
        when(mDevice2.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
        when(mLocalMediaManager.getMediaDeviceById(mSelectableDevices, TEST_DEVICE_2_ID))
        mSelectedDevices.add(mDevice2);
        when(mLocalMediaManager.getMediaDeviceById(mSelectedDevices, TEST_DEVICE_2_ID))
                .thenReturn(mDevice2);
        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectableDevices);
        sMediaDeviceUpdateWorker.onDeviceListUpdate(mSelectedDevices);
        when(sMediaDeviceUpdateWorker.getSelectedMediaDevice()).thenReturn(mSelectedDevices);
        final Intent intent = new Intent();
        intent.putExtra(MEDIA_DEVICE_ID, TEST_DEVICE_2_ID);