Index: device/bluetooth/android/java/src/org/chromium/device/bluetooth/Wrappers.java |
diff --git a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/Wrappers.java b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/Wrappers.java |
index d53e233a287494ab8e05cb6583106e8b51f2bd6e..9bcb3f8f3b04b2b31f92d0e5819b62d5ced034fc 100644 |
--- a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/Wrappers.java |
+++ b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/Wrappers.java |
@@ -46,6 +46,8 @@ import java.util.UUID; |
class Wrappers { |
private static final String TAG = "Bluetooth"; |
+ public static final int DEVICE_CLASS_UNSPECIFIED = 0x1F00; |
+ |
/** |
* Wraps android.bluetooth.BluetoothAdapter. |
*/ |
@@ -94,8 +96,13 @@ class Wrappers { |
Log.i(TAG, "BluetoothAdapterWrapper.create failed: Default adapter not found."); |
return null; |
} else { |
- return new BluetoothAdapterWrapper(adapter, new ContextWrapper(context), |
- new BluetoothLeScannerWrapper(adapter.getBluetoothLeScanner())); |
+ BluetoothLeScanner scanner = adapter.getBluetoothLeScanner(); |
scheib
2016/01/21 05:33:51
In my patch you'll see that I moved the code for o
|
+ if (scanner != null) { |
+ return new BluetoothAdapterWrapper(adapter, new ContextWrapper(context), |
+ new BluetoothLeScannerWrapper(scanner)); |
+ } else { |
+ return null; |
+ } |
} |
} |
@@ -171,7 +178,6 @@ class Wrappers { |
ForwardScanCallbackToWrapper callbackForwarder = |
new ForwardScanCallbackToWrapper(callback); |
mCallbacks.put(callback, callbackForwarder); |
- |
mScanner.startScan(filters, settings, callbackForwarder); |
} |
@@ -276,6 +282,11 @@ class Wrappers { |
} |
public int getBluetoothClass_getDeviceClass() { |
+ if (mDevice == null || mDevice.getBluetoothClass() == null) { |
scheib
2016/01/21 05:33:51
OK, no test needed here because we don't Fake getB
|
+ // BluetoothDevice.getBluetoothClass() returns null if adapter has been powered off. |
+ // Return DEVICE_CLASS_UNSPECIFIED in these cases. |
+ return DEVICE_CLASS_UNSPECIFIED; |
+ } |
return mDevice.getBluetoothClass().getDeviceClass(); |
} |