diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastAssistant.java | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastAssistant.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastAssistant.java index a4c5a00dc53e..5bcdcc09206b 100644 --- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastAssistant.java +++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothLeBroadcastAssistant.java @@ -32,7 +32,9 @@ import android.content.Context; import android.os.Build; import android.util.Log; +import androidx.annotation.IntRange; import androidx.annotation.NonNull; +import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import com.android.settingslib.R; @@ -372,6 +374,27 @@ public class LocalBluetoothLeBroadcastAssistant implements LocalBluetoothProfile } /** + * Gets the {@link BluetoothLeBroadcastMetadata} of a specified source added to this sink. + * + * @param sink Broadcast Sink device + * @param sourceId Broadcast source id + * @return metadata {@link BluetoothLeBroadcastMetadata} associated with the specified source. + */ + public @Nullable BluetoothLeBroadcastMetadata getSourceMetadata( + @NonNull BluetoothDevice sink, @IntRange(from = 0x00, to = 0xFF) int sourceId) { + if (mService == null) { + Log.d(TAG, "The BluetoothLeBroadcastAssistant is null"); + return null; + } + try { + return mService.getSourceMetadata(sink, sourceId); + } catch (IllegalArgumentException | NoSuchMethodError e) { + Log.w(TAG, "Error calling getSourceMetadata()", e); + } + return null; + } + + /** * Register Broadcast Assistant Callbacks to track its state and receivers * * @param executor Executor object for callback |