Loading core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -21399,6 +21399,7 @@ package android.media { field public static final int TYPE_IP = 20; // 0x14 field public static final int TYPE_LINE_ANALOG = 5; // 0x5 field public static final int TYPE_LINE_DIGITAL = 6; // 0x6 field @FlaggedApi("android.media.audio.enable_multichannel_group_device") public static final int TYPE_MULTICHANNEL_GROUP = 32; // 0x20 field public static final int TYPE_REMOTE_SUBMIX = 25; // 0x19 field public static final int TYPE_TELEPHONY = 18; // 0x12 field public static final int TYPE_TV_TUNER = 17; // 0x11 media/java/android/media/AudioDeviceInfo.java +31 −2 Original line number Diff line number Diff line Loading @@ -16,11 +16,15 @@ package android.media; import static android.media.audio.Flags.FLAG_ENABLE_MULTICHANNEL_GROUP_DEVICE; import android.Manifest; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.RequiresPermission; import android.annotation.TestApi; import android.media.audio.Flags; import android.util.SparseIntArray; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -192,6 +196,15 @@ public final class AudioDeviceInfo { */ public static final int TYPE_DOCK_ANALOG = 31; /** * A device type describing a speaker group that supports multichannel contents. 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. */ @FlaggedApi(FLAG_ENABLE_MULTICHANNEL_GROUP_DEVICE) public static final int TYPE_MULTICHANNEL_GROUP = 32; /** @hide */ @IntDef(flag = false, prefix = "TYPE", value = { TYPE_BUILTIN_EARPIECE, Loading Loading @@ -224,7 +237,8 @@ public final class AudioDeviceInfo { TYPE_BLE_SPEAKER, TYPE_ECHO_REFERENCE, TYPE_BLE_BROADCAST, TYPE_DOCK_ANALOG} TYPE_DOCK_ANALOG, TYPE_MULTICHANNEL_GROUP} ) @Retention(RetentionPolicy.SOURCE) public @interface AudioDeviceType {} Loading Loading @@ -285,7 +299,8 @@ public final class AudioDeviceInfo { TYPE_BLE_HEADSET, TYPE_BLE_SPEAKER, TYPE_BLE_BROADCAST, TYPE_DOCK_ANALOG} TYPE_DOCK_ANALOG, TYPE_MULTICHANNEL_GROUP} ) @Retention(RetentionPolicy.SOURCE) public @interface AudioDeviceTypeOut {} Loading Loading @@ -321,7 +336,13 @@ public final class AudioDeviceInfo { case TYPE_BLE_BROADCAST: case TYPE_DOCK_ANALOG: return true; default: if (Flags.enableMultichannelGroupDevice()) { if (type == TYPE_MULTICHANNEL_GROUP) { return true; } } return false; } } Loading Loading @@ -665,6 +686,10 @@ public final class AudioDeviceInfo { INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLE_HEADSET, TYPE_BLE_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLE_SPEAKER, TYPE_BLE_SPEAKER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLE_BROADCAST, TYPE_BLE_BROADCAST); if (Flags.enableMultichannelGroupDevice()) { INT_TO_EXT_DEVICE_MAPPING.put( AudioSystem.DEVICE_OUT_MULTICHANNEL_GROUP, TYPE_MULTICHANNEL_GROUP); } INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BUILTIN_MIC, TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_SCO_HEADSET, TYPE_BLUETOOTH_SCO); Loading Loading @@ -721,6 +746,10 @@ public final class AudioDeviceInfo { EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLE_HEADSET, AudioSystem.DEVICE_OUT_BLE_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLE_SPEAKER, AudioSystem.DEVICE_OUT_BLE_SPEAKER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLE_BROADCAST, AudioSystem.DEVICE_OUT_BLE_BROADCAST); if (Flags.enableMultichannelGroupDevice()) { EXT_TO_INT_DEVICE_MAPPING.put( TYPE_MULTICHANNEL_GROUP, AudioSystem.DEVICE_OUT_MULTICHANNEL_GROUP); } // privileges mapping to input device EXT_TO_INT_INPUT_DEVICE_MAPPING = new SparseIntArray(); Loading media/java/android/media/AudioManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -6155,6 +6155,11 @@ public class AudioManager { * The audio output device code for a BLE audio brodcast group. */ public static final int DEVICE_OUT_BLE_BROADCAST = AudioSystem.DEVICE_OUT_BLE_BROADCAST; /** @hide * The audio output device code for a wireless speaker group supporting multichannel content. */ public static final int DEVICE_OUT_MULTICHANNEL_GROUP = AudioSystem.DEVICE_OUT_MULTICHANNEL_GROUP; /** @hide * This is not used as a returned value from {@link #getDevicesForStream}, but could be * used in the future in a set method to select whatever default device is chosen by the Loading media/java/android/media/AudioSystem.java +7 −0 Original line number Diff line number Diff line Loading @@ -1066,6 +1066,8 @@ public class AudioSystem /** @hide */ public static final int DEVICE_OUT_IP = 0x800000; /** @hide */ public static final int DEVICE_OUT_MULTICHANNEL_GROUP = 0x800001; /** @hide */ public static final int DEVICE_OUT_BUS = 0x1000000; /** @hide */ public static final int DEVICE_OUT_PROXY = 0x2000000; Loading Loading @@ -1134,6 +1136,7 @@ public class AudioSystem DEVICE_OUT_ALL_SET.add(DEVICE_OUT_AUX_LINE); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_SPEAKER_SAFE); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_IP); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_MULTICHANNEL_GROUP); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_BUS); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_PROXY); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_USB_HEADSET); Loading Loading @@ -1422,6 +1425,8 @@ public class AudioSystem /** @hide */ public static final String DEVICE_OUT_AUX_LINE_NAME = "aux_line"; /** @hide */ public static final String DEVICE_OUT_SPEAKER_SAFE_NAME = "speaker_safe"; /** @hide */ public static final String DEVICE_OUT_IP_NAME = "ip"; /** @hide */ public static final String DEVICE_OUT_MULTICHANNEL_GROUP_NAME = "multichannel_group"; /** @hide */ public static final String DEVICE_OUT_BUS_NAME = "bus"; /** @hide */ public static final String DEVICE_OUT_PROXY_NAME = "proxy"; /** @hide */ public static final String DEVICE_OUT_USB_HEADSET_NAME = "usb_headset"; Loading Loading @@ -1515,6 +1520,8 @@ public class AudioSystem return DEVICE_OUT_SPEAKER_SAFE_NAME; case DEVICE_OUT_IP: return DEVICE_OUT_IP_NAME; case DEVICE_OUT_MULTICHANNEL_GROUP: return DEVICE_OUT_MULTICHANNEL_GROUP_NAME; case DEVICE_OUT_BUS: return DEVICE_OUT_BUS_NAME; case DEVICE_OUT_PROXY: Loading Loading
core/api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -21399,6 +21399,7 @@ package android.media { field public static final int TYPE_IP = 20; // 0x14 field public static final int TYPE_LINE_ANALOG = 5; // 0x5 field public static final int TYPE_LINE_DIGITAL = 6; // 0x6 field @FlaggedApi("android.media.audio.enable_multichannel_group_device") public static final int TYPE_MULTICHANNEL_GROUP = 32; // 0x20 field public static final int TYPE_REMOTE_SUBMIX = 25; // 0x19 field public static final int TYPE_TELEPHONY = 18; // 0x12 field public static final int TYPE_TV_TUNER = 17; // 0x11
media/java/android/media/AudioDeviceInfo.java +31 −2 Original line number Diff line number Diff line Loading @@ -16,11 +16,15 @@ package android.media; import static android.media.audio.Flags.FLAG_ENABLE_MULTICHANNEL_GROUP_DEVICE; import android.Manifest; import android.annotation.FlaggedApi; import android.annotation.IntDef; import android.annotation.NonNull; import android.annotation.RequiresPermission; import android.annotation.TestApi; import android.media.audio.Flags; import android.util.SparseIntArray; import com.android.internal.annotations.VisibleForTesting; Loading Loading @@ -192,6 +196,15 @@ public final class AudioDeviceInfo { */ public static final int TYPE_DOCK_ANALOG = 31; /** * A device type describing a speaker group that supports multichannel contents. 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. */ @FlaggedApi(FLAG_ENABLE_MULTICHANNEL_GROUP_DEVICE) public static final int TYPE_MULTICHANNEL_GROUP = 32; /** @hide */ @IntDef(flag = false, prefix = "TYPE", value = { TYPE_BUILTIN_EARPIECE, Loading Loading @@ -224,7 +237,8 @@ public final class AudioDeviceInfo { TYPE_BLE_SPEAKER, TYPE_ECHO_REFERENCE, TYPE_BLE_BROADCAST, TYPE_DOCK_ANALOG} TYPE_DOCK_ANALOG, TYPE_MULTICHANNEL_GROUP} ) @Retention(RetentionPolicy.SOURCE) public @interface AudioDeviceType {} Loading Loading @@ -285,7 +299,8 @@ public final class AudioDeviceInfo { TYPE_BLE_HEADSET, TYPE_BLE_SPEAKER, TYPE_BLE_BROADCAST, TYPE_DOCK_ANALOG} TYPE_DOCK_ANALOG, TYPE_MULTICHANNEL_GROUP} ) @Retention(RetentionPolicy.SOURCE) public @interface AudioDeviceTypeOut {} Loading Loading @@ -321,7 +336,13 @@ public final class AudioDeviceInfo { case TYPE_BLE_BROADCAST: case TYPE_DOCK_ANALOG: return true; default: if (Flags.enableMultichannelGroupDevice()) { if (type == TYPE_MULTICHANNEL_GROUP) { return true; } } return false; } } Loading Loading @@ -665,6 +686,10 @@ public final class AudioDeviceInfo { INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLE_HEADSET, TYPE_BLE_HEADSET); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLE_SPEAKER, TYPE_BLE_SPEAKER); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_OUT_BLE_BROADCAST, TYPE_BLE_BROADCAST); if (Flags.enableMultichannelGroupDevice()) { INT_TO_EXT_DEVICE_MAPPING.put( AudioSystem.DEVICE_OUT_MULTICHANNEL_GROUP, TYPE_MULTICHANNEL_GROUP); } INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BUILTIN_MIC, TYPE_BUILTIN_MIC); INT_TO_EXT_DEVICE_MAPPING.put(AudioSystem.DEVICE_IN_BLUETOOTH_SCO_HEADSET, TYPE_BLUETOOTH_SCO); Loading Loading @@ -721,6 +746,10 @@ public final class AudioDeviceInfo { EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLE_HEADSET, AudioSystem.DEVICE_OUT_BLE_HEADSET); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLE_SPEAKER, AudioSystem.DEVICE_OUT_BLE_SPEAKER); EXT_TO_INT_DEVICE_MAPPING.put(TYPE_BLE_BROADCAST, AudioSystem.DEVICE_OUT_BLE_BROADCAST); if (Flags.enableMultichannelGroupDevice()) { EXT_TO_INT_DEVICE_MAPPING.put( TYPE_MULTICHANNEL_GROUP, AudioSystem.DEVICE_OUT_MULTICHANNEL_GROUP); } // privileges mapping to input device EXT_TO_INT_INPUT_DEVICE_MAPPING = new SparseIntArray(); Loading
media/java/android/media/AudioManager.java +5 −0 Original line number Diff line number Diff line Loading @@ -6155,6 +6155,11 @@ public class AudioManager { * The audio output device code for a BLE audio brodcast group. */ public static final int DEVICE_OUT_BLE_BROADCAST = AudioSystem.DEVICE_OUT_BLE_BROADCAST; /** @hide * The audio output device code for a wireless speaker group supporting multichannel content. */ public static final int DEVICE_OUT_MULTICHANNEL_GROUP = AudioSystem.DEVICE_OUT_MULTICHANNEL_GROUP; /** @hide * This is not used as a returned value from {@link #getDevicesForStream}, but could be * used in the future in a set method to select whatever default device is chosen by the Loading
media/java/android/media/AudioSystem.java +7 −0 Original line number Diff line number Diff line Loading @@ -1066,6 +1066,8 @@ public class AudioSystem /** @hide */ public static final int DEVICE_OUT_IP = 0x800000; /** @hide */ public static final int DEVICE_OUT_MULTICHANNEL_GROUP = 0x800001; /** @hide */ public static final int DEVICE_OUT_BUS = 0x1000000; /** @hide */ public static final int DEVICE_OUT_PROXY = 0x2000000; Loading Loading @@ -1134,6 +1136,7 @@ public class AudioSystem DEVICE_OUT_ALL_SET.add(DEVICE_OUT_AUX_LINE); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_SPEAKER_SAFE); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_IP); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_MULTICHANNEL_GROUP); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_BUS); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_PROXY); DEVICE_OUT_ALL_SET.add(DEVICE_OUT_USB_HEADSET); Loading Loading @@ -1422,6 +1425,8 @@ public class AudioSystem /** @hide */ public static final String DEVICE_OUT_AUX_LINE_NAME = "aux_line"; /** @hide */ public static final String DEVICE_OUT_SPEAKER_SAFE_NAME = "speaker_safe"; /** @hide */ public static final String DEVICE_OUT_IP_NAME = "ip"; /** @hide */ public static final String DEVICE_OUT_MULTICHANNEL_GROUP_NAME = "multichannel_group"; /** @hide */ public static final String DEVICE_OUT_BUS_NAME = "bus"; /** @hide */ public static final String DEVICE_OUT_PROXY_NAME = "proxy"; /** @hide */ public static final String DEVICE_OUT_USB_HEADSET_NAME = "usb_headset"; Loading Loading @@ -1515,6 +1520,8 @@ public class AudioSystem return DEVICE_OUT_SPEAKER_SAFE_NAME; case DEVICE_OUT_IP: return DEVICE_OUT_IP_NAME; case DEVICE_OUT_MULTICHANNEL_GROUP: return DEVICE_OUT_MULTICHANNEL_GROUP_NAME; case DEVICE_OUT_BUS: return DEVICE_OUT_BUS_NAME; case DEVICE_OUT_PROXY: Loading