diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index af35d96be2d69..1108767148b74 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -166,6 +166,7 @@ package android.media { method public void adjustSuggestedStreamVolumeForUid(int, int, int, @NonNull String, int, int, int); method @NonNull public java.util.List getHwOffloadFormatsSupportedForA2dp(); method @NonNull public java.util.List getHwOffloadFormatsSupportedForLeAudio(); + method @NonNull public java.util.List getHwOffloadFormatsSupportedForLeBroadcast(); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_STACK) public void handleBluetoothActiveDeviceChanged(@Nullable android.bluetooth.BluetoothDevice, @Nullable android.bluetooth.BluetoothDevice, @NonNull android.media.BluetoothProfileConnectionInfo); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_STACK) public void setA2dpSuspended(boolean); method @RequiresPermission(android.Manifest.permission.BLUETOOTH_STACK) public void setBluetoothHeadsetProperties(@NonNull String, boolean, boolean); diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java index 063645152228b..4ea3bf7c7cf02 100644 --- a/media/java/android/media/AudioManager.java +++ b/media/java/android/media/AudioManager.java @@ -7587,22 +7587,13 @@ public class AudioManager { return codecConfigList; } - /** - * Returns a list of audio formats that corresponds to encoding formats - * supported on offload path for Le audio playback. - * - * @return a list of {@link BluetoothLeAudioCodecConfig} objects containing encoding formats - * supported for offload Le Audio playback - * @hide - */ - @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) - @NonNull - public List getHwOffloadFormatsSupportedForLeAudio() { + private List getHwOffloadFormatsSupportedForLeAudio( + @AudioSystem.BtOffloadDeviceType int deviceType) { ArrayList formatsList = new ArrayList<>(); ArrayList leAudioCodecConfigList = new ArrayList<>(); int status = AudioSystem.getHwOffloadFormatsSupportedForBluetoothMedia( - AudioSystem.DEVICE_OUT_BLE_HEADSET, formatsList); + deviceType, formatsList); if (status != AudioManager.SUCCESS) { Log.e(TAG, "getHwOffloadEncodingFormatsSupportedForLeAudio failed:" + status); return leAudioCodecConfigList; @@ -7619,6 +7610,34 @@ public class AudioManager { return leAudioCodecConfigList; } + /** + * Returns a list of audio formats that corresponds to encoding formats + * supported on offload path for Le audio playback. + * + * @return a list of {@link BluetoothLeAudioCodecConfig} objects containing encoding formats + * supported for offload Le Audio playback + * @hide + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @NonNull + public List getHwOffloadFormatsSupportedForLeAudio() { + return getHwOffloadFormatsSupportedForLeAudio(AudioSystem.DEVICE_OUT_BLE_HEADSET); + } + + /** + * Returns a list of audio formats that corresponds to encoding formats + * supported on offload path for Le Broadcast playback. + * + * @return a list of {@link BluetoothLeAudioCodecConfig} objects containing encoding formats + * supported for offload Le Broadcast playback + * @hide + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @NonNull + public List getHwOffloadFormatsSupportedForLeBroadcast() { + return getHwOffloadFormatsSupportedForLeAudio(AudioSystem.DEVICE_OUT_BLE_BROADCAST); + } + // Since we need to calculate the changes since THE LAST NOTIFICATION, and not since the // (unpredictable) last time updateAudioPortCache() was called by someone, keep a list // of the ports that exist at the time of the last notification. diff --git a/media/java/android/media/AudioSystem.java b/media/java/android/media/AudioSystem.java index 9339c3d69ba21..293d3d2861cdd 100644 --- a/media/java/android/media/AudioSystem.java +++ b/media/java/android/media/AudioSystem.java @@ -273,10 +273,11 @@ public class AudioSystem /** @hide */ @IntDef(flag = false, prefix = "DEVICE_", value = { DEVICE_OUT_BLUETOOTH_A2DP, - DEVICE_OUT_BLE_HEADSET} + DEVICE_OUT_BLE_HEADSET, + DEVICE_OUT_BLE_BROADCAST} ) @Retention(RetentionPolicy.SOURCE) - public @interface DeviceType {} + public @interface BtOffloadDeviceType {} /** * @hide @@ -1970,7 +1971,7 @@ public class AudioSystem * Returns a list of audio formats (codec) supported on the A2DP and LE audio offload path. */ public static native int getHwOffloadFormatsSupportedForBluetoothMedia( - @DeviceType int deviceType, ArrayList formatList); + @BtOffloadDeviceType int deviceType, ArrayList formatList); /** @hide */ public static native int setSurroundFormatEnabled(int audioFormat, boolean enabled);