Index: device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java |
diff --git a/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java b/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java |
index 636e67c8d6bdefd702adb84d79b6041631a4d854..998450a3a49b79e304583e73de3cb9a86d215947 100644 |
--- a/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java |
+++ b/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java |
@@ -22,6 +22,8 @@ import org.chromium.base.Log; |
import org.chromium.base.annotations.CalledByNative; |
import org.chromium.base.annotations.JNINamespace; |
import org.chromium.components.location.LocationUtils; |
+import org.chromium.device.bluetooth.test.TestRSSI; |
+import org.chromium.device.bluetooth.test.TestTxPower; |
import java.util.ArrayList; |
import java.util.HashMap; |
@@ -41,6 +43,11 @@ import java.util.UUID; |
class Fakes { |
private static final String TAG = "cr.Bluetooth"; |
+ // Android uses Integer.MIN_VALUE to signal no Tx Power in advertisement |
+ // packet. |
+ // https://developer.android.com/reference/android/bluetooth/le/ScanRecord.html#getTxPowerLevel() |
+ private static final int NO_TX_POWER = Integer.MIN_VALUE; |
+ |
/** |
* Sets the factory for LocationUtils to return an instance whose |
* hasAndroidLocationPermission and isSystemLocationSettingEnabled return |
@@ -107,10 +114,11 @@ class Fakes { |
uuids.add(ParcelUuid.fromString("00001800-0000-1000-8000-00805f9b34fb")); |
uuids.add(ParcelUuid.fromString("00001801-0000-1000-8000-00805f9b34fb")); |
- mFakeScanner.mScanCallback.onScanResult(ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
+ mFakeScanner.mScanCallback.onScanResult( |
+ ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
new FakeScanResult(new FakeBluetoothDevice(this, "01:00:00:90:1E:BE", |
"FakeBluetoothDevice"), |
- uuids)); |
+ TestRSSI.LOWEST, uuids, TestTxPower.LOWEST)); |
break; |
} |
case 2: { |
@@ -118,10 +126,11 @@ class Fakes { |
uuids.add(ParcelUuid.fromString("00001802-0000-1000-8000-00805f9b34fb")); |
uuids.add(ParcelUuid.fromString("00001803-0000-1000-8000-00805f9b34fb")); |
- mFakeScanner.mScanCallback.onScanResult(ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
+ mFakeScanner.mScanCallback.onScanResult( |
+ ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
new FakeScanResult(new FakeBluetoothDevice(this, "01:00:00:90:1E:BE", |
"FakeBluetoothDevice"), |
- uuids)); |
+ TestRSSI.LOWER, uuids, TestTxPower.LOWER)); |
break; |
} |
case 3: { |
@@ -129,7 +138,8 @@ class Fakes { |
mFakeScanner.mScanCallback.onScanResult( |
ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
new FakeScanResult( |
- new FakeBluetoothDevice(this, "01:00:00:90:1E:BE", ""), uuids)); |
+ new FakeBluetoothDevice(this, "01:00:00:90:1E:BE", ""), |
+ TestRSSI.LOW, uuids, NO_TX_POWER)); |
break; |
} |
@@ -138,16 +148,18 @@ class Fakes { |
mFakeScanner.mScanCallback.onScanResult( |
ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
new FakeScanResult( |
- new FakeBluetoothDevice(this, "02:00:00:8B:74:63", ""), uuids)); |
+ new FakeBluetoothDevice(this, "02:00:00:8B:74:63", ""), |
+ TestRSSI.MEDIUM, uuids, NO_TX_POWER)); |
break; |
} |
case 5: { |
ArrayList<ParcelUuid> uuids = null; |
- mFakeScanner.mScanCallback.onScanResult(ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
- new FakeScanResult(new FakeBluetoothDevice( |
- this, "01:00:00:90:1E:BE", null), |
- uuids)); |
+ mFakeScanner.mScanCallback.onScanResult( |
+ ScanSettings.CALLBACK_TYPE_ALL_MATCHES, |
+ new FakeScanResult( |
+ new FakeBluetoothDevice(this, "01:00:00:90:1E:BE", null), |
+ TestRSSI.HIGH, uuids, NO_TX_POWER)); |
break; |
} |
} |
@@ -273,12 +285,17 @@ class Fakes { |
*/ |
static class FakeScanResult extends Wrappers.ScanResultWrapper { |
private final FakeBluetoothDevice mDevice; |
+ private final int mRssi; |
+ private final int mTxPower; |
private final ArrayList<ParcelUuid> mUuids; |
- FakeScanResult(FakeBluetoothDevice device, ArrayList<ParcelUuid> uuids) { |
+ FakeScanResult( |
+ FakeBluetoothDevice device, int rssi, ArrayList<ParcelUuid> uuids, int txPower) { |
super(null); |
mDevice = device; |
+ mRssi = rssi; |
mUuids = uuids; |
+ mTxPower = txPower; |
} |
@Override |
@@ -287,9 +304,19 @@ class Fakes { |
} |
@Override |
+ public int getRssi() { |
+ return mRssi; |
+ } |
+ |
+ @Override |
public List<ParcelUuid> getScanRecord_getServiceUuids() { |
return mUuids; |
} |
+ |
+ @Override |
+ public int getScanRecord_getTxPowerLevel() { |
+ return mTxPower; |
+ } |
} |
/** |