Merge "Add missing device types in AndroidX" into androidx-main
diff --git a/mediarouter/mediarouter/api/current.txt b/mediarouter/mediarouter/api/current.txt
index fbe13f9..3fb8c40 100644
--- a/mediarouter/mediarouter/api/current.txt
+++ b/mediarouter/mediarouter/api/current.txt
@@ -447,7 +447,15 @@
field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2
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_CAR = 9; // 0x9
+ field public static final int DEVICE_TYPE_COMPUTER = 7; // 0x7
+ 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_SMARTWATCH = 10; // 0xa
field 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 PLAYBACK_TYPE_LOCAL = 0; // 0x0
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
diff --git a/mediarouter/mediarouter/api/public_plus_experimental_current.txt b/mediarouter/mediarouter/api/public_plus_experimental_current.txt
index fbe13f9..3fb8c40 100644
--- a/mediarouter/mediarouter/api/public_plus_experimental_current.txt
+++ b/mediarouter/mediarouter/api/public_plus_experimental_current.txt
@@ -447,7 +447,15 @@
field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2
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_CAR = 9; // 0x9
+ field public static final int DEVICE_TYPE_COMPUTER = 7; // 0x7
+ 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_SMARTWATCH = 10; // 0xa
field 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 PLAYBACK_TYPE_LOCAL = 0; // 0x0
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
diff --git a/mediarouter/mediarouter/api/restricted_current.txt b/mediarouter/mediarouter/api/restricted_current.txt
index fbe13f9..3fb8c40 100644
--- a/mediarouter/mediarouter/api/restricted_current.txt
+++ b/mediarouter/mediarouter/api/restricted_current.txt
@@ -447,7 +447,15 @@
field public static final int CONNECTION_STATE_CONNECTED = 2; // 0x2
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_CAR = 9; // 0x9
+ field public static final int DEVICE_TYPE_COMPUTER = 7; // 0x7
+ 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_SMARTWATCH = 10; // 0xa
field 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 PLAYBACK_TYPE_LOCAL = 0; // 0x0
field public static final int PLAYBACK_TYPE_REMOTE = 1; // 0x1
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java
index 5976828..a202f44 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouteDescriptor.java
@@ -263,10 +263,9 @@
/**
* Gets the type of the receiver device associated with this route.
*
- * @return The type of the receiver device associated with this route:
- * {@link MediaRouter.RouteInfo#DEVICE_TYPE_TV} or
- * {@link MediaRouter.RouteInfo#DEVICE_TYPE_SPEAKER}.
+ * @return The type of the receiver device associated with this route.
*/
+ @MediaRouter.RouteInfo.DeviceType
public int getDeviceType() {
return mBundle.getInt(KEY_DEVICE_TYPE);
}
@@ -718,12 +717,10 @@
/**
* Sets the route's receiver device type.
*
- * @param deviceType The receive device type of the route:
- * {@link MediaRouter.RouteInfo#DEVICE_TYPE_TV} or
- * {@link MediaRouter.RouteInfo#DEVICE_TYPE_SPEAKER}.
+ * @param deviceType The type of the receiver device.
*/
@NonNull
- public Builder setDeviceType(int deviceType) {
+ public Builder setDeviceType(@MediaRouter.RouteInfo.DeviceType int deviceType) {
mBundle.putInt(KEY_DEVICE_TYPE, deviceType);
return this;
}
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 44d918b..dd04930 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/MediaRouter.java
@@ -1151,9 +1151,23 @@
*/
public static final int PLAYBACK_TYPE_REMOTE = 1;
- @IntDef({DEVICE_TYPE_UNKNOWN, DEVICE_TYPE_TV, DEVICE_TYPE_SPEAKER, DEVICE_TYPE_BLUETOOTH})
+ @RestrictTo(LIBRARY)
+ @IntDef({
+ DEVICE_TYPE_UNKNOWN,
+ DEVICE_TYPE_TV,
+ DEVICE_TYPE_SPEAKER,
+ DEVICE_TYPE_BLUETOOTH,
+ DEVICE_TYPE_AUDIO_VIDEO_RECEIVER,
+ DEVICE_TYPE_TABLET,
+ DEVICE_TYPE_TABLET_DOCKED,
+ DEVICE_TYPE_COMPUTER,
+ DEVICE_TYPE_GAME_CONSOLE,
+ DEVICE_TYPE_CAR,
+ DEVICE_TYPE_SMARTWATCH,
+ DEVICE_TYPE_GROUP
+ })
@Retention(RetentionPolicy.SOURCE)
- private @interface DeviceType {}
+ public @interface DeviceType {}
/**
* The default receiver device type of the route indicating the type is unknown.
@@ -1188,6 +1202,63 @@
@RestrictTo(LIBRARY)
public static final int DEVICE_TYPE_BLUETOOTH = 3;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on an
+ * Audio/Video receiver (AVR).
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_AUDIO_VIDEO_RECEIVER = 4;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on a
+ * tablet.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_TABLET = 5;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on a
+ * docked tablet.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_TABLET_DOCKED = 6;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on a
+ * computer.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_COMPUTER = 7;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on a
+ * gaming console.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_GAME_CONSOLE = 8;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on a
+ * car.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_CAR = 9;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on a
+ * smartwatch.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_SMARTWATCH = 10;
+ /**
+ * A receiver device type indicating that the presentation of the media is happening on a
+ * group of devices.
+ *
+ * @see #getDeviceType
+ */
+ public static final int DEVICE_TYPE_GROUP = 1000;
+
@IntDef({PLAYBACK_VOLUME_FIXED,PLAYBACK_VOLUME_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
private @interface PlaybackVolume {}
@@ -1589,9 +1660,9 @@
/**
* Gets the type of the receiver device associated with this route.
*
- * @return The type of the receiver device associated with this route:
- * {@link #DEVICE_TYPE_TV} or {@link #DEVICE_TYPE_SPEAKER}.
+ * @return The type of the receiver device associated with this route.
*/
+ @DeviceType
public int getDeviceType() {
return mDeviceType;
}
diff --git a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/SystemMediaRouteProvider.java b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/SystemMediaRouteProvider.java
index 2648406..74c12ed 100644
--- a/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/SystemMediaRouteProvider.java
+++ b/mediarouter/mediarouter/src/main/java/androidx/mediarouter/media/SystemMediaRouteProvider.java
@@ -16,6 +16,7 @@
package androidx.mediarouter.media;
+import android.annotation.SuppressLint;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
@@ -862,6 +863,7 @@
super(context, syncCallback);
}
+ @SuppressLint("WrongConstant") // False positive. See b/283059575.
@Override
@DoNotInline
protected void onBuildSystemRouteDescriptor(SystemRouteRecord record,
diff --git a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java
index d4b31005..daa2699 100644
--- a/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java
+++ b/samples/MediaRoutingDemo/src/main/java/com/example/androidx/mediarouting/providers/SampleDynamicGroupMediaRouteProvider.java
@@ -339,7 +339,7 @@
mDynamicRouteDescriptors.put(routeId, builder.build());
- if (routeDescriptor.getDeviceType() == MediaRouter.RouteInfo.DEVICE_TYPE_TV) {
+ if (routeDescriptor.getDeviceType() == RouteInfo.DEVICE_TYPE_TV) {
mTvSelectedCount++;
}
return true;
@@ -359,7 +359,7 @@
MediaRouteDescriptor routeDescriptor =
mRouteDescriptors.get(dynamicDescriptor.getRouteDescriptor().getId());
- if (routeDescriptor.getDeviceType() == MediaRouter.RouteInfo.DEVICE_TYPE_TV) {
+ if (routeDescriptor.getDeviceType() == RouteInfo.DEVICE_TYPE_TV) {
mTvSelectedCount--;
}
return true;
@@ -526,7 +526,7 @@
private int countTvFromRoute(MediaRouteDescriptor routeDescriptor) {
if (routeDescriptor.getGroupMemberIds().isEmpty()) {
- return (routeDescriptor.getDeviceType() == MediaRouter.RouteInfo.DEVICE_TYPE_TV)
+ return (routeDescriptor.getDeviceType() == RouteInfo.DEVICE_TYPE_TV)
? 1 : 0;
}
int count = 0;