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 8659685aed718444c70c662810ac26420241f570..7367e2f62d534c635393432c18e145551bb9a519 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 |
@@ -205,12 +205,17 @@ 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() { |
Context context = mAdapter.getContext(); |
- return LocationUtils.getInstance().hasAndroidLocationPermission(context); |
+ boolean havePermission = LocationUtils.getInstance().hasAndroidLocationPermission(context); |
+ boolean locationServicesOn = |
+ LocationUtils.getInstance().isSystemLocationSettingEnabled(context); |
+ |
+ return havePermission && locationServicesOn; |
} |
private void registerBroadcastReceiver() { |