diff options
author | Łukasz Rymanowski <rlukasz@google.com> | 2022-03-08 13:56:53 +0000 |
---|---|---|
committer | Łukasz Rymanowski <rlukasz@google.com> | 2022-03-09 14:46:07 +0000 |
commit | 3e428a58c691834cd39dade2b9e6f74b36c4cfe7 (patch) | |
tree | c04ef0f7193a2f4b41b825212ff8ce64947d2ccc | |
parent | e1a823ea973ce5d277398f8034200c4d81d64faf (diff) |
BluetoothLeAudio: Fix null parameters check
Bug: 218799288
Test: Compile
Change-Id: I6ee06113b82d0ade755b3373a25ffe78859afd63
-rw-r--r-- | framework/java/android/bluetooth/BluetoothLeBroadcast.java | 28 | ||||
-rwxr-xr-x | framework/java/android/bluetooth/BluetoothLeBroadcastAssistant.java | 28 |
2 files changed, 26 insertions, 30 deletions
diff --git a/framework/java/android/bluetooth/BluetoothLeBroadcast.java b/framework/java/android/bluetooth/BluetoothLeBroadcast.java index 5bf6e00fea..003f9a5c1a 100644 --- a/framework/java/android/bluetooth/BluetoothLeBroadcast.java +++ b/framework/java/android/bluetooth/BluetoothLeBroadcast.java @@ -41,6 +41,7 @@ import java.util.Collections; 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; @@ -402,14 +403,16 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi /** * 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 @@ -420,12 +423,8 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi }) 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"); } @@ -466,7 +465,8 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi * <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 @@ -476,9 +476,7 @@ public final class BluetoothLeBroadcast implements AutoCloseable, BluetoothProfi 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"); diff --git a/framework/java/android/bluetooth/BluetoothLeBroadcastAssistant.java b/framework/java/android/bluetooth/BluetoothLeBroadcastAssistant.java index 3eef0a9a54..70955252ea 100755 --- a/framework/java/android/bluetooth/BluetoothLeBroadcastAssistant.java +++ b/framework/java/android/bluetooth/BluetoothLeBroadcastAssistant.java @@ -41,6 +41,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; /** @@ -509,14 +510,16 @@ public final class BluetoothLeBroadcastAssistant implements BluetoothProfile, Au /** * 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. 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 @@ -527,12 +530,8 @@ public final class BluetoothLeBroadcastAssistant implements BluetoothProfile, Au }) 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"); log("registerCallback"); final IBluetoothLeBroadcastAssistant service = getService(); if (service == null) { @@ -555,7 +554,8 @@ public final class BluetoothLeBroadcastAssistant implements BluetoothProfile, Au * <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 @@ -565,9 +565,7 @@ public final class BluetoothLeBroadcastAssistant implements BluetoothProfile, Au 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"); log("unregisterCallback"); final IBluetoothLeBroadcastAssistant service = getService(); if (service == null) { |