forked from qt-creator/qt-creator
Don't wait too much to connect.
Some AVDs down't allow to connect to their console, there is no point to wait 30s (which is the default connection timeout). Change-Id: I3cb82b99f958787215f44b471abfc203d7633089 Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
committed by
Eike Ziller
parent
d0369fe4d2
commit
d342623bb7
@@ -588,8 +588,11 @@ QVector<AndroidDeviceInfo> AndroidConfig::connectedDevices(const QString &adbToo
|
|||||||
else
|
else
|
||||||
dev.state = AndroidDeviceInfo::OkState;
|
dev.state = AndroidDeviceInfo::OkState;
|
||||||
|
|
||||||
if (dev.type == AndroidDeviceInfo::Emulator)
|
if (dev.type == AndroidDeviceInfo::Emulator) {
|
||||||
dev.avdname = getAvdName(dev.serialNumber);
|
dev.avdname = getAvdName(dev.serialNumber);
|
||||||
|
if (dev.avdname.isEmpty())
|
||||||
|
dev.avdname = serialNo;
|
||||||
|
}
|
||||||
|
|
||||||
devices.push_back(dev);
|
devices.push_back(dev);
|
||||||
}
|
}
|
||||||
@@ -921,9 +924,11 @@ QString AndroidConfig::getAvdName(const QString &serialnumber)
|
|||||||
|
|
||||||
QTcpSocket tcpSocket;
|
QTcpSocket tcpSocket;
|
||||||
tcpSocket.connectToHost(QHostAddress(QHostAddress::LocalHost), port);
|
tcpSocket.connectToHost(QHostAddress(QHostAddress::LocalHost), port);
|
||||||
tcpSocket.waitForConnected();
|
if (!tcpSocket.waitForConnected(100)) // Don't wait more than 100ms for a local connection
|
||||||
|
return QString{};
|
||||||
|
|
||||||
tcpSocket.write(avdName + "exit\n");
|
tcpSocket.write(avdName + "exit\n");
|
||||||
tcpSocket.waitForDisconnected();
|
tcpSocket.waitForDisconnected(500);
|
||||||
|
|
||||||
QByteArray name;
|
QByteArray name;
|
||||||
const QByteArrayList response = tcpSocket.readAll().split('\n');
|
const QByteArrayList response = tcpSocket.readAll().split('\n');
|
||||||
|
Reference in New Issue
Block a user