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

Commit 5d371686 authored by Sungsoo Lim's avatar Sungsoo Lim Committed by Automerger Merge Worker
Browse files

Merge "Ensure switchVolumeDevice() be called" am: 147cb826

parents bab4f6c7 147cb826
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -272,8 +272,12 @@ class AvrcpVolumeManager extends AudioDeviceCallback {
            return;
        }

        // Wait until AudioManager informs us that the new device is connected
        mCurrentDevice = device;
        if (!mDeviceMap.containsKey(device)) {
            // Wait until AudioManager informs us that the new device is connected
            return;
        }
        switchVolumeDevice(device);
    }

    synchronized void deviceDisconnected(@NonNull BluetoothDevice device) {
+20 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.android.bluetooth.avrcp.AvrcpVolumeManager.AVRCP_MAX_VOL;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Mockito.any;
import static org.mockito.Mockito.anyInt;
import static org.mockito.Mockito.eq;
import static org.mockito.Mockito.verify;
@@ -39,6 +40,7 @@ import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;

@SmallTest
@@ -101,4 +103,22 @@ public class AvrcpVolumeManagerTest {
        verify(mAudioManager).setStreamVolume(eq(AudioManager.STREAM_MUSIC),
                eq(TEST_DEVICE_MAX_VOUME), anyInt());
    }

    @Test
    public void switchVolumeDevice() {
        mAvrcpVolumeManager.volumeDeviceSwitched(mRemoteDevice);
        mAvrcpVolumeManager.deviceConnected(mRemoteDevice, true);

        // verify whether switchVolumeDevice is called by checking
        // mAudioManager.setDeviceVolumeBehavior().
        verify(mAudioManager).setDeviceVolumeBehavior(any(), anyInt());

        Mockito.clearInvocations(mAudioManager);
        mAvrcpVolumeManager.deviceDisconnected(mRemoteDevice);
        // verify one more time when deviceConnected event comes first.
        mAvrcpVolumeManager.deviceConnected(mRemoteDevice, true);
        mAvrcpVolumeManager.volumeDeviceSwitched(mRemoteDevice);

        verify(mAudioManager).setDeviceVolumeBehavior(any(), anyInt());
    }
}