diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp index e537911fc69..ffa8b2ce7ab 100644 --- a/src/plugins/android/androidavdmanager.cpp +++ b/src/plugins/android/androidavdmanager.cpp @@ -64,14 +64,6 @@ static bool checkForTimeout(const chrono::steady_clock::time_point &start, static CreateAvdInfo createAvdCommand(const CreateAvdInfo &info) { CreateAvdInfo result = info; - - if (!result.isValid()) { - qCDebug(avdManagerLog) << "AVD Create failed. Invalid CreateAvdInfo" << result.name - << result.systemImage->displayText() << result.systemImage->apiLevel(); - result.error = Tr::tr("Cannot create AVD. Invalid input."); - return result; - } - CommandLine avdManager(androidConfig().avdManagerToolPath(), {"create", "avd", "-n", result.name}); avdManager.addArgs({"-k", result.systemImage->sdkStylePath()}); diff --git a/src/plugins/android/avddialog.cpp b/src/plugins/android/avddialog.cpp index 81a54427168..a33e56bc6d5 100644 --- a/src/plugins/android/avddialog.cpp +++ b/src/plugins/android/avddialog.cpp @@ -8,6 +8,8 @@ #include "androiddevice.h" #include "androidsdkmanager.h" +#include + #include #include @@ -24,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -126,6 +129,12 @@ int AvdDialog::exec() result.sdcardSize = sdcardSize(); result.overwrite = m_overwriteCheckBox->isChecked(); + if (!result.isValid()) { + QMessageBox::warning(Core::ICore::dialogParent(), + Tr::tr("Create new AVD"), Tr::tr("Cannot create AVD. Invalid input.")); + return QDialog::Rejected; + } + const AndroidAvdManager avdManager; QFutureWatcher createAvdFutureWatcher; @@ -139,7 +148,13 @@ int AvdDialog::exec() const QFuture future = createAvdFutureWatcher.future(); if (future.isResultReadyAt(0)) { - m_createdAvdInfo = future.result(); + const CreateAvdInfo &info = future.result(); + if (!info.error.isEmpty()) { + QMessageBox::warning(Core::ICore::dialogParent(), + Tr::tr("Create new AVD"), info.error); + return QDialog::Rejected; + } + m_createdAvdInfo = info; AndroidDeviceManager::instance()->updateAvdsList(); } }