Add MediaRoute2Info#TYPE_REMOTE_SMARTPHONE

Bug: 287106712
Test: atest InfoMediaDeviceTest
Change-Id: I96cb1e662ac56ba0a46eb3b47a2c2cd687e5f0f3
This commit is contained in:
Santiago Seifert
2023-06-21 13:47:33 +00:00
parent 3ec91f423f
commit d8f63854ba
5 changed files with 26 additions and 24 deletions

View File

@@ -24384,6 +24384,7 @@ package android.media {
field public static final int TYPE_REMOTE_CAR = 1008; // 0x3f0
field public static final int TYPE_REMOTE_COMPUTER = 1006; // 0x3ee
field public static final int TYPE_REMOTE_GAME_CONSOLE = 1007; // 0x3ef
field public static final int TYPE_REMOTE_SMARTPHONE = 1010; // 0x3f2
field public static final int TYPE_REMOTE_SMARTWATCH = 1009; // 0x3f1
field public static final int TYPE_REMOTE_SPEAKER = 1002; // 0x3ea
field public static final int TYPE_REMOTE_TABLET = 1004; // 0x3ec

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)
@@ -336,6 +337,16 @@ 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
*/
public static final int TYPE_REMOTE_SMARTPHONE = 1010;
/**
* Indicates the route is a group of devices.
*
@@ -542,28 +553,6 @@ public final class MediaRoute2Info implements Parcelable {
/**
* 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_REMOTE_TABLET
* @see #TYPE_REMOTE_TABLET_DOCKED
* @see #TYPE_REMOTE_COMPUTER
* @see #TYPE_REMOTE_GAME_CONSOLE
* @see #TYPE_REMOTE_CAR
* @see #TYPE_REMOTE_SMARTWATCH
* @see #TYPE_GROUP
*/
@Type
public int getType() {
@@ -946,6 +935,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;
@@ -566,8 +567,8 @@ public abstract class InfoMediaManager extends MediaManager {
case TYPE_REMOTE_GAME_CONSOLE:
case TYPE_REMOTE_CAR:
case TYPE_REMOTE_SMARTWATCH:
mediaDevice =
createInfoMediaDevice(route, mPreferenceItemMap.get(route.getId()));
case TYPE_REMOTE_SMARTPHONE:
mediaDevice = createInfoMediaDevice(route, mPreferenceItemMap.get(route.getId()));
break;
case TYPE_BUILTIN_SPEAKER:
case TYPE_USB_DEVICE:

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