From 6e4ae817c2b5b8d732124bddbd34977f332c5d53 Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Wed, 18 Apr 2018 12:23:02 +0200 Subject: [PATCH] Android: Check for missing emulator tool Task-number: QTCREATORBUG-20160 Change-Id: I481adfe9a7a1b2c9c151d01d2fe1b010735c898b Reviewed-by: Leena Miettinen Reviewed-by: hjk --- src/plugins/android/androidavdmanager.cpp | 11 +++++++++++ src/plugins/android/androidavdmanager.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp index 954053b08bc..a376a3194c3 100644 --- a/src/plugins/android/androidavdmanager.cpp +++ b/src/plugins/android/androidavdmanager.cpp @@ -26,6 +26,7 @@ #include "androidtoolmanager.h" +#include "coreplugin/icore.h" #include "utils/algorithm.h" #include "utils/qtcassert.h" #include "utils/runextensions.h" @@ -34,6 +35,7 @@ #include #include #include +#include #include #include @@ -270,6 +272,15 @@ QString AndroidAvdManager::startAvd(const QString &name) const bool AndroidAvdManager::startAvdAsync(const QString &avdName) const { + QFileInfo info(m_config.emulatorToolPath().toString()); + if (!info.exists()) { + QMessageBox::critical(Core::ICore::dialogParent(), + tr("Emulator Tool Is Missing"), + tr("Install the missing emulator tool (%1) to the" + " installed Android SDK.") + .arg(m_config.emulatorToolPath().toString())); + return false; + } QProcess *avdProcess = new QProcess(); QObject::connect(avdProcess, static_cast(&QProcess::finished), avdProcess, &QObject::deleteLater); diff --git a/src/plugins/android/androidavdmanager.h b/src/plugins/android/androidavdmanager.h index 8bb487ca663..6b16b3c7ce1 100644 --- a/src/plugins/android/androidavdmanager.h +++ b/src/plugins/android/androidavdmanager.h @@ -36,6 +36,8 @@ class AvdManagerOutputParser; class AndroidAvdManager { + Q_DECLARE_TR_FUNCTIONS(Android::Internal::AndroidAvdManager) + public: AndroidAvdManager(const AndroidConfig& config = AndroidConfigurations::currentConfig()); ~AndroidAvdManager();