From dd14e2782008df427704173e5eaf9a75fcbc0d2d Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 23 Sep 2017 15:05:08 -0700 Subject: BLE: try to enable on iOS We can't use the localBtDevice on iOS, so hack around that and go straight to discovery. Signed-off-by: Dirk Hohndel --- core/btdiscovery.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'core') diff --git a/core/btdiscovery.cpp b/core/btdiscovery.cpp index 281e3b314..731c4ca4f 100644 --- a/core/btdiscovery.cpp +++ b/core/btdiscovery.cpp @@ -71,17 +71,20 @@ void BTDiscovery::BTDiscoveryReDiscover() localBtDevice.hostMode() == QBluetoothLocalDevice::HostConnectable) { btPairedDevices.clear(); qDebug() << "localDevice " + localBtDevice.name() + " is valid, starting discovery"; - m_btValid = true; #else - m_btValid = false; + // for iOS we can't use the localBtDevice as iOS is BLE only + // we need to find some other way to test if Bluetooth is enabled, though + // for now just hard-code it + if (1) { #endif + m_btValid = true; #if defined(Q_OS_IOS) || (defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)) discoveryAgent = new QBluetoothDeviceDiscoveryAgent(this); connect(discoveryAgent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered, this, &BTDiscovery::btDeviceDiscovered); qDebug() << "starting BLE discovery"; discoveryAgent->start(); #endif -#if defined(Q_OS_ANDROID) && defined(BT_SUPPORT) +#if defined(Q_OS_ANDROID) getBluetoothDevices(); // and add the paired devices to the internal data // So behaviour is same on Linux/Bluez stack and @@ -100,12 +103,10 @@ void BTDiscovery::BTDiscoveryReDiscover() connect(&timer, &QTimer::timeout, discoveryAgent, &QBluetoothDeviceDiscoveryAgent::stop); timer.start(3000); #endif -#if !defined(Q_OS_IOS) } else { - qDebug() << "localBtDevice isn't valid"; + qDebug() << "localBtDevice isn't valid or not connectable"; m_btValid = false; } -#endif } BTDiscovery::~BTDiscovery() -- cgit v1.2.3-70-g09d2