diff options
author | Vikas Pachdha <vikas.pachdha@qt.io> | 2017-08-18 08:22:34 +0200 |
---|---|---|
committer | Vikas Pachdha <vikas.pachdha@qt.io> | 2017-10-11 11:58:16 +0000 |
commit | ec4fe5f04f4c961615bb27fa4e7d9638a3c6c971 (patch) | |
tree | 7dcdd62848e7709bfc96dfb942cc71aaa13f86a5 /src/plugins/android/androidavdmanager.cpp | |
parent | 240d310a81c2e644ae6f241e2738c17f5a80ef89 (diff) |
Android: Refactor Android SDK packages
Introduce a hierarchy for Android SDK packages and refactor the
code accordingly. This is ground work for sdk management and
automatic android setup
Task-number: QTCREATORBUG-18978
Change-Id: Idef545e3b3a8e33e920be52b26094fb8046afcd3
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
Diffstat (limited to 'src/plugins/android/androidavdmanager.cpp')
-rw-r--r-- | src/plugins/android/androidavdmanager.cpp | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/src/plugins/android/androidavdmanager.cpp b/src/plugins/android/androidavdmanager.cpp index 028fe2c7974..f4cf488616f 100644 --- a/src/plugins/android/androidavdmanager.cpp +++ b/src/plugins/android/androidavdmanager.cpp @@ -101,37 +101,37 @@ static bool checkForTimeout(const chrono::steady_clock::time_point &start, return timedOut; } -static AndroidConfig::CreateAvdInfo createAvdCommand(const AndroidConfig config, - const AndroidConfig::CreateAvdInfo &info) +static CreateAvdInfo createAvdCommand(const AndroidConfig config, const CreateAvdInfo &info) { - AndroidConfig::CreateAvdInfo result = info; + CreateAvdInfo result = info; if (!result.isValid()) { qCDebug(avdManagerLog) << "AVD Create failed. Invalid CreateAvdInfo" << result.name - << result.target.name << result.target.apiLevel; + << result.sdkPlatform->displayText() << result.sdkPlatform->apiLevel(); result.error = QApplication::translate("AndroidAvdManager", "Cannot create AVD. Invalid input."); return result; } - QStringList arguments({"create", "avd", "-k", result.target.package, "-n", result.name}); + QStringList arguments({"create", "avd", "-k", result.sdkPlatform->sdkStylePath(), "-n", result.name}); if (!result.abi.isEmpty()) { - SystemImage image = Utils::findOrDefault(result.target.systemImages, + SystemImage *image = Utils::findOrDefault(result.sdkPlatform->systemImages(), Utils::equal(&SystemImage::abiName, result.abi)); - if (image.isValid()) { - arguments << "-k" << image.package; + if (image && image->isValid()) { + arguments << "-k" << image->sdkStylePath(); } else { + QString name = result.sdkPlatform->displayText(); qCDebug(avdManagerLog) << "AVD Create failed. Cannot find system image for the platform" - << result.abi << result.target.name; + << result.abi << name; result.error = QApplication::translate("AndroidAvdManager", "Cannot create AVD. Cannot find system image for " - "the ABI %1(%2).").arg(result.abi).arg(result.target.name); + "the ABI %1(%2).").arg(result.abi).arg(name); return result; } } else { - arguments << "-k" << result.target.package; + arguments << "-k" << result.sdkPlatform->sdkStylePath(); } if (result.sdcardSize > 0) @@ -234,8 +234,7 @@ void AndroidAvdManager::launchAvdManagerUiTool() const } } -QFuture<AndroidConfig::CreateAvdInfo> -AndroidAvdManager::createAvd(AndroidConfig::CreateAvdInfo info) const +QFuture<CreateAvdInfo> AndroidAvdManager::createAvd(CreateAvdInfo info) const { if (m_config.sdkToolsVersion() < avdManagerIntroVersion) return m_androidTool->createAvd(info); |