Merge "Replaced BitUtils#maskedEquals hidden API call" am: 3d4a7e57fe
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1868764 Change-Id: I372ed61007b38bdc82f92d7e7f42a6f62f004961
This commit is contained in:
@@ -24,6 +24,7 @@ import java.util.Iterator;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Helper class for Bluetooth LE utils.
|
* 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.ParcelUuid;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
import com.android.internal.util.BitUtils;
|
|
||||||
|
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -448,7 +446,7 @@ public final class ScanFilter implements Parcelable {
|
|||||||
|
|
||||||
// Check if the uuid pattern matches the particular service uuid.
|
// Check if the uuid pattern matches the particular service uuid.
|
||||||
private static boolean matchesServiceUuid(UUID uuid, UUID mask, UUID data) {
|
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.
|
// Check if the solicitation uuid pattern matches the particular service solicitation uuid.
|
||||||
private static boolean matchesServiceSolicitationUuid(UUID solicitationUuid,
|
private static boolean matchesServiceSolicitationUuid(UUID solicitationUuid,
|
||||||
UUID solicitationUuidMask, UUID data) {
|
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.
|
// Check whether the data pattern matches the parsed data.
|
||||||
|
|||||||
Reference in New Issue
Block a user