Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 52f7285e authored by Jacqueline Bronger's avatar Jacqueline Bronger
Browse files

Additional MediaRouter2Info wired route types

Missing route types added: LINE_DIGITAL, LINE_ANALOG, AUX_LINE

Bug: 375691732
Test: atest AudioDeviceInfoTest
Test: atest MediaRouter2HostSideTest
Test: atest CtsMediaBetterTogetherTestCases
Flag: com.android.media.flags.enable_new_wired_media_route_2_info_types

Change-Id: I39512b4d08e4563a54c0ea60c43df559c06b59d8
parent c79c65e0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -24662,6 +24662,7 @@ package android.media {
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int SUITABILITY_STATUS_NOT_SUITABLE_FOR_TRANSFER = 2; // 0x2
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int SUITABILITY_STATUS_SUITABLE_FOR_DEFAULT_TRANSFER = 0; // 0x0
    field @FlaggedApi("com.android.media.flags.enable_built_in_speaker_route_suitability_statuses") public static final int SUITABILITY_STATUS_SUITABLE_FOR_MANUAL_TRANSFER = 1; // 0x1
    field @FlaggedApi("com.android.media.flags.enable_new_wired_media_route_2_info_types") public static final int TYPE_AUX_LINE = 19; // 0x13
    field public static final int TYPE_BLE_HEADSET = 26; // 0x1a
    field public static final int TYPE_BLUETOOTH_A2DP = 8; // 0x8
    field public static final int TYPE_BUILTIN_SPEAKER = 2; // 0x2
@@ -24671,6 +24672,8 @@ package android.media {
    field @FlaggedApi("com.android.media.flags.enable_audio_policies_device_and_bluetooth_controller") public static final int TYPE_HDMI_ARC = 10; // 0xa
    field @FlaggedApi("com.android.media.flags.enable_audio_policies_device_and_bluetooth_controller") public static final int TYPE_HDMI_EARC = 29; // 0x1d
    field public static final int TYPE_HEARING_AID = 23; // 0x17
    field @FlaggedApi("com.android.media.flags.enable_new_wired_media_route_2_info_types") public static final int TYPE_LINE_ANALOG = 5; // 0x5
    field @FlaggedApi("com.android.media.flags.enable_new_wired_media_route_2_info_types") public static final int TYPE_LINE_DIGITAL = 6; // 0x6
    field @FlaggedApi("android.media.audio.enable_multichannel_group_device") public static final int TYPE_MULTICHANNEL_SPEAKER_GROUP = 32; // 0x20
    field public static final int TYPE_REMOTE_AUDIO_VIDEO_RECEIVER = 1003; // 0x3eb
    field @FlaggedApi("com.android.media.flags.enable_new_media_route_2_info_types") public static final int TYPE_REMOTE_CAR = 1008; // 0x3f0
+31 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static android.media.audio.Flags.FLAG_ENABLE_MULTICHANNEL_GROUP_DEVICE;
import static com.android.media.flags.Flags.FLAG_ENABLE_AUDIO_POLICIES_DEVICE_AND_BLUETOOTH_CONTROLLER;
import static com.android.media.flags.Flags.FLAG_ENABLE_BUILT_IN_SPEAKER_ROUTE_SUITABILITY_STATUSES;
import static com.android.media.flags.Flags.FLAG_ENABLE_NEW_MEDIA_ROUTE_2_INFO_TYPES;
import static com.android.media.flags.Flags.FLAG_ENABLE_NEW_WIRED_MEDIA_ROUTE_2_INFO_TYPES;

import android.annotation.FlaggedApi;
import android.annotation.IntDef;
@@ -150,6 +151,9 @@ public final class MediaRoute2Info implements Parcelable {
                TYPE_HDMI,
                TYPE_HDMI_ARC,
                TYPE_HDMI_EARC,
                TYPE_LINE_DIGITAL,
                TYPE_LINE_ANALOG,
                TYPE_AUX_LINE,
                TYPE_USB_DEVICE,
                TYPE_USB_ACCESSORY,
                TYPE_DOCK,
@@ -230,6 +234,24 @@ public final class MediaRoute2Info implements Parcelable {
    @FlaggedApi(FLAG_ENABLE_AUDIO_POLICIES_DEVICE_AND_BLUETOOTH_CONTROLLER)
    public static final int TYPE_HDMI_EARC = AudioDeviceInfo.TYPE_HDMI_EARC;

    /**
     * Indicates the route is a digital line connection (for example S/PDIF).
     */
    @FlaggedApi(FLAG_ENABLE_NEW_WIRED_MEDIA_ROUTE_2_INFO_TYPES)
    public static final int TYPE_LINE_DIGITAL = AudioDeviceInfo.TYPE_LINE_DIGITAL;

    /**
     * Indicates the route is an analog line-level connection.
     */
    @FlaggedApi(FLAG_ENABLE_NEW_WIRED_MEDIA_ROUTE_2_INFO_TYPES)
    public static final int TYPE_LINE_ANALOG = AudioDeviceInfo.TYPE_LINE_ANALOG;

    /**
     * Indicates the route is using the auxiliary line-level connectors.
     */
    @FlaggedApi(FLAG_ENABLE_NEW_WIRED_MEDIA_ROUTE_2_INFO_TYPES)
    public static final int TYPE_AUX_LINE = AudioDeviceInfo.TYPE_AUX_LINE;

    /**
     * Indicates the route is a USB audio device.
     *
@@ -839,6 +861,7 @@ public final class MediaRoute2Info implements Parcelable {
    public boolean isSystemRouteType() {
        return switch (mType) {
            case TYPE_BUILTIN_SPEAKER,
                            TYPE_AUX_LINE,
                            TYPE_BLUETOOTH_A2DP,
                            TYPE_DOCK,
                            TYPE_BLE_HEADSET,
@@ -846,6 +869,8 @@ public final class MediaRoute2Info implements Parcelable {
                            TYPE_HDMI,
                            TYPE_HDMI_ARC,
                            TYPE_HDMI_EARC,
                            TYPE_LINE_DIGITAL,
                            TYPE_LINE_ANALOG,
                            TYPE_USB_ACCESSORY,
                            TYPE_USB_DEVICE,
                            TYPE_USB_HEADSET,
@@ -1074,6 +1099,12 @@ public final class MediaRoute2Info implements Parcelable {
                return "HDMI_ARC";
            case TYPE_HDMI_EARC:
                return "HDMI_EARC";
            case TYPE_LINE_DIGITAL:
                return "LINE_DIGITAL";
            case TYPE_LINE_ANALOG:
                return "LINE_ANALOG";
            case TYPE_AUX_LINE:
                return "AUX_LINE";
            case TYPE_DOCK:
                return "DOCK";
            case TYPE_USB_DEVICE:
+8 −0
Original line number Diff line number Diff line
@@ -46,6 +46,14 @@ flag {
    bug: "301713440"
}

flag {
    name: "enable_new_wired_media_route_2_info_types"
    is_exported: true
    namespace: "media_tv"
    description: "Enables the following type constant in MediaRoute2Info: LINE_ANALOG, LINE_DIGITAL, AUX_LINE"
    bug: "301713440"
}

flag {
    name: "enable_privileged_routing_for_media_routing_control"
    is_exported: true
+6 −0
Original line number Diff line number Diff line
@@ -1426,6 +1426,12 @@
    <string name="media_transfer_default_device_name">Connected device</string>
    <!-- Name of the phone device with an active remote session. [CHAR LIMIT=30] -->
    <string name="media_transfer_this_phone">This phone</string>
    <!-- Name of the digital audio output, i.e. S/PDIF, usually optical. [CHAR LIMIT=30] -->
    <string name="media_transfer_digital_line_name">S/PDIF</string>
    <!-- Name of the analog audio output. [CHAR LIMIT=30] -->
    <string name="media_transfer_analog_line_name">Analog</string>
    <!-- Name of the AUX audio output. [CHAR LIMIT=30] -->
    <string name="media_transfer_aux_line_name">AUX</string>
    <!-- Sub status indicates device is not available due to an unknown error. [CHAR LIMIT=NONE] -->
    <string name="media_output_status_unknown_error">Can\’t play on this device</string>
    <!-- Sub status indicates device need premium account. [CHAR LIMIT=NONE] -->
+6 −0
Original line number Diff line number Diff line
@@ -15,6 +15,9 @@
 */
package com.android.settingslib.media;

import static android.media.MediaRoute2Info.TYPE_AUX_LINE;
import static android.media.MediaRoute2Info.TYPE_LINE_ANALOG;
import static android.media.MediaRoute2Info.TYPE_LINE_DIGITAL;
import static android.media.MediaRoute2Info.TYPE_BLE_HEADSET;
import static android.media.MediaRoute2Info.TYPE_BLUETOOTH_A2DP;
import static android.media.MediaRoute2Info.TYPE_BUILTIN_SPEAKER;
@@ -700,6 +703,9 @@ public abstract class InfoMediaManager {
            case TYPE_HDMI:
            case TYPE_HDMI_ARC:
            case TYPE_HDMI_EARC:
            case TYPE_LINE_DIGITAL:
            case TYPE_LINE_ANALOG:
            case TYPE_AUX_LINE:
            case TYPE_WIRED_HEADSET:
            case TYPE_WIRED_HEADPHONES:
                mediaDevice =
Loading