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

Commit ed99751c authored by Wenyu Zhang's avatar Wenyu Zhang Committed by Android (Google) Code Review
Browse files

Merge "Support BLE input device" into main

parents 63eaa96d ff315720
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
 */
package com.android.settingslib.media;

import static android.media.AudioDeviceInfo.TYPE_BLE_HEADSET;
import static android.media.AudioDeviceInfo.TYPE_BLUETOOTH_SCO;
import static android.media.AudioDeviceInfo.TYPE_BUILTIN_MIC;
import static android.media.AudioDeviceInfo.TYPE_USB_ACCESSORY;
@@ -103,7 +104,8 @@ public class InputMediaDevice extends MediaDevice {
                            TYPE_USB_DEVICE,
                            TYPE_USB_HEADSET,
                            TYPE_USB_ACCESSORY,
                            TYPE_BLUETOOTH_SCO ->
                            TYPE_BLUETOOTH_SCO,
                            TYPE_BLE_HEADSET ->
                    true;
            default -> false;
        };
@@ -124,7 +126,7 @@ public class InputMediaDevice extends MediaDevice {
                    mProductName != null
                            ? mProductName
                            : mContext.getString(R.string.media_transfer_usb_device_mic_name);
            case TYPE_BLUETOOTH_SCO ->
            case TYPE_BLUETOOTH_SCO, TYPE_BLE_HEADSET ->
                    mProductName != null
                            ? mProductName
                            : mContext.getString(R.string.media_transfer_bt_device_mic_name);
+33 −0
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ public class InputMediaDeviceTest {
    private final int WIRED_HEADSET_ID = 2;
    private final int USB_HEADSET_ID = 3;
    private final int BT_HEADSET_ID = 4;
    private final int BLE_HEADSET_ID = 5;
    private final int MAX_VOLUME = 1;
    private final int CURRENT_VOLUME = 0;
    private final boolean IS_VOLUME_FIXED = true;
@@ -45,6 +46,7 @@ public class InputMediaDeviceTest {
    private static final String PRODUCT_NAME_WIRED_HEADSET = "My Wired Headset";
    private static final String PRODUCT_NAME_USB_HEADSET = "My USB Headset";
    private static final String PRODUCT_NAME_BT_HEADSET = "My Bluetooth Headset";
    private static final String PRODUCT_NAME_BLE_HEADSET = "My BLE Headset";

    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();

@@ -163,4 +165,35 @@ public class InputMediaDeviceTest {
        assertThat(btMediaDevice.getName())
                .isEqualTo(mContext.getString(R.string.media_transfer_bt_device_mic_name));
    }

    @Test
    public void getName_returnCorrectName_bleHeadset() {
        InputMediaDevice bleMediaDevice =
                InputMediaDevice.create(
                        mContext,
                        String.valueOf(BLE_HEADSET_ID),
                        AudioDeviceInfo.TYPE_BLE_HEADSET,
                        MAX_VOLUME,
                        CURRENT_VOLUME,
                        IS_VOLUME_FIXED,
                        PRODUCT_NAME_BLE_HEADSET);
        assertThat(bleMediaDevice).isNotNull();
        assertThat(bleMediaDevice.getName()).isEqualTo(PRODUCT_NAME_BLE_HEADSET);
    }

    @Test
    public void getName_returnCorrectName_bleHeadset_nullProductName() {
        InputMediaDevice bleMediaDevice =
                InputMediaDevice.create(
                        mContext,
                        String.valueOf(BLE_HEADSET_ID),
                        AudioDeviceInfo.TYPE_BLE_HEADSET,
                        MAX_VOLUME,
                        CURRENT_VOLUME,
                        IS_VOLUME_FIXED,
                        null);
        assertThat(bleMediaDevice).isNotNull();
        assertThat(bleMediaDevice.getName())
                .isEqualTo(mContext.getString(R.string.media_transfer_bt_device_mic_name));
    }
}