AndroidSdkDownloader: Use Utils::NetworkAccessManager

Change-Id: Idd245f578ead0f22e457f9571441a4d9c9a1ce40
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
Jarek Kobus
2023-06-07 10:55:28 +02:00
parent c276a896b8
commit 34ef7d4150
2 changed files with 15 additions and 14 deletions

View File

@@ -7,6 +7,7 @@
#include <utils/archive.h> #include <utils/archive.h>
#include <utils/filepath.h> #include <utils/filepath.h>
#include <utils/networkaccessmanager.h>
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
@@ -25,9 +26,7 @@ namespace Android::Internal {
*/ */
AndroidSdkDownloader::AndroidSdkDownloader() AndroidSdkDownloader::AndroidSdkDownloader()
: m_androidConfig(AndroidConfigurations::currentConfig()) : m_androidConfig(AndroidConfigurations::currentConfig())
{ {}
connect(&m_manager, &QNetworkAccessManager::finished, this, &AndroidSdkDownloader::downloadFinished);
}
AndroidSdkDownloader::~AndroidSdkDownloader() = default; AndroidSdkDownloader::~AndroidSdkDownloader() = default;
@@ -47,8 +46,9 @@ void AndroidSdkDownloader::downloadAndExtractSdk()
return; return;
} }
QNetworkRequest request(m_androidConfig.sdkToolsUrl()); const QNetworkRequest request(m_androidConfig.sdkToolsUrl());
m_reply = m_manager.get(request); m_reply = NetworkAccessManager::instance()->get(request);
connect(m_reply, &QNetworkReply::finished, this, &AndroidSdkDownloader::downloadFinished);
#if QT_CONFIG(ssl) #if QT_CONFIG(ssl)
connect(m_reply, &QNetworkReply::sslErrors, this, &AndroidSdkDownloader::sslErrors); connect(m_reply, &QNetworkReply::sslErrors, this, &AndroidSdkDownloader::sslErrors);
@@ -110,6 +110,7 @@ void AndroidSdkDownloader::cancel()
if (m_reply) { if (m_reply) {
m_reply->abort(); m_reply->abort();
m_reply->deleteLater(); m_reply->deleteLater();
m_reply = nullptr;
} }
if (m_progressDialog) if (m_progressDialog)
m_progressDialog->cancel(); m_progressDialog->cancel();
@@ -169,18 +170,18 @@ bool AndroidSdkDownloader::isHttpRedirect(QNetworkReply *reply)
|| statusCode == 307 || statusCode == 308; || statusCode == 307 || statusCode == 308;
} }
void AndroidSdkDownloader::downloadFinished(QNetworkReply *reply) void AndroidSdkDownloader::downloadFinished()
{ {
QUrl url = reply->url(); QUrl url = m_reply->url();
if (reply->error()) { if (m_reply->error()) {
cancelWithError(QString(Tr::tr("Downloading Android SDK Tools from URL %1 has failed: %2.")) cancelWithError(QString(Tr::tr("Downloading Android SDK Tools from URL %1 has failed: %2."))
.arg(url.toString(), reply->errorString())); .arg(url.toString(), m_reply->errorString()));
} else { } else {
if (isHttpRedirect(reply)) { if (isHttpRedirect(m_reply)) {
cancelWithError(QString(Tr::tr("Download from %1 was redirected.")).arg(url.toString())); cancelWithError(QString(Tr::tr("Download from %1 was redirected.")).arg(url.toString()));
} else { } else {
m_sdkFilename = getSaveFilename(url); m_sdkFilename = getSaveFilename(url);
if (saveToDisk(m_sdkFilename, reply) && verifyFileIntegrity()) if (saveToDisk(m_sdkFilename, m_reply) && verifyFileIntegrity())
emit sdkPackageWriteFinished(); emit sdkPackageWriteFinished();
else else
cancelWithError( cancelWithError(
@@ -188,7 +189,8 @@ void AndroidSdkDownloader::downloadFinished(QNetworkReply *reply)
} }
} }
reply->deleteLater(); m_reply->deleteLater();
m_reply = nullptr;
} }
} // namespace Android::Internal } // namespace Android::Internal

View File

@@ -42,12 +42,11 @@ private:
void cancelWithError(const QString &error); void cancelWithError(const QString &error);
void logError(const QString &error); void logError(const QString &error);
void downloadFinished(QNetworkReply *m_reply); void downloadFinished();
#if QT_CONFIG(ssl) #if QT_CONFIG(ssl)
void sslErrors(const QList<QSslError> &errors); void sslErrors(const QList<QSslError> &errors);
#endif #endif
QNetworkAccessManager m_manager;
QNetworkReply *m_reply = nullptr; QNetworkReply *m_reply = nullptr;
Utils::FilePath m_sdkFilename; Utils::FilePath m_sdkFilename;
QProgressDialog *m_progressDialog = nullptr; QProgressDialog *m_progressDialog = nullptr;