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

Commit 255a273b authored by Grzegorz Kołodziejczyk's avatar Grzegorz Kołodziejczyk Committed by Łukasz Rymanowski
Browse files

le_audio: Use broadcast device for broadcasting usecase

With this patch, Audio Frameworks is notified about Broadcast device to
be connected for broadcasting usecase.

Tag: #feature
Test: atest LeAudioServiceTest
Sponsor: jpawlowski@
Bug: 210986334
Ignore-AOSP-First: no AIDL in AOSP

Change-Id: I69324802bddb5eeb05bdc8ccf7067d445a48026a
parent f2e5cb69
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ import android.media.BluetoothProfileConnectionInfo;
import android.os.Handler;
import android.os.HandlerThread;
import android.os.Looper;
import android.os.Parcel;
import android.os.ParcelUuid;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
@@ -980,6 +981,17 @@ public class LeAudioService extends ProfileService {
        }
    }

    BluetoothProfileConnectionInfo getBroadcastProfile(boolean suppressNoisyIntent) {
        Parcel parcel = Parcel.obtain();
        parcel.writeInt(BluetoothProfile.LE_AUDIO_BROADCAST);
        parcel.writeBoolean(suppressNoisyIntent);
        parcel.writeInt(-1 /* mVolume */);
        parcel.writeBoolean(true /* mIsLeOutput */);
        parcel.setDataPosition(0);

        return BluetoothProfileConnectionInfo.CREATOR.createFromParcel(parcel);
    }

    // Suppressed since this is part of a local process
    @SuppressLint("AndroidFrameworkRequiresPermission")
    void messageFromNative(LeAudioStackEvent stackEvent) {
@@ -1178,8 +1190,7 @@ public class LeAudioService extends ProfileService {
                        mActiveAudioOutDevice = null;
                        mAudioManager.handleBluetoothActiveDeviceChanged(mActiveAudioOutDevice,
                                previousDevice,
                                // TODO: implement createLeAudioBroadcastInfo()
                                BluetoothProfileConnectionInfo.createLeAudioInfo(false, true));
                                getBroadcastProfile(true));
                    }
                }

@@ -1217,8 +1228,7 @@ public class LeAudioService extends ProfileService {
                        mActiveAudioOutDevice = device;
                        mAudioManager.handleBluetoothActiveDeviceChanged(mActiveAudioOutDevice,
                                previousDevice,
                                // TODO: implement createLeAudioBroadcastInfo()
                                BluetoothProfileConnectionInfo.createLeAudioInfo(true, true));
                                getBroadcastProfile(false));
                    }
                }
            }