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

Commit e06e067a authored by Patty Huang's avatar Patty Huang Committed by Android (Google) Code Review
Browse files

Merge "Add function for getting supported audio format for LE Audio Broadcast"

parents a61ddcbd 1dc21e16
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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<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.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);
+31 −12
Original line number Diff line number Diff line
@@ -7625,22 +7625,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;
@@ -7657,6 +7648,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.
+4 −3
Original line number Diff line number Diff line
@@ -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<Integer> formatList);
            @BtOffloadDeviceType int deviceType, ArrayList<Integer> formatList);

    /** @hide */
    public static native int setSurroundFormatEnabled(int audioFormat, boolean enabled);