Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(347)

Unified Diff: device/bluetooth/bluetooth_adapter_mac.mm

Issue 1228863002: Runtime checks so that CoreBluetooth only used on >= 10.10 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@timeinfo
Patch Set: Scheib comments #2 Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: device/bluetooth/bluetooth_adapter_mac.mm
diff --git a/device/bluetooth/bluetooth_adapter_mac.mm b/device/bluetooth/bluetooth_adapter_mac.mm
index e9586ad42068d7a2bb0fb495fe32b6ce0738aaf3..3bbac90e88af4419e66adee6178d7841244cc9d3 100644
--- a/device/bluetooth/bluetooth_adapter_mac.mm
+++ b/device/bluetooth/bluetooth_adapter_mac.mm
@@ -13,6 +13,7 @@
#include "base/compiler_specific.h"
#include "base/containers/hash_tables.h"
#include "base/location.h"
+#include "base/mac/mac_util.h"
#include "base/mac/sdk_forward_declarations.h"
#include "base/memory/scoped_ptr.h"
#include "base/profiler/scoped_tracker.h"
@@ -58,9 +59,10 @@ BluetoothAdapterMac::BluetoothAdapterMac()
num_discovery_sessions_(0),
classic_discovery_manager_(
BluetoothDiscoveryManagerMac::CreateClassic(this)),
- low_energy_discovery_manager_(
- BluetoothLowEnergyDiscoveryManagerMac::Create(this)),
weak_ptr_factory_(this) {
+ if (IsLowEnergyAvailable())
+ low_energy_discovery_manager_.reset(
+ BluetoothLowEnergyDiscoveryManagerMac::Create(this));
DCHECK(classic_discovery_manager_.get());
}
@@ -112,8 +114,11 @@ void BluetoothAdapterMac::SetDiscoverable(
}
bool BluetoothAdapterMac::IsDiscovering() const {
- return (classic_discovery_manager_->IsDiscovering() ||
- low_energy_discovery_manager_->IsDiscovering());
+ bool is_discovering = classic_discovery_manager_->IsDiscovering();
+ if (IsLowEnergyAvailable())
+ is_discovering =
+ is_discovering || low_energy_discovery_manager_->IsDiscovering();
+ return is_discovering;
}
void BluetoothAdapterMac::CreateRfcommService(
@@ -175,6 +180,11 @@ void BluetoothAdapterMac::DeviceConnected(IOBluetoothDevice* device) {
ClassicDeviceAdded(device);
}
+// static
+bool BluetoothAdapterMac::IsLowEnergyAvailable() {
+ return base::mac::IsOSYosemiteOrLater();
+}
+
void BluetoothAdapterMac::RemovePairingDelegateInternal(
BluetoothDevice::PairingDelegate* pairing_delegate) {
}
@@ -246,7 +256,8 @@ void BluetoothAdapterMac::RemoveDiscoverySession(
}
}
if (transport & BluetoothDiscoveryFilter::Transport::TRANSPORT_LE) {
- low_energy_discovery_manager_->StopDiscovery();
+ if (IsLowEnergyAvailable())
+ low_energy_discovery_manager_->StopDiscovery();
}
DVLOG(1) << "Discovery stopped";
@@ -283,7 +294,9 @@ bool BluetoothAdapterMac::StartDiscovery(
if (transport & BluetoothDiscoveryFilter::Transport::TRANSPORT_LE) {
// Begin a low energy discovery session or update it if one is already
// running.
- low_energy_discovery_manager_->StartDiscovery(BluetoothDevice::UUIDList());
+ if (IsLowEnergyAvailable())
+ low_energy_discovery_manager_->StartDiscovery(
+ BluetoothDevice::UUIDList());
}
return true;
}

Powered by Google App Engine
This is Rietveld 408576698