diff options
4 files changed, 25 insertions, 24 deletions
diff --git a/media/java/android/media/MediaRoute2Info.java b/media/java/android/media/MediaRoute2Info.java index 0e9c162e4929..651c732abdb8 100644 --- a/media/java/android/media/MediaRoute2Info.java +++ b/media/java/android/media/MediaRoute2Info.java @@ -156,6 +156,7 @@ public final class MediaRoute2Info implements Parcelable { TYPE_REMOTE_GAME_CONSOLE, TYPE_REMOTE_CAR, TYPE_REMOTE_SMARTWATCH, + TYPE_REMOTE_SMARTPHONE, TYPE_GROUP }) @Retention(RetentionPolicy.SOURCE) @@ -343,6 +344,17 @@ public final class MediaRoute2Info implements Parcelable { public static final int TYPE_REMOTE_SMARTWATCH = 1009; /** + * Indicates the route is a remote smartphone. + * + * <p>A remote device uses a routing protocol managed by the application, as opposed to the + * routing being done by the system. + * + * @see #getType + * @hide + */ + public static final int TYPE_REMOTE_SMARTPHONE = 1010; + + /** * Indicates the route is a group of devices. * * @see #getType @@ -546,32 +558,8 @@ public final class MediaRoute2Info implements Parcelable { return mFeatures; } - // TODO (b/278728942): Add the following once the symbols are published in the SDK. Until then, - // adding them would cause the generated link to be broken. - // @see #TYPE_REMOTE_TABLET - // @see #TYPE_REMOTE_TABLET_DOCKED - // @see #TYPE_REMOTE_COMPUTER - // @see #TYPE_REMOTE_GAME_CONSOLE - // @see #TYPE_REMOTE_CAR - // @see #TYPE_REMOTE_SMARTWATCH /** * Returns the type of this route. - * - * @see #TYPE_UNKNOWN - * @see #TYPE_BUILTIN_SPEAKER - * @see #TYPE_WIRED_HEADSET - * @see #TYPE_WIRED_HEADPHONES - * @see #TYPE_BLUETOOTH_A2DP - * @see #TYPE_HDMI - * @see #TYPE_DOCK - * @see #TYPE_USB_DEVICE - * @see #TYPE_USB_ACCESSORY - * @see #TYPE_USB_HEADSET - * @see #TYPE_HEARING_AID - * @see #TYPE_REMOTE_TV - * @see #TYPE_REMOTE_SPEAKER - * @see #TYPE_REMOTE_AUDIO_VIDEO_RECEIVER - * @see #TYPE_GROUP */ @Type public int getType() { @@ -954,6 +942,8 @@ public final class MediaRoute2Info implements Parcelable { return "REMOTE_CAR"; case TYPE_REMOTE_SMARTWATCH: return "REMOTE_SMARTWATCH"; + case TYPE_REMOTE_SMARTPHONE: + return "REMOTE_SMARTPHONE"; case TYPE_GROUP: return "GROUP"; case TYPE_UNKNOWN: diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java index 632120e77c87..b10d7946f57f 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java @@ -19,6 +19,7 @@ import static android.media.MediaRoute2Info.TYPE_GROUP; import static android.media.MediaRoute2Info.TYPE_REMOTE_CAR; import static android.media.MediaRoute2Info.TYPE_REMOTE_COMPUTER; import static android.media.MediaRoute2Info.TYPE_REMOTE_GAME_CONSOLE; +import static android.media.MediaRoute2Info.TYPE_REMOTE_SMARTPHONE; import static android.media.MediaRoute2Info.TYPE_REMOTE_SMARTWATCH; import static android.media.MediaRoute2Info.TYPE_REMOTE_SPEAKER; import static android.media.MediaRoute2Info.TYPE_REMOTE_TABLET; @@ -103,6 +104,9 @@ public class InfoMediaDevice extends MediaDevice { case TYPE_REMOTE_SMARTWATCH: resId = R.drawable.ic_media_smartwatch; break; + case TYPE_REMOTE_SMARTPHONE: + resId = R.drawable.ic_smartphone; + break; case TYPE_REMOTE_SPEAKER: default: resId = R.drawable.ic_media_speaker_device; diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java index ffc0479f01c3..f2abf8727155 100644 --- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java +++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManager.java @@ -26,6 +26,7 @@ import static android.media.MediaRoute2Info.TYPE_REMOTE_AUDIO_VIDEO_RECEIVER; import static android.media.MediaRoute2Info.TYPE_REMOTE_CAR; import static android.media.MediaRoute2Info.TYPE_REMOTE_COMPUTER; import static android.media.MediaRoute2Info.TYPE_REMOTE_GAME_CONSOLE; +import static android.media.MediaRoute2Info.TYPE_REMOTE_SMARTPHONE; import static android.media.MediaRoute2Info.TYPE_REMOTE_SMARTWATCH; import static android.media.MediaRoute2Info.TYPE_REMOTE_SPEAKER; import static android.media.MediaRoute2Info.TYPE_REMOTE_TABLET; @@ -547,6 +548,7 @@ public class InfoMediaManager extends MediaManager { case TYPE_REMOTE_GAME_CONSOLE: case TYPE_REMOTE_CAR: case TYPE_REMOTE_SMARTWATCH: + case TYPE_REMOTE_SMARTPHONE: mediaDevice = new InfoMediaDevice(mContext, mRouterManager, route, mPackageName, mPreferenceItemMap.get(route.getId())); break; diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaDeviceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaDeviceTest.java index 67a045e9a449..19a3db25996e 100644 --- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaDeviceTest.java +++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/InfoMediaDeviceTest.java @@ -20,6 +20,7 @@ import static android.media.MediaRoute2Info.TYPE_GROUP; import static android.media.MediaRoute2Info.TYPE_REMOTE_CAR; import static android.media.MediaRoute2Info.TYPE_REMOTE_COMPUTER; import static android.media.MediaRoute2Info.TYPE_REMOTE_GAME_CONSOLE; +import static android.media.MediaRoute2Info.TYPE_REMOTE_SMARTPHONE; import static android.media.MediaRoute2Info.TYPE_REMOTE_SMARTWATCH; import static android.media.MediaRoute2Info.TYPE_REMOTE_SPEAKER; import static android.media.MediaRoute2Info.TYPE_REMOTE_TABLET; @@ -143,5 +144,9 @@ public class InfoMediaDeviceTest { assertThat(mInfoMediaDevice.getDrawableResIdByType()).isEqualTo( R.drawable.ic_media_smartwatch); + + when(mRouteInfo.getType()).thenReturn(TYPE_REMOTE_SMARTPHONE); + + assertThat(mInfoMediaDevice.getDrawableResIdByType()).isEqualTo(R.drawable.ic_smartphone); } } |