Index: device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java |
diff --git a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java |
index 6b5792b691cc5f779db4038fec2d85e15f8276f2..dab1e0d2db9283a16f7ff9cd34e45212bcf1af5d 100644 |
--- a/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java |
+++ b/device/bluetooth/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothAdapter.java |
@@ -185,12 +185,15 @@ final class ChromeBluetoothAdapter extends BroadcastReceiver { |
// Implementation details: |
/** |
- * @return true if Chromium has permission to scan for Bluetooth devices. |
+ * @return true if Chromium has permission to scan for Bluetooth devices and location services |
+ * are on. |
*/ |
private boolean canScan() { |
Wrappers.ContextWrapper context = mAdapter.getContext(); |
+ boolean havePermission = context.chromeHasLocationPermission(); |
+ boolean locationServicesOn = context.isSystemLocationSettingEnabled(); |
- return context.chromeHasLocationPermission(); |
+ return havePermission && locationServicesOn; |
} |
private void registerBroadcastReceiver() { |