summaryrefslogtreecommitdiff
path: root/framework/java/android/bluetooth/BluetoothLeBroadcastAssistantCallback.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothLeBroadcastAssistantCallback.java')
-rwxr-xr-xframework/java/android/bluetooth/BluetoothLeBroadcastAssistantCallback.java22
1 files changed, 18 insertions, 4 deletions
diff --git a/framework/java/android/bluetooth/BluetoothLeBroadcastAssistantCallback.java b/framework/java/android/bluetooth/BluetoothLeBroadcastAssistantCallback.java
index 96e04a9424..aa7ca8ea52 100755
--- a/framework/java/android/bluetooth/BluetoothLeBroadcastAssistantCallback.java
+++ b/framework/java/android/bluetooth/BluetoothLeBroadcastAssistantCallback.java
@@ -44,12 +44,13 @@ public class BluetoothLeBroadcastAssistantCallback
* @hide
* @param executor an {@link Executor} to execute given callback
* @param callback user implementation of the {@link BluetoothLeBroadcastAssistant#Callback}
+ * @throws IllegalArgumentException if the same <var>callback<var> is already registered.
*/
public void register(@NonNull Executor executor,
@NonNull BluetoothLeBroadcastAssistant.Callback callback) {
synchronized (this) {
if (mCallbackMap.containsKey(callback)) {
- return;
+ throw new IllegalArgumentException("callback is already registered");
}
mCallbackMap.put(callback, executor);
@@ -58,7 +59,7 @@ public class BluetoothLeBroadcastAssistantCallback
mAdapter.registerCallback(this);
mIsRegistered = true;
} catch (RemoteException e) {
- Log.w(TAG, "Failed to register broaddcast assistant callback");
+ Log.w(TAG, "Failed to register broadcast assistant callback");
Log.e(TAG, Log.getStackTraceString(new Throwable()));
}
}
@@ -68,11 +69,12 @@ public class BluetoothLeBroadcastAssistantCallback
/**
* @hide
* @param callback user implementation of the {@link BluetoothLeBroadcastAssistant#Callback}
+ * @throws IllegalArgumentException if <var>callback</var> was not registered before
*/
public void unregister(@NonNull BluetoothLeBroadcastAssistant.Callback callback) {
synchronized (this) {
if (!mCallbackMap.containsKey(callback)) {
- return;
+ throw new IllegalArgumentException("callback was not registered before");
}
mCallbackMap.remove(callback);
if (mCallbackMap.isEmpty() && mIsRegistered) {
@@ -80,13 +82,25 @@ public class BluetoothLeBroadcastAssistantCallback
mAdapter.unregisterCallback(this);
mIsRegistered = false;
} catch (RemoteException e) {
- Log.w(TAG, "Failed to unregister broaddcast assistant with service");
+ Log.w(TAG, "Failed to unregister callback with service");
Log.e(TAG, Log.getStackTraceString(new Throwable()));
}
}
}
}
+ /**
+ * Check if at least one callback is registered from this App
+ *
+ * @return true if at least one callback is registered
+ * @hide
+ */
+ public boolean isAtLeastOneCallbackRegistered() {
+ synchronized (this) {
+ return !mCallbackMap.isEmpty();
+ }
+ }
+
@Override
public void onSearchStarted(int reason) {
synchronized (this) {