[LE broadcast sink] Add the broadcast sink apis

Bug: 228258236
Test: manual test
Change-Id: I7a5872a17f0e3d5e1b32579a2fb7b52c2236d060
This commit is contained in:
SongFerngWang
2022-05-03 08:22:29 +08:00
committed by SongFerng Wang
parent 100004b0ca
commit 2b62de12ce

View File

@@ -26,6 +26,7 @@ import android.bluetooth.BluetoothClass;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.BluetoothLeBroadcastAssistant;
import android.bluetooth.BluetoothLeBroadcastMetadata;
import android.bluetooth.BluetoothLeBroadcastReceiveState;
import android.bluetooth.BluetoothProfile;
import android.bluetooth.BluetoothProfile.ServiceListener;
import android.content.Context;
@@ -202,6 +203,43 @@ public class LocalBluetoothLeBroadcastAssistant implements LocalBluetoothProfile
mService.startSearchingForSources(filters);
}
/**
* Return true if a search has been started by this application.
*
* @return true if a search has been started by this application
* @hide
*/
public boolean isSearchInProgress() {
if (DEBUG) {
Log.d(TAG, "isSearchInProgress()");
}
if (mService == null) {
Log.d(TAG, "The BluetoothLeBroadcastAssistant is null");
return false;
}
return mService.isSearchInProgress();
}
/**
* Get information about all Broadcast Sources that a Broadcast Sink knows about.
*
* @param sink Broadcast Sink from which to get all Broadcast Sources
* @return the list of Broadcast Receive State {@link BluetoothLeBroadcastReceiveState}
* stored in the Broadcast Sink
* @throws NullPointerException when <var>sink</var> is null
*/
public @NonNull List<BluetoothLeBroadcastReceiveState> getAllSources(
@NonNull BluetoothDevice sink) {
if (DEBUG) {
Log.d(TAG, "getAllSources()");
}
if (mService == null) {
Log.d(TAG, "The BluetoothLeBroadcastAssistant is null");
return new ArrayList<BluetoothLeBroadcastReceiveState>();
}
return mService.getAllSources(sink);
}
public void registerServiceCallBack(@NonNull @CallbackExecutor Executor executor,
@NonNull BluetoothLeBroadcastAssistant.Callback callback) {
if (mService == null) {