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

This commit is contained in:
Hugh Chen
2020-05-07 04:02:15 +00:00
committed by Android (Google) Code Review
2 changed files with 45 additions and 2 deletions

View File

@@ -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

View File

@@ -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);
}
}