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

Commit 4b03ce47 authored by Yuchen Liu's avatar Yuchen Liu Committed by Android (Google) Code Review
Browse files

Merge "Add MULTICHANNEL_SPEAKER_GROUP to MediaRoute2Info" into main

parents 543a8cd9 01c0ca27
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -24664,6 +24664,7 @@ 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("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
    field @FlaggedApi("com.android.media.flags.enable_new_media_route_2_info_types") public static final int TYPE_REMOTE_COMPUTER = 1006; // 0x3ee
+14 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
package android.media;

import static android.media.MediaRouter2Utils.toUniqueId;
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;
@@ -271,6 +272,19 @@ public final class MediaRoute2Info implements Parcelable {
     */
    public static final int TYPE_BLE_HEADSET = AudioDeviceInfo.TYPE_BLE_HEADSET;

    /**
     * Indicates the route is a speaker group supporting multichannel contents.
     *
     * <p>The speakers in the group are connected together using local network based protocols. The
     * speaker group requires additional input of the physical positions of each individual speaker
     * to provide a better experience on multichannel contents.
     *
     * @see #getType
     */
    @FlaggedApi(FLAG_ENABLE_MULTICHANNEL_GROUP_DEVICE)
    public static final int TYPE_MULTICHANNEL_SPEAKER_GROUP =
            AudioDeviceInfo.TYPE_MULTICHANNEL_GROUP;

    /**
     * Indicates the route is a remote TV.
     *
+9 −0
Original line number Diff line number Diff line
@@ -32,6 +32,7 @@ import android.media.AudioDeviceCallback;
import android.media.AudioDeviceInfo;
import android.media.AudioManager;
import android.media.MediaRoute2Info;
import android.media.audio.Flags;
import android.media.audiopolicy.AudioProductStrategy;
import android.os.Handler;
import android.os.HandlerExecutor;
@@ -711,5 +712,13 @@ import java.util.Objects;
                        MediaRoute2Info.TYPE_DOCK,
                        /* defaultRouteId= */ "ROUTE_ID_DOCK_ANALOG",
                        /* nameResource= */ R.string.default_audio_route_name_dock_speakers));
        if (Flags.enableMultichannelGroupDevice()) {
            AUDIO_DEVICE_INFO_TYPE_TO_ROUTE_INFO.put(
                    AudioDeviceInfo.TYPE_MULTICHANNEL_GROUP,
                    new SystemRouteInfo(
                            MediaRoute2Info.TYPE_MULTICHANNEL_SPEAKER_GROUP,
                            /* defaultRouteId= */ "ROUTE_ID_MULTICHANNEL_SPEAKER_GROUP",
                            /* nameResource= */ R.string.default_audio_route_name_external_device));
        }
    }
}