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

Commit 147cb826 authored by Sungsoo Lim's avatar Sungsoo Lim Committed by Gerrit Code Review
Browse files

Merge "Ensure switchVolumeDevice() be called"

parents 9734994a a5f9ef59
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());
    }
}