Android: Add system image information for each platform

Groundwork for the new sdk and avd management tool's integration

Task-number: QTCREATORBUG-17814
Change-Id: I3e46f6d3aa56c0f16dd66d0b1d731043e180e012
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
This commit is contained in:
Vikas Pachdha
2017-04-04 07:20:01 +02:00
parent 198c83ea70
commit 2b5f5abb2b
3 changed files with 41 additions and 8 deletions

View File

@@ -26,6 +26,7 @@
#include "avddialog.h"
#include "androidconfigurations.h"
#include <utils/algorithm.h>
#include <utils/tooltip/tooltip.h>
#include <utils/utilsicons.h>
@@ -94,10 +95,15 @@ void AvdDialog::updateApiLevelComboBox()
{
QList<SdkPlatform> filteredList;
QList<SdkPlatform> platforms = m_config->sdkTargets(m_minApiLevel);
foreach (const SdkPlatform &platform, platforms) {
if (platform.abis.contains(abi()))
filteredList << platform;
}
QString selectedAbi = abi();
auto hasAbi = [selectedAbi](const SystemImage &image) {
return image.isValid() && (image.abiName == selectedAbi);
};
filteredList = Utils::filtered(platforms, [hasAbi](const SdkPlatform &platform) {
return Utils::anyOf(platform.systemImages,hasAbi);
});
m_avdDialog.targetComboBox->clear();
m_avdDialog.targetComboBox->addItems(AndroidConfig::apiLevelNamesFor(filteredList));