diff options
| author | Andrew Branson <andrew.branson@cern.ch> | 2015-04-21 12:47:07 +0200 |
|---|---|---|
| committer | Andrew Branson <andrew.branson@cern.ch> | 2015-04-25 11:17:57 +0200 |
| commit | 0ad6b1fc702b56bed96077d540366a9a96903da7 (patch) | |
| tree | b3ea1a9eff70f9978244377c32d900c8b658c914 /daemon/watchconnector.cpp | |
| parent | d8deaf4385b20fa5e658dd0ef4cfc5631461e6fc (diff) | |
Check if Bluetooth is on before reconnecting
Don't try to reconnect to the watch if Bluetooth is switched off,
instead start an extended reconnect timer (which has been refactored)
Diffstat (limited to 'daemon/watchconnector.cpp')
| -rw-r--r-- | daemon/watchconnector.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/daemon/watchconnector.cpp b/daemon/watchconnector.cpp index 0ccd089..891625b 100644 --- a/daemon/watchconnector.cpp +++ b/daemon/watchconnector.cpp @@ -158,6 +158,16 @@ void WatchConnector::handleWatch(const QString &name, const QString &address) { qCDebug(l) << "handleWatch" << name << address; reconnectTimer.stop(); + + // Check if bluetooth is on + QBluetoothLocalDevice host; + bool btOff = host.hostMode() == QBluetoothLocalDevice::HostPoweredOff; + if (btOff) { + qCDebug(l) << "Bluetooth switched off."; + setIncreasedReconnectTimer(); + return; + } + if (socket != nullptr) { socket->close(); socket->deleteLater(); @@ -323,6 +333,12 @@ void WatchConnector::onDisconnected() writeData.clear(); // 3rd time around - user is not here, do not bother with resending last message } + setIncreasedReconnectTimer(); + +} + +void WatchConnector::setIncreasedReconnectTimer() +{ if (reconnectTimer.interval() < 10 * RECONNECT_TIMEOUT) { reconnectTimer.setInterval(reconnectTimer.interval() + RECONNECT_TIMEOUT); } |
