Merge "Replaced BitUtils#maskedEquals hidden API call"
This commit is contained in:
@@ -24,6 +24,7 @@ import java.util.Iterator;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Helper class for Bluetooth LE utils.
|
||||
@@ -137,4 +138,21 @@ public class BluetoothLeUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares two UUIDs with a UUID mask.
|
||||
*
|
||||
* @param data first {@link #UUID} to compare.
|
||||
* @param uuid second {@link #UUID} to compare.
|
||||
* @param mask mask {@link #UUID}.
|
||||
* @return true if both UUIDs are equals when masked, false otherwise.
|
||||
*/
|
||||
static boolean maskedEquals(UUID data, UUID uuid, UUID mask) {
|
||||
if (mask == null) {
|
||||
return Objects.equals(data, uuid);
|
||||
}
|
||||
return (data.getLeastSignificantBits() & mask.getLeastSignificantBits())
|
||||
== (uuid.getLeastSignificantBits() & mask.getLeastSignificantBits())
|
||||
&& (data.getMostSignificantBits() & mask.getMostSignificantBits())
|
||||
== (uuid.getMostSignificantBits() & mask.getMostSignificantBits());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,8 +28,6 @@ import android.os.Parcel;
|
||||
import android.os.ParcelUuid;
|
||||
import android.os.Parcelable;
|
||||
|
||||
import com.android.internal.util.BitUtils;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
@@ -448,7 +446,7 @@ public final class ScanFilter implements Parcelable {
|
||||
|
||||
// Check if the uuid pattern matches the particular service uuid.
|
||||
private static boolean matchesServiceUuid(UUID uuid, UUID mask, UUID data) {
|
||||
return BitUtils.maskedEquals(data, uuid, mask);
|
||||
return BluetoothLeUtils.maskedEquals(data, uuid, mask);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -478,7 +476,7 @@ public final class ScanFilter implements Parcelable {
|
||||
// Check if the solicitation uuid pattern matches the particular service solicitation uuid.
|
||||
private static boolean matchesServiceSolicitationUuid(UUID solicitationUuid,
|
||||
UUID solicitationUuidMask, UUID data) {
|
||||
return BitUtils.maskedEquals(data, solicitationUuid, solicitationUuidMask);
|
||||
return BluetoothLeUtils.maskedEquals(data, solicitationUuid, solicitationUuidMask);
|
||||
}
|
||||
|
||||
// Check whether the data pattern matches the parsed data.
|
||||
|
||||
Reference in New Issue
Block a user