diff --git a/src/plugins/android/androidsdkdownloader.cpp b/src/plugins/android/androidsdkdownloader.cpp index 0faedb4806f..32fe9a9fd66 100644 --- a/src/plugins/android/androidsdkdownloader.cpp +++ b/src/plugins/android/androidsdkdownloader.cpp @@ -87,11 +87,6 @@ static bool verifyFileIntegrity(const FilePath fileName, const QByteArray &sha25 void AndroidSdkDownloader::downloadAndExtractSdk() { - if (androidConfig().sdkToolsUrl().isEmpty()) { - logError(Tr::tr("The SDK Tools download URL is empty.")); - return; - } - struct StorageStruct { StorageStruct() { @@ -108,6 +103,14 @@ void AndroidSdkDownloader::downloadAndExtractSdk() Storage storage; + const auto onSetup = [] { + if (androidConfig().sdkToolsUrl().isEmpty()) { + logError(Tr::tr("The SDK Tools download URL is empty.")); + return SetupResult::StopWithError; + } + return SetupResult::Continue; + }; + const auto onQuerySetup = [storage](NetworkQuery &query) { query.setRequest(QNetworkRequest(androidConfig().sdkToolsUrl())); query.setNetworkAccessManager(NetworkAccessManager::instance()); @@ -201,6 +204,7 @@ void AndroidSdkDownloader::downloadAndExtractSdk() parallel, stopOnSuccessOrError, Group { + onGroupSetup(onSetup), NetworkQueryTask(onQuerySetup, onQueryDone), UnarchiverTask(onUnarchiveSetup, onUnarchiverDone) },