aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android/androidavdmanager.cpp
diff options
context:
space:
mode:
authorVikas Pachdha <vikas.pachdha@qt.io>2017-08-18 08:22:34 +0200
committerVikas Pachdha <vikas.pachdha@qt.io>2017-10-11 11:58:16 +0000
commitec4fe5f04f4c961615bb27fa4e7d9638a3c6c971 (patch)
tree7dcdd62848e7709bfc96dfb942cc71aaa13f86a5 /src/plugins/android/androidavdmanager.cpp
parent240d310a81c2e644ae6f241e2738c17f5a80ef89 (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.cpp25
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);