Add MediaRoute2Info#TYPE_REMOTE_SMARTPHONE

Bug: 287106712
Test: atest InfoMediaDeviceTest
Change-Id: I96cb1e662ac56ba0a46eb3b47a2c2cd687e5f0f3
(cherry picked from commit d8f63854ba)
Merged-In: I96cb1e662ac56ba0a46eb3b47a2c2cd687e5f0f3
This commit is contained in:
Santiago Seifert
2023-06-21 13:47:33 +00:00
parent 6b8659f971
commit d8655225e8
4 changed files with 25 additions and 24 deletions

View File

@@ -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)
@@ -342,6 +343,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.
*
@@ -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:

View File

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

View File

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

View File

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