diff options
| author | 2019-05-21 17:15:44 -0700 | |
|---|---|---|
| committer | 2019-05-22 05:33:19 +0000 | |
| commit | 2b3b1429dbf67b91515ba53809900d5f6ca6ac60 (patch) | |
| tree | 37a8bdb895805ea272dcbbed655b5d35d043fffa | |
| parent | 0bb09184ff05ae078357cded64ddd6b0c8dfe79d (diff) | |
DO NOT MERGE: ScanFilter: Fix argument sanitization logic.
Bug: 132888204
Test: Manual
Change-Id: Id8cadbbfac29aca97ccb83815795948b1bbf85a5
| -rw-r--r-- | core/java/android/bluetooth/le/ScanFilter.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/core/java/android/bluetooth/le/ScanFilter.java b/core/java/android/bluetooth/le/ScanFilter.java index 07ba2c6680a9..038994fb5535 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!"); } |