| 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 65705fa2ac99bee0d5fe68888484fa0d7754b147..538f618d6aa7efeadd0f9e9cea26a499a4920c99 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
|
| @@ -43,6 +43,7 @@ class Fakes {
|
| static class FakeBluetoothAdapter extends Wrappers.BluetoothAdapterWrapper {
|
| private final FakeContext mFakeContext;
|
| private final FakeBluetoothLeScanner mFakeScanner;
|
| + private boolean mPowered = true;
|
| final long mNativeBluetoothTestAndroid;
|
|
|
| /**
|
| @@ -55,10 +56,10 @@ class Fakes {
|
| }
|
|
|
| private FakeBluetoothAdapter(long nativeBluetoothTestAndroid) {
|
| - super(null, new FakeContext(), new FakeBluetoothLeScanner());
|
| + super(null, new FakeContext());
|
| mNativeBluetoothTestAndroid = nativeBluetoothTestAndroid;
|
| mFakeContext = (FakeContext) mContext;
|
| - mFakeScanner = (FakeBluetoothLeScanner) mScanner;
|
| + mFakeScanner = new FakeBluetoothLeScanner();
|
| }
|
|
|
| @CalledByNative("FakeBluetoothAdapter")
|
| @@ -71,6 +72,10 @@ class Fakes {
|
| */
|
| @CalledByNative("FakeBluetoothAdapter")
|
| public void discoverLowEnergyDevice(int deviceOrdinal) {
|
| + if (mFakeScanner == null) {
|
| + return;
|
| + }
|
| +
|
| switch (deviceOrdinal) {
|
| case 1: {
|
| ArrayList<ParcelUuid> uuids = new ArrayList<ParcelUuid>(2);
|
| @@ -115,11 +120,25 @@ class Fakes {
|
| }
|
| }
|
|
|
| + @CalledByNative("FakeBluetoothAdapter")
|
| + public void forceIllegalStateException() {
|
| + if (mFakeScanner != null) {
|
| + mFakeScanner.forceIllegalStateException();
|
| + }
|
| + }
|
| +
|
| // -----------------------------------------------------------------------------------------
|
| // BluetoothAdapterWrapper overrides:
|
|
|
| @Override
|
| - public boolean isEnabled() {
|
| + public boolean disable() {
|
| + mPowered = false;
|
| + return true;
|
| + }
|
| +
|
| + @Override
|
| + public boolean enable() {
|
| + mPowered = true;
|
| return true;
|
| }
|
|
|
| @@ -129,6 +148,14 @@ class Fakes {
|
| }
|
|
|
| @Override
|
| + public Wrappers.BluetoothLeScannerWrapper getBluetoothLeScanner() {
|
| + if (isEnabled()) {
|
| + return mFakeScanner;
|
| + }
|
| + return null;
|
| + }
|
| +
|
| + @Override
|
| public String getName() {
|
| return "FakeBluetoothAdapter";
|
| }
|
| @@ -139,6 +166,11 @@ class Fakes {
|
| }
|
|
|
| @Override
|
| + public boolean isEnabled() {
|
| + return mPowered;
|
| + }
|
| +
|
| + @Override
|
| public boolean isDiscovering() {
|
| return false;
|
| }
|
| @@ -166,6 +198,7 @@ class Fakes {
|
| */
|
| static class FakeBluetoothLeScanner extends Wrappers.BluetoothLeScannerWrapper {
|
| public Wrappers.ScanCallbackWrapper mScanCallback;
|
| + private boolean mThrowException;
|
|
|
| private FakeBluetoothLeScanner() {
|
| super(null);
|
| @@ -178,6 +211,9 @@ class Fakes {
|
| throw new IllegalArgumentException(
|
| "FakeBluetoothLeScanner does not support multiple scans.");
|
| }
|
| + if (mThrowException) {
|
| + throw new IllegalStateException("Adapter is off.");
|
| + }
|
| mScanCallback = callback;
|
| }
|
|
|
| @@ -186,8 +222,15 @@ class Fakes {
|
| if (mScanCallback != callback) {
|
| throw new IllegalArgumentException("No scan in progress.");
|
| }
|
| + if (mThrowException) {
|
| + throw new IllegalStateException("Adapter is off.");
|
| + }
|
| mScanCallback = null;
|
| }
|
| +
|
| + void forceIllegalStateException() {
|
| + mThrowException = true;
|
| + }
|
| }
|
|
|
| /**
|
| @@ -288,7 +331,7 @@ class Fakes {
|
|
|
| @Override
|
| public int getBluetoothClass_getDeviceClass() {
|
| - return 0x1F00; // Unspecified Device Class
|
| + return Wrappers.DEVICE_CLASS_UNSPECIFIED;
|
| }
|
|
|
| @Override
|
|
|