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

Commit 698590ca authored by Hugh Chen's avatar Hugh Chen Committed by Android (Google) Code Review
Browse files

Merge "Add unique device id for usb-c headset and wired headset" into rvc-dev

parents a5a0dc64 e554e5b4
Loading
Loading
Loading
Loading
+23 −2
Original line number Diff line number Diff line
@@ -41,7 +41,10 @@ public class PhoneMediaDevice extends MediaDevice {

    private static final String TAG = "PhoneMediaDevice";

    public static final String ID = "phone_media_device_id_1";
    public static final String PHONE_ID = "phone_media_device_id";
    // For 3.5 mm wired headset
    public static final String WIRED_HEADSET_ID = "wired_headset_media_device_id";
    public static final String USB_HEADSET_ID = "usb_headset_media_device_id";

    private String mSummary = "";

@@ -109,7 +112,25 @@ public class PhoneMediaDevice extends MediaDevice {

    @Override
    public String getId() {
        return ID;
        String id;
        switch (mRouteInfo.getType()) {
            case TYPE_WIRED_HEADSET:
            case TYPE_WIRED_HEADPHONES:
                id = WIRED_HEADSET_ID;
                break;
            case TYPE_USB_DEVICE:
            case TYPE_USB_HEADSET:
            case TYPE_USB_ACCESSORY:
            case TYPE_DOCK:
            case TYPE_HDMI:
                id = USB_HEADSET_ID;
                break;
            case TYPE_BUILTIN_SPEAKER:
            default:
                id = PHONE_ID;
                break;
        }
        return id;
    }

    @Override
+22 −0
Original line number Diff line number Diff line
@@ -21,6 +21,10 @@ import static android.media.MediaRoute2Info.TYPE_USB_DEVICE;
import static android.media.MediaRoute2Info.TYPE_WIRED_HEADPHONES;
import static android.media.MediaRoute2Info.TYPE_WIRED_HEADSET;

import static com.android.settingslib.media.PhoneMediaDevice.PHONE_ID;
import static com.android.settingslib.media.PhoneMediaDevice.USB_HEADSET_ID;
import static com.android.settingslib.media.PhoneMediaDevice.WIRED_HEADSET_ID;

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

import static org.mockito.Mockito.when;
@@ -108,4 +112,22 @@ public class PhoneMediaDeviceTest {
        assertThat(mPhoneMediaDevice.getName())
                .isEqualTo(mContext.getString(R.string.media_transfer_this_device_name));
    }

    @Test
    public void getId_returnCorrectId() {
        when(mInfo.getType()).thenReturn(TYPE_WIRED_HEADPHONES);

        assertThat(mPhoneMediaDevice.getId())
                .isEqualTo(WIRED_HEADSET_ID);

        when(mInfo.getType()).thenReturn(TYPE_USB_DEVICE);

        assertThat(mPhoneMediaDevice.getId())
                .isEqualTo(USB_HEADSET_ID);

        when(mInfo.getType()).thenReturn(TYPE_BUILTIN_SPEAKER);

        assertThat(mPhoneMediaDevice.getId())
                .isEqualTo(PHONE_ID);
    }
}