Map Platform wired routes to new androidx types
Bug: 319386336
Bug: 289034805
Test: Using mr2 implementation for system routing
Relnote: New device types to express wired, bluetooth devices and more.
Change-Id: Iccffa930a861f091135db10b7109bab6c0aa4a94
diff --git a/mediarouter/mediarouter/api/current.txt b/mediarouter/mediarouter/api/current.txt
index 7d7510b..94137ad 100644
--- a/mediarouter/mediarouter/api/current.txt
+++ b/mediarouter/mediarouter/api/current.txt
@@ -457,16 +457,30 @@
field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1
field public static final int CONNECTION_STATE_DISCONNECTED = 0; // 0x0
field public static final int DEVICE_TYPE_AUDIO_VIDEO_RECEIVER = 4; // 0x4
+ field public static final int DEVICE_TYPE_BLE_HEADSET = 22; // 0x16
+ field public static final int DEVICE_TYPE_BLUETOOTH_A2DP = 3; // 0x3
+ field public static final int DEVICE_TYPE_BUILTIN_SPEAKER = 12; // 0xc
field public static final int DEVICE_TYPE_CAR = 9; // 0x9
field public static final int DEVICE_TYPE_COMPUTER = 7; // 0x7
+ field public static final int DEVICE_TYPE_DOCK = 19; // 0x13
field public static final int DEVICE_TYPE_GAME_CONSOLE = 8; // 0x8
field public static final int DEVICE_TYPE_GROUP = 1000; // 0x3e8
+ field public static final int DEVICE_TYPE_HDMI = 16; // 0x10
+ field public static final int DEVICE_TYPE_HDMI_ARC = 23; // 0x17
+ field public static final int DEVICE_TYPE_HDMI_EARC = 24; // 0x18
+ field public static final int DEVICE_TYPE_HEARING_AID = 21; // 0x15
+ field public static final int DEVICE_TYPE_REMOTE_SPEAKER = 2; // 0x2
field public static final int DEVICE_TYPE_SMARTPHONE = 11; // 0xb
field public static final int DEVICE_TYPE_SMARTWATCH = 10; // 0xa
- field public static final int DEVICE_TYPE_SPEAKER = 2; // 0x2
+ field @Deprecated public static final int DEVICE_TYPE_SPEAKER = 2; // 0x2
field public static final int DEVICE_TYPE_TABLET = 5; // 0x5
field public static final int DEVICE_TYPE_TABLET_DOCKED = 6; // 0x6
field public static final int DEVICE_TYPE_TV = 1; // 0x1
+ field public static final int DEVICE_TYPE_USB_ACCESSORY = 18; // 0x12
+ field public static final int DEVICE_TYPE_USB_DEVICE = 17; // 0x11
+ field public static final int DEVICE_TYPE_USB_HEADSET = 20; // 0x14
+ field public static final int DEVICE_TYPE_WIRED_HEADPHONES = 14; // 0xe
+ field public static final int DEVICE_TYPE_WIRED_HEADSET = 13; // 0xd
field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
diff --git a/mediarouter/mediarouter/api/restricted_current.txt b/mediarouter/mediarouter/api/restricted_current.txt
index 7d7510b..94137ad 100644
--- a/mediarouter/mediarouter/api/restricted_current.txt
+++ b/mediarouter/mediarouter/api/restricted_current.txt
@@ -457,16 +457,30 @@
field public static final int CONNECTION_STATE_CONNECTING = 1; // 0x1
field public static final int CONNECTION_STATE_DISCONNECTED = 0; // 0x0
field public static final int DEVICE_TYPE_AUDIO_VIDEO_RECEIVER = 4; // 0x4
+ field public static final int DEVICE_TYPE_BLE_HEADSET = 22; // 0x16
+ field public static final int DEVICE_TYPE_BLUETOOTH_A2DP = 3; // 0x3
+ field public static final int DEVICE_TYPE_BUILTIN_SPEAKER = 12; // 0xc
field public static final int DEVICE_TYPE_CAR = 9; // 0x9
field public static final int DEVICE_TYPE_COMPUTER = 7; // 0x7
+ field public static final int DEVICE_TYPE_DOCK = 19; // 0x13
field public static final int DEVICE_TYPE_GAME_CONSOLE = 8; // 0x8
field public static final int DEVICE_TYPE_GROUP = 1000; // 0x3e8
+ field public static final int DEVICE_TYPE_HDMI = 16; // 0x10
+ field public static final int DEVICE_TYPE_HDMI_ARC = 23; // 0x17
+ field public static final int DEVICE_TYPE_HDMI_EARC = 24; // 0x18
+ field public static final int DEVICE_TYPE_HEARING_AID = 21; // 0x15
+ field public static final int DEVICE_TYPE_REMOTE_SPEAKER = 2; // 0x2
field public static final int DEVICE_TYPE_SMARTPHONE = 11; // 0xb
field public static final int DEVICE_TYPE_SMARTWATCH = 10; // 0xa
- field public static final int DEVICE_TYPE_SPEAKER = 2; // 0x2
+ field @Deprecated public static final int DEVICE_TYPE_SPEAKER = 2; // 0x2
field public static final int DEVICE_TYPE_TABLET = 5; // 0x5
field public static final int DEVICE_TYPE_TABLET_DOCKED = 6; // 0x6
field public static final int DEVICE_TYPE_TV = 1; // 0x1
+ field public static final int DEVICE_TYPE_USB_ACCESSORY = 18; // 0x12
+ field public static final int DEVICE_TYPE_USB_DEVICE = 17; // 0x11
+ field public static final int DEVICE_TYPE_USB_HEADSET = 20; // 0x14
+ field public static final int DEVICE_TYPE_WIRED_HEADPHONES = 14; // 0xe
+ field public static final int DEVICE_TYPE_WIRED_HEADSET = 13; // 0xd
field public static final int PLAYBACK_TYPE_LOCAL = 0; // 0x0
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
field public static final int PLAYBACK_VOLUME_FIXED = 0; // 0x0
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteChooserDialog.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteChooserDialog.java
index 3e6004f..ec6a61b 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteChooserDialog.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteChooserDialog.java
@@ -538,7 +538,7 @@
switch (route.getDeviceType()) {
case MediaRouter.RouteInfo.DEVICE_TYPE_TV:
return mTvIcon;
- case MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER:
+ case MediaRouter.RouteInfo.DEVICE_TYPE_REMOTE_SPEAKER:
return mSpeakerIcon;
}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicChooserDialog.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicChooserDialog.java
index 91cddef..c2819e7 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicChooserDialog.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicChooserDialog.java
@@ -392,7 +392,7 @@
switch (route.getDeviceType()) {
case MediaRouter.RouteInfo.DEVICE_TYPE_TV:
return mTvIcon;
- case MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER:
+ case MediaRouter.RouteInfo.DEVICE_TYPE_REMOTE_SPEAKER:
return mSpeakerIcon;
}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
index 926f600..07891df 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/app/MediaRouteDynamicControllerDialog.java
@@ -1013,7 +1013,7 @@
switch (route.getDeviceType()) {
case MediaRouter.RouteInfo.DEVICE_TYPE_TV:
return mTvIcon;
- case MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER:
+ case MediaRouter.RouteInfo.DEVICE_TYPE_REMOTE_SPEAKER:
return mSpeakerIcon;
}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
index 7bfccd0..58a5b76 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
@@ -1154,7 +1154,8 @@
DEVICE_TYPE_UNKNOWN,
DEVICE_TYPE_TV,
DEVICE_TYPE_SPEAKER,
- DEVICE_TYPE_BLUETOOTH,
+ DEVICE_TYPE_REMOTE_SPEAKER,
+ DEVICE_TYPE_BLUETOOTH_A2DP,
DEVICE_TYPE_AUDIO_VIDEO_RECEIVER,
DEVICE_TYPE_TABLET,
DEVICE_TYPE_TABLET_DOCKED,
@@ -1163,6 +1164,18 @@
DEVICE_TYPE_CAR,
DEVICE_TYPE_SMARTWATCH,
DEVICE_TYPE_SMARTPHONE,
+ DEVICE_TYPE_BUILTIN_SPEAKER,
+ DEVICE_TYPE_WIRED_HEADSET,
+ DEVICE_TYPE_WIRED_HEADPHONES,
+ DEVICE_TYPE_HDMI,
+ DEVICE_TYPE_USB_DEVICE,
+ DEVICE_TYPE_USB_ACCESSORY,
+ DEVICE_TYPE_DOCK,
+ DEVICE_TYPE_USB_HEADSET,
+ DEVICE_TYPE_HEARING_AID,
+ DEVICE_TYPE_BLE_HEADSET,
+ DEVICE_TYPE_HDMI_ARC,
+ DEVICE_TYPE_HDMI_EARC,
DEVICE_TYPE_GROUP
})
@Retention(RetentionPolicy.SOURCE)
@@ -1189,17 +1202,27 @@
* on a speaker.
*
* @see #getDeviceType
+ * @deprecated use {@link #DEVICE_TYPE_BUILTIN_SPEAKER} and
+ * {@link #DEVICE_TYPE_REMOTE_SPEAKER} instead.
*/
+ @Deprecated
public static final int DEVICE_TYPE_SPEAKER = 2;
/**
* A receiver device type of the route indicating the presentation of the media is happening
+ * on a remote speaker.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_REMOTE_SPEAKER = 2;
+
+ /**
+ * A receiver device type of the route indicating the presentation of the media is happening
* on a bluetooth device such as a bluetooth speaker.
*
* @see #getDeviceType
*/
- @RestrictTo(LIBRARY)
- public static final int DEVICE_TYPE_BLUETOOTH = 3;
+ public static final int DEVICE_TYPE_BLUETOOTH_A2DP = 3;
/**
* A receiver device type indicating that the presentation of the media is happening on an
@@ -1257,6 +1280,103 @@
* @see #getDeviceType
*/
public static final int DEVICE_TYPE_SMARTPHONE = 11;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a
+ * speaker system (i.e. a mono speaker or stereo speakers) built into the device.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_BUILTIN_SPEAKER = 12;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a
+ * headset, which is the combination of a headphones and a microphone.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_WIRED_HEADSET = 13;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a pair
+ * of wired headphones.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_WIRED_HEADPHONES = 14;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on an
+ * HDMI connection.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_HDMI = 16;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a USB
+ * audio device.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_USB_DEVICE = 17;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a USB
+ * audio device in accessory mode.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_USB_ACCESSORY = 18;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on an
+ * audio device associated on a dock.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_DOCK = 19;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a USB
+ * audio headset.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_USB_HEADSET = 20;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a
+ * hearing aid device.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_HEARING_AID = 21;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on a
+ * Bluetooth Low Energy (BLE) HEADSET.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_BLE_HEADSET = 22;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on an
+ * Audio Return Channel of an HDMI connection
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_HDMI_ARC = 23;
+
+ /**
+ * A receiver device type indicating the presentation of the media is happening on an
+ * Enhanced Audio Return Channel of an HDMI connection
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_HDMI_EARC = 24;
+
/**
* A receiver device type indicating that the presentation of the media is happening on a
* group of devices.
@@ -1684,7 +1804,7 @@
/** */
@RestrictTo(LIBRARY)
public boolean isDefaultOrBluetooth() {
- if (isDefault() || mDeviceType == DEVICE_TYPE_BLUETOOTH) {
+ if (isDefault() || mDeviceType == DEVICE_TYPE_BLUETOOTH_A2DP) {
return true;
}
// This is a workaround for platform version 23 or below where the system route
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter2Utils.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter2Utils.java
index fe25375..2267cba 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter2Utils.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter2Utils.java
@@ -21,24 +21,48 @@
import static android.media.MediaRoute2Info.FEATURE_REMOTE_AUDIO_PLAYBACK;
import static android.media.MediaRoute2Info.FEATURE_REMOTE_PLAYBACK;
import static android.media.MediaRoute2Info.FEATURE_REMOTE_VIDEO_PLAYBACK;
+import static android.media.MediaRoute2Info.TYPE_BLE_HEADSET;
+import static android.media.MediaRoute2Info.TYPE_BLUETOOTH_A2DP;
+import static android.media.MediaRoute2Info.TYPE_BUILTIN_SPEAKER;
+import static android.media.MediaRoute2Info.TYPE_DOCK;
import static android.media.MediaRoute2Info.TYPE_GROUP;
+import static android.media.MediaRoute2Info.TYPE_HDMI;
+import static android.media.MediaRoute2Info.TYPE_HEARING_AID;
import static android.media.MediaRoute2Info.TYPE_REMOTE_AUDIO_VIDEO_RECEIVER;
import static android.media.MediaRoute2Info.TYPE_REMOTE_SPEAKER;
import static android.media.MediaRoute2Info.TYPE_REMOTE_TV;
import static android.media.MediaRoute2Info.TYPE_UNKNOWN;
+import static android.media.MediaRoute2Info.TYPE_USB_ACCESSORY;
+import static android.media.MediaRoute2Info.TYPE_USB_DEVICE;
+import static android.media.MediaRoute2Info.TYPE_USB_HEADSET;
+import static android.media.MediaRoute2Info.TYPE_WIRED_HEADPHONES;
+import static android.media.MediaRoute2Info.TYPE_WIRED_HEADSET;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_AUDIO_VIDEO_RECEIVER;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLE_HEADSET;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH_A2DP;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_BUILTIN_SPEAKER;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_CAR;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_COMPUTER;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_DOCK;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_GAME_CONSOLE;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_GROUP;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_HDMI;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_HDMI_ARC;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_HDMI_EARC;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_HEARING_AID;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_SMARTPHONE;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_SMARTWATCH;
-import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_REMOTE_SPEAKER;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_TABLET;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_TABLET_DOCKED;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_TV;
import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_UNKNOWN;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_USB_ACCESSORY;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_USB_DEVICE;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_USB_HEADSET;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_WIRED_HEADPHONES;
+import static androidx.mediarouter.media.MediaRouter.RouteInfo.DEVICE_TYPE_WIRED_HEADSET;
import android.content.IntentFilter;
import android.media.MediaRoute2Info;
@@ -82,7 +106,6 @@
// TODO(b/282263784): Remove the following constants in favor of using instead SDK constants,
// once the SDK constants become available.
- private static final int TYPE_REMOTE_AUDIO_VIDEO_RECEIVER = 1003;
private static final int TYPE_REMOTE_TABLET = 1004;
private static final int TYPE_REMOTE_TABLET_DOCKED = 1005;
private static final int TYPE_REMOTE_COMPUTER = 1006;
@@ -90,7 +113,8 @@
private static final int TYPE_REMOTE_CAR = 1008;
private static final int TYPE_REMOTE_SMARTWATCH = 1009;
private static final int TYPE_REMOTE_SMARTPHONE = 1010;
- private static final int TYPE_GROUP = 2000;
+ private static final int TYPE_HDMI_ARC = 10;
+ private static final int TYPE_HDMI_EARC = 29;
private MediaRouter2Utils() {}
@@ -129,7 +153,7 @@
case DEVICE_TYPE_TV:
builder.addFeature(FEATURE_REMOTE_VIDEO_PLAYBACK);
// fall through
- case DEVICE_TYPE_SPEAKER:
+ case DEVICE_TYPE_REMOTE_SPEAKER:
builder.addFeature(FEATURE_REMOTE_AUDIO_PLAYBACK);
}
if (!descriptor.getGroupMemberIds().isEmpty()) {
@@ -330,7 +354,7 @@
case TYPE_REMOTE_TV:
return DEVICE_TYPE_TV;
case TYPE_REMOTE_SPEAKER:
- return DEVICE_TYPE_SPEAKER;
+ return DEVICE_TYPE_REMOTE_SPEAKER;
case TYPE_REMOTE_AUDIO_VIDEO_RECEIVER:
return DEVICE_TYPE_AUDIO_VIDEO_RECEIVER;
case TYPE_REMOTE_TABLET:
@@ -347,6 +371,32 @@
return DEVICE_TYPE_SMARTWATCH;
case TYPE_REMOTE_SMARTPHONE:
return DEVICE_TYPE_SMARTPHONE;
+ case TYPE_BUILTIN_SPEAKER:
+ return DEVICE_TYPE_BUILTIN_SPEAKER;
+ case TYPE_WIRED_HEADSET:
+ return DEVICE_TYPE_WIRED_HEADSET;
+ case TYPE_WIRED_HEADPHONES:
+ return DEVICE_TYPE_WIRED_HEADPHONES;
+ case TYPE_HDMI:
+ return DEVICE_TYPE_HDMI;
+ case TYPE_HDMI_ARC:
+ return DEVICE_TYPE_HDMI_ARC;
+ case TYPE_HDMI_EARC:
+ return DEVICE_TYPE_HDMI_EARC;
+ case TYPE_USB_DEVICE:
+ return DEVICE_TYPE_USB_DEVICE;
+ case TYPE_USB_ACCESSORY:
+ return DEVICE_TYPE_USB_ACCESSORY;
+ case TYPE_DOCK:
+ return DEVICE_TYPE_DOCK;
+ case TYPE_USB_HEADSET:
+ return DEVICE_TYPE_USB_HEADSET;
+ case TYPE_HEARING_AID:
+ return DEVICE_TYPE_HEARING_AID;
+ case TYPE_BLE_HEADSET:
+ return DEVICE_TYPE_BLE_HEADSET;
+ case TYPE_BLUETOOTH_A2DP:
+ return DEVICE_TYPE_BLUETOOTH_A2DP;
case TYPE_GROUP:
return DEVICE_TYPE_GROUP;
default:
@@ -359,7 +409,7 @@
switch (androidXDeviceType) {
case DEVICE_TYPE_TV:
return TYPE_REMOTE_TV;
- case DEVICE_TYPE_SPEAKER:
+ case DEVICE_TYPE_REMOTE_SPEAKER:
return TYPE_REMOTE_SPEAKER;
case DEVICE_TYPE_AUDIO_VIDEO_RECEIVER:
return TYPE_REMOTE_AUDIO_VIDEO_RECEIVER;
@@ -377,6 +427,32 @@
return TYPE_REMOTE_SMARTWATCH;
case DEVICE_TYPE_SMARTPHONE:
return TYPE_REMOTE_SMARTPHONE;
+ case DEVICE_TYPE_BUILTIN_SPEAKER:
+ return TYPE_BUILTIN_SPEAKER;
+ case DEVICE_TYPE_WIRED_HEADSET:
+ return TYPE_WIRED_HEADSET;
+ case DEVICE_TYPE_WIRED_HEADPHONES:
+ return TYPE_WIRED_HEADPHONES;
+ case DEVICE_TYPE_HDMI:
+ return TYPE_HDMI;
+ case DEVICE_TYPE_HDMI_ARC:
+ return TYPE_HDMI_ARC;
+ case DEVICE_TYPE_HDMI_EARC:
+ return TYPE_HDMI_EARC;
+ case DEVICE_TYPE_USB_DEVICE:
+ return TYPE_USB_DEVICE;
+ case DEVICE_TYPE_USB_ACCESSORY:
+ return TYPE_USB_ACCESSORY;
+ case DEVICE_TYPE_DOCK:
+ return TYPE_DOCK;
+ case DEVICE_TYPE_USB_HEADSET:
+ return TYPE_USB_HEADSET;
+ case DEVICE_TYPE_HEARING_AID:
+ return TYPE_HEARING_AID;
+ case DEVICE_TYPE_BLE_HEADSET:
+ return TYPE_BLE_HEADSET;
+ case DEVICE_TYPE_BLUETOOTH_A2DP:
+ return TYPE_BLUETOOTH_A2DP;
case DEVICE_TYPE_GROUP:
return TYPE_GROUP;
default:
diff --git a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/data/RouteItem.java b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/data/RouteItem.java
index d047bb4..b093db9 100644
--- a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/data/RouteItem.java
+++ b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/data/RouteItem.java
@@ -153,8 +153,8 @@
public enum DeviceType {
TV(MediaRouter.RouteInfo.DEVICE_TYPE_TV),
- SPEAKER(MediaRouter.RouteInfo.DEVICE_TYPE_SPEAKER),
- BLUETOOTH(MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH),
+ SPEAKER(MediaRouter.RouteInfo.DEVICE_TYPE_REMOTE_SPEAKER),
+ BLUETOOTH(MediaRouter.RouteInfo.DEVICE_TYPE_BLUETOOTH_A2DP),
AUDIO_VIDEO_RECEIVER(MediaRouter.RouteInfo.DEVICE_TYPE_AUDIO_VIDEO_RECEIVER),
TABLET(MediaRouter.RouteInfo.DEVICE_TYPE_TABLET),
TABLET_DOCKED(MediaRouter.RouteInfo.DEVICE_TYPE_TABLET_DOCKED),