diff --git a/framework/java/android/bluetooth/BluetoothLeBroadcast.java b/framework/java/android/bluetooth/BluetoothLeBroadcast.java index 4e21153adc80bd3ff1a52ed0bfa0806141f3d30e..89fb54e77fd028ab21c08e243be95dac2777c333 100644 --- a/framework/java/android/bluetooth/BluetoothLeBroadcast.java +++ b/framework/java/android/bluetooth/BluetoothLeBroadcast.java @@ -554,6 +554,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi public void startBroadcast(@NonNull BluetoothLeAudioContentMetadata contentMetadata, @Nullable byte[] broadcastCode) { Objects.requireNonNull(contentMetadata, "contentMetadata cannot be null"); + if (mCallbackExecutorMap.isEmpty()) { + throw new IllegalStateException("No callback was ever registered"); + } if (DBG) log("startBroadcasting"); final IBluetoothLeAudio service = getService(); @@ -593,6 +596,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi }) public void startBroadcast(@NonNull BluetoothLeBroadcastSettings broadcastSettings) { Objects.requireNonNull(broadcastSettings, "broadcastSettings cannot be null"); + if (mCallbackExecutorMap.isEmpty()) { + throw new IllegalStateException("No callback was ever registered"); + } if (DBG) log("startBroadcasting"); final IBluetoothLeAudio service = getService(); @@ -637,6 +643,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi public void updateBroadcast(int broadcastId, @NonNull BluetoothLeAudioContentMetadata contentMetadata) { Objects.requireNonNull(contentMetadata, "contentMetadata cannot be null"); + if (mCallbackExecutorMap.isEmpty()) { + throw new IllegalStateException("No callback was ever registered"); + } if (DBG) log("updateBroadcast"); final IBluetoothLeAudio service = getService(); @@ -682,6 +691,9 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi public void updateBroadcast( int broadcastId, @NonNull BluetoothLeBroadcastSettings broadcastSettings) { Objects.requireNonNull(broadcastSettings, "broadcastSettings cannot be null"); + if (mCallbackExecutorMap.isEmpty()) { + throw new IllegalStateException("No callback was ever registered"); + } if (DBG) log("updateBroadcast"); final IBluetoothLeAudio service = getService(); @@ -721,6 +733,10 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi android.Manifest.permission.BLUETOOTH_PRIVILEGED, }) public void stopBroadcast(int broadcastId) { + if (mCallbackExecutorMap.isEmpty()) { + throw new IllegalStateException("No callback was ever registered"); + } + if (DBG) log("disableBroadcastMode"); final IBluetoothLeAudio service = getService(); if (service == null) {