summaryrefslogtreecommitdiff
path: root/framework/java/android/bluetooth/BluetoothHapClient.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/java/android/bluetooth/BluetoothHapClient.java')
-rw-r--r--framework/java/android/bluetooth/BluetoothHapClient.java28
1 files changed, 13 insertions, 15 deletions
diff --git a/framework/java/android/bluetooth/BluetoothHapClient.java b/framework/java/android/bluetooth/BluetoothHapClient.java
index fd769d412b..052bd6bfd6 100644
--- a/framework/java/android/bluetooth/BluetoothHapClient.java
+++ b/framework/java/android/bluetooth/BluetoothHapClient.java
@@ -43,6 +43,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeoutException;
@@ -457,14 +458,16 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable
* Register a {@link Callback} that will be invoked during the
* operation of this profile.
*
- * Repeated registration of the same <var>callback</var> object will have no effect after
- * the first call to this method, even when the <var>executor</var> is different. API caller
- * would have to call {@link #unregisterCallback(Callback)} with
- * the same callback object before registering it again.
+ * Repeated registration of the same <var>callback</var> object after the first call to this
+ * method will result with IllegalArgumentException being thrown, even when the
+ * <var>executor</var> is different. API caller would have to call
+ * {@link #unregisterCallback(Callback)} with the same callback object before registering it
+ * again.
*
* @param executor an {@link Executor} to execute given callback
* @param callback user implementation of the {@link Callback}
- * @throws IllegalArgumentException if a null executor, sink, or callback is given
+ * @throws NullPointerException if a null executor, or callback is given, or
+ * IllegalArgumentException if the same <var>callback<var> is already registered.
* @hide
*/
@SystemApi
@@ -475,12 +478,8 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable
})
public void registerCallback(@NonNull @CallbackExecutor Executor executor,
@NonNull Callback callback) {
- if (executor == null) {
- throw new IllegalArgumentException("executor cannot be null");
- }
- if (callback == null) {
- throw new IllegalArgumentException("callback cannot be null");
- }
+ Objects.requireNonNull(executor, "executor cannot be null");
+ Objects.requireNonNull(callback, "callback cannot be null");
if (!isEnabled()) {
throw new IllegalStateException("service not enabled");
}
@@ -521,7 +520,8 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable
* <p>Callbacks are automatically unregistered when application process goes away
*
* @param callback user implementation of the {@link Callback}
- * @throws IllegalArgumentException when callback is null or when no callback is registered
+ * @throws NullPointerException when callback is null or IllegalArgumentException when no
+ * callback is registered
* @hide
*/
@SystemApi
@@ -531,9 +531,7 @@ public final class BluetoothHapClient implements BluetoothProfile, AutoCloseable
android.Manifest.permission.BLUETOOTH_PRIVILEGED,
})
public void unregisterCallback(@NonNull Callback callback) {
- if (callback == null) {
- throw new IllegalArgumentException("callback cannot be null");
- }
+ Objects.requireNonNull(callback, "callback cannot be null");
if (DBG) log("unregisterCallback");