Merge "Add function for getting supported audio format for LE Audio Broadcast" am: 433eceabff

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2428912

Change-Id: Icb75b22d15fca3a4595f2fec17c04b68e3d8df63
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-02-16 03:14:08 +00:00
committed by Automerger Merge Worker
3 changed files with 36 additions and 15 deletions

View File

@@ -157,6 +157,7 @@ package android.media {
method public void adjustSuggestedStreamVolumeForUid(int, int, int, @NonNull String, int, int, int);
method @NonNull public java.util.List<android.bluetooth.BluetoothCodecConfig> getHwOffloadFormatsSupportedForA2dp();
method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getHwOffloadFormatsSupportedForLeAudio();
method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioCodecConfig> getHwOffloadFormatsSupportedForLeBroadcast();
method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void handleBluetoothActiveDeviceChanged(@Nullable android.bluetooth.BluetoothDevice, @Nullable android.bluetooth.BluetoothDevice, @NonNull android.media.BluetoothProfileConnectionInfo);
method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void setA2dpSuspended(boolean);
method @RequiresPermission("android.permission.BLUETOOTH_STACK") public void setBluetoothHeadsetProperties(@NonNull String, boolean, boolean);

View File

@@ -6969,22 +6969,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<BluetoothLeAudioCodecConfig> getHwOffloadFormatsSupportedForLeAudio() {
private List<BluetoothLeAudioCodecConfig> getHwOffloadFormatsSupportedForLeAudio(
@AudioSystem.BtOffloadDeviceType int deviceType) {
ArrayList<Integer> formatsList = new ArrayList<>();
ArrayList<BluetoothLeAudioCodecConfig> 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;
@@ -7001,6 +6992,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<BluetoothLeAudioCodecConfig> 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<BluetoothLeAudioCodecConfig> 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.

View File

@@ -275,10 +275,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
@@ -1972,7 +1973,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<Integer> formatList);
@BtOffloadDeviceType int deviceType, ArrayList<Integer> formatList);
/** @hide */
public static native int setSurroundFormatEnabled(int audioFormat, boolean enabled);