diff --git a/src/plugins/android/androidconfigurations.cpp b/src/plugins/android/androidconfigurations.cpp index 5e69111ac29..f8e4fd09e2a 100644 --- a/src/plugins/android/androidconfigurations.cpp +++ b/src/plugins/android/androidconfigurations.cpp @@ -141,6 +141,33 @@ static QString buildToolsPackageMarker() return QLatin1String(Constants::buildToolsPackageName) + ";"; } +static QString getAvdName(const QString &serialnumber) +{ + const int index = serialnumber.indexOf(QLatin1String("-")); + if (index == -1) + return {}; + bool ok; + const int port = serialnumber.mid(index + 1).toInt(&ok); + if (!ok) + return {}; + + QTcpSocket tcpSocket; + tcpSocket.connectToHost(QHostAddress(QHostAddress::LocalHost), port); + if (!tcpSocket.waitForConnected(100)) // Don't wait more than 100ms for a local connection + return {}; + + tcpSocket.write("avd name\nexit\n"); + tcpSocket.waitForDisconnected(500); + + const QByteArrayList response = tcpSocket.readAll().split('\n'); + // The input "avd name" might not be echoed as-is, but contain ASCII control sequences. + for (int i = response.size() - 1; i > 1; --i) { + if (response.at(i).startsWith("OK")) + return QString::fromLatin1(response.at(i - 1)).trimmed(); + } + return {}; +} + ////////////////////////////////// // AndroidConfig ////////////////////////////////// @@ -693,39 +720,6 @@ int AndroidConfig::getSDKVersion(const QString &device) return tmp.trimmed().toInt(); } -QString AndroidConfig::getAvdName(const QString &serialnumber) -{ - int index = serialnumber.indexOf(QLatin1String("-")); - if (index == -1) - return {}; - bool ok; - int port = serialnumber.mid(index + 1).toInt(&ok); - if (!ok) - return {}; - - const QByteArray avdName = "avd name\n"; - - QTcpSocket tcpSocket; - tcpSocket.connectToHost(QHostAddress(QHostAddress::LocalHost), port); - if (!tcpSocket.waitForConnected(100)) // Don't wait more than 100ms for a local connection - return {}; - - tcpSocket.write(avdName + "exit\n"); - tcpSocket.waitForDisconnected(500); - - QByteArray name; - const QByteArrayList response = tcpSocket.readAll().split('\n'); - // The input "avd name" might not be echoed as-is, but contain ASCII - // control sequences. - for (int i = response.size() - 1; i > 1; --i) { - if (response.at(i).startsWith("OK")) { - name = response.at(i - 1); - break; - } - } - return QString::fromLatin1(name).trimmed(); -} - //! //! \brief AndroidConfigurations::getProductModel //! \param device serial number diff --git a/src/plugins/android/androidconfigurations.h b/src/plugins/android/androidconfigurations.h index f45801c3615..98c70490497 100644 --- a/src/plugins/android/androidconfigurations.h +++ b/src/plugins/android/androidconfigurations.h @@ -145,7 +145,6 @@ private: static QString getDeviceProperty(const QString &device, const QString &property); Utils::FilePath openJDKBinPath() const; - static QString getAvdName(const QString &serialnumber); void parseDependenciesJson();