diff --git a/core/java/android/bluetooth/le/ScanFilter.java b/core/java/android/bluetooth/le/ScanFilter.java index 07ba2c6680a94..038994fb55357 100644 --- a/core/java/android/bluetooth/le/ScanFilter.java +++ b/core/java/android/bluetooth/le/ScanFilter.java @@ -590,6 +590,9 @@ public final class ScanFilter implements Parcelable { public @NonNull Builder setServiceSolicitationUuid( @Nullable ParcelUuid serviceSolicitationUuid) { mServiceSolicitationUuid = serviceSolicitationUuid; + if (serviceSolicitationUuid == null) { + mServiceSolicitationUuidMask = null; + } return this; } @@ -600,13 +603,16 @@ public final class ScanFilter implements Parcelable { * indicate a match is needed for the bit in {@code serviceSolicitationUuid}, and 0 to * ignore that bit. * + * @param serviceSolicitationUuid can only be null if solicitationUuidMask is null. + * @param solicitationUuidMask can be null or a mask with no restriction. + * * @throws IllegalArgumentException If {@code serviceSolicitationUuid} is {@code null} but * {@code serviceSolicitationUuidMask} is not {@code null}. */ public @NonNull Builder setServiceSolicitationUuid( @Nullable ParcelUuid serviceSolicitationUuid, @Nullable ParcelUuid solicitationUuidMask) { - if (mServiceSolicitationUuidMask != null && mServiceSolicitationUuid == null) { + if (solicitationUuidMask != null && serviceSolicitationUuid == null) { throw new IllegalArgumentException( "SolicitationUuid is null while SolicitationUuidMask is not null!"); }