summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothsocket_android.cpp
diff options
context:
space:
mode:
authorOliver Wolff <oliver.wolff@qt.io>2018-08-14 11:11:02 +0200
committerOliver Wolff <oliver.wolff@qt.io>2018-08-16 06:46:43 +0000
commit0b5da60094a1c38c5bbbef6564656e870eebb14a (patch)
tree6f3b5b2627bd7e8b0d3d5eea7d8e11e9a796baf2 /src/bluetooth/qbluetoothsocket_android.cpp
parenta0ade068004ad869d6235ae8d6cd5e2050bf765d (diff)
QBluetoothSocket: Move (dis-)connected logic into setSocketState
Instead of duplicating that logic everywhere, it can be handled in one place. Additionally setOpenMode should be called before setSocketState so that every member variable is changed, before signals are emitted. Change-Id: Ic1d4317ba31046d78d97874ec00c59481a67bb50 Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/bluetooth/qbluetoothsocket_android.cpp')
-rw-r--r--src/bluetooth/qbluetoothsocket_android.cpp15
1 files changed, 4 insertions, 11 deletions
diff --git a/src/bluetooth/qbluetoothsocket_android.cpp b/src/bluetooth/qbluetoothsocket_android.cpp
index abb0c5e9..a478819b 100644
--- a/src/bluetooth/qbluetoothsocket_android.cpp
+++ b/src/bluetooth/qbluetoothsocket_android.cpp
@@ -626,7 +626,6 @@ void QBluetoothSocketPrivateAndroid::socketConnectSuccess(const QAndroidJniObjec
q->setOpenMode(QIODevice::ReadWrite|QIODevice::Unbuffered);
q->setSocketState(QBluetoothSocket::ConnectedState);
- emit q->connected();
}
void QBluetoothSocketPrivateAndroid::defaultSocketConnectFailed(
@@ -714,10 +713,9 @@ void QBluetoothSocketPrivateAndroid::abort()
// close() without further feedback. Therefore we have to set
// Unconnected (now) in advance
Q_Q(QBluetoothSocket);
- q->setSocketState(QBluetoothSocket::UnconnectedState);
q->setOpenMode(QIODevice::NotOpen);
+ q->setSocketState(QBluetoothSocket::UnconnectedState);
emit q->readChannelFinished();
- emit q->disconnected();
}
}
}
@@ -841,10 +839,9 @@ void QBluetoothSocketPrivateAndroid::inputThreadError(int errorCode)
}
}
- q->setSocketState(QBluetoothSocket::UnconnectedState);
q->setOpenMode(QIODevice::NotOpen);
+ q->setSocketState(QBluetoothSocket::UnconnectedState);
emit q->readChannelFinished();
- emit q->disconnected();
}
void QBluetoothSocketPrivateAndroid::close()
@@ -917,10 +914,6 @@ bool QBluetoothSocketPrivateAndroid::setSocketDescriptor(const QAndroidJniObject
this, SLOT(inputThreadError(int)), Qt::QueuedConnection);
inputThread->run();
-
- q->setSocketState(socketState);
- q->setOpenMode(openMode | QIODevice::Unbuffered);
-
// WorkerThread manages all sockets for us
// When we come through here the socket was already connected by
// server socket listener (see QBluetoothServer)
@@ -929,8 +922,8 @@ bool QBluetoothSocketPrivateAndroid::setSocketDescriptor(const QAndroidJniObject
workerThread->setupWorker(this, socketObject, QAndroidJniObject(), !USE_FALLBACK);
workerThread->start();
- if (socketState == QBluetoothSocket::ConnectedState)
- emit q->connected();
+ q->setOpenMode(openMode | QIODevice::Unbuffered);
+ q->setSocketState(socketState);
return true;
}