forked from qt-creator/qt-creator
Android: Improve "Add new AVD" dialog
* Re-organize the implementation to create a new AVD * Use SystemImage instead of SdKPlatform because now an SdkPlatform can be installed partially with a SystemImage. The current implementation does not consider the this case, thus we end up with an uncomplete list of installed system images. * Add Device definitions with categories (phone, tablet, tv, etc.) to the creation process (check -d arg in avdmanager create avd). Task-number: QTCREATORBUG-23284 Change-Id: Id02a71ad452fb423fa2781d06ef3fcf2afa328a9 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -345,6 +345,21 @@ AndroidSdkPackageList AndroidSdkManager::installedSdkPackages()
|
||||
return m_d->filteredPackages(AndroidSdkPackage::Installed, AndroidSdkPackage::AnyValidType);
|
||||
}
|
||||
|
||||
SystemImageList AndroidSdkManager::installedSystemImages()
|
||||
{
|
||||
AndroidSdkPackageList list = m_d->filteredPackages(AndroidSdkPackage::AnyValidState,
|
||||
AndroidSdkPackage::SdkPlatformPackage);
|
||||
QList<SdkPlatform *> platforms = Utils::static_container_cast<SdkPlatform *>(list);
|
||||
|
||||
SystemImageList result;
|
||||
for (SdkPlatform *platform : platforms) {
|
||||
if (platform->systemImages().size() > 0)
|
||||
result.append(platform->systemImages());
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
SdkPlatform *AndroidSdkManager::latestAndroidSdkPlatform(AndroidSdkPackage::PackageState state)
|
||||
{
|
||||
SdkPlatform *result = nullptr;
|
||||
@@ -679,6 +694,7 @@ QPair<SystemImage *, int> SdkManagerOutputParser::parseSystemImage(const QString
|
||||
image->setInstalledLocation(packageData.installedLocation);
|
||||
image->setDisplayText(packageData.description);
|
||||
image->setDescriptionText(packageData.description);
|
||||
image->setApiLevel(apiLevel);
|
||||
result = qMakePair(image, apiLevel);
|
||||
} else {
|
||||
qCDebug(sdkManagerLog) << "System-image: Minimum required data unavailable: "<< data;
|
||||
|
||||
Reference in New Issue
Block a user