Merge "Fix BLE scan result filtering in CompanionDeviceManager." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d43f5fff78
@@ -51,13 +51,6 @@ public class BluetoothDeviceFilterUtils {
|
||||
return s == null ? null : Pattern.compile(s);
|
||||
}
|
||||
|
||||
static boolean matches(ScanFilter filter, BluetoothDevice device) {
|
||||
boolean result = matchesAddress(filter.getDeviceAddress(), device)
|
||||
&& matchesServiceUuid(filter.getServiceUuid(), filter.getServiceUuidMask(), device);
|
||||
if (DEBUG) debugLogMatchResult(result, device, filter);
|
||||
return result;
|
||||
}
|
||||
|
||||
static boolean matchesAddress(String deviceAddress, BluetoothDevice device) {
|
||||
final boolean result = deviceAddress == null
|
||||
|| (device != null && deviceAddress.equals(device.getAddress()));
|
||||
|
||||
@@ -37,7 +37,6 @@ import android.util.Log;
|
||||
|
||||
import com.android.internal.util.BitUtils;
|
||||
import com.android.internal.util.ObjectUtils;
|
||||
import com.android.internal.util.Preconditions;
|
||||
|
||||
import libcore.util.HexEncoding;
|
||||
|
||||
@@ -166,21 +165,18 @@ public final class BluetoothLeDeviceFilter implements DeviceFilter<ScanResult> {
|
||||
|
||||
/** @hide */
|
||||
@Override
|
||||
public boolean matches(ScanResult device) {
|
||||
boolean result = matches(device.getDevice())
|
||||
public boolean matches(ScanResult scanResult) {
|
||||
BluetoothDevice device = scanResult.getDevice();
|
||||
boolean result = getScanFilter().matches(scanResult)
|
||||
&& BluetoothDeviceFilterUtils.matchesName(getNamePattern(), device)
|
||||
&& (mRawDataFilter == null
|
||||
|| BitUtils.maskedEquals(device.getScanRecord().getBytes(),
|
||||
|| BitUtils.maskedEquals(scanResult.getScanRecord().getBytes(),
|
||||
mRawDataFilter, mRawDataFilterMask));
|
||||
if (DEBUG) Log.i(LOG_TAG, "matches(this = " + this + ", device = " + device +
|
||||
") -> " + result);
|
||||
return result;
|
||||
}
|
||||
|
||||
private boolean matches(BluetoothDevice device) {
|
||||
return BluetoothDeviceFilterUtils.matches(getScanFilter(), device)
|
||||
&& BluetoothDeviceFilterUtils.matchesName(getNamePattern(), device);
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@Override
|
||||
public int getMediumType() {
|
||||
|
||||
Reference in New Issue
Block a user