Android: Add extension to the package name in SdkManager

- Add "Extension 4" if the name contain "-ext4"
- Fix issue with two Tiramisu packages, now one of them
conatin "Extension 4" in the end.

Change-Id: Ib84807e9401acdef53c3dc1195dc3dc6ef34a57d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Artem Sokolovskii
2023-01-17 16:03:23 +01:00
parent 7c6a00b4e7
commit 020320ab78
6 changed files with 27 additions and 2 deletions

View File

@@ -694,8 +694,9 @@ AndroidSdkPackage *SdkManagerOutputParser::parsePlatform(const QStringList &data
return nullptr;
}
platform = new SdkPlatform(packageData.revision, data.at(0), apiLevel);
platform->setDescriptionText(packageData.description);
platform->setExtension(convertNameToExtension(packageData.headerParts.at(1)));
platform->setInstalledLocation(packageData.installedLocation);
platform->setDescriptionText(packageData.description);
} else {
qCDebug(sdkManagerLog) << "Platform: Parsing failed. Minimum required data unavailable:"
<< data;

View File

@@ -149,7 +149,9 @@ QVariant AndroidSdkModel::data(const QModelIndex &index, int role) const
const SdkPlatform *platform = m_sdkPlatforms.at(index.row() - 1);
if (role == Qt::DisplayRole) {
if (index.column() == packageNameColumn) {
QString androidName = AndroidManager::androidNameForApiLevel(platform->apiLevel());
const QString androidName = AndroidManager::androidNameForApiLevel(
platform->apiLevel())
+ platform->extension();
if (androidName.startsWith("Android"))
return androidName;
else

View File

@@ -74,6 +74,16 @@ void AndroidSdkPackage::setInstalledLocation(const Utils::FilePath &path)
updatePackageDetails();
}
void AndroidSdkPackage::setExtension(const QString &extension)
{
m_extension = extension;
}
QString AndroidSdkPackage::extension() const
{
return m_extension;
}
void AndroidSdkPackage::updatePackageDetails()
{

View File

@@ -56,6 +56,7 @@ public:
QString displayText() const;
QString descriptionText() const;
QString extension() const;
const QVersionNumber &revision() const;
PackageState state() const;
const QString &sdkStylePath() const;
@@ -66,6 +67,7 @@ protected:
void setDescriptionText(const QString &str);
void setState(PackageState state);
void setInstalledLocation(const Utils::FilePath &path);
void setExtension(const QString &extension);
virtual void updatePackageDetails();
@@ -75,6 +77,7 @@ private:
QVersionNumber m_revision;
PackageState m_state = PackageState::Unknown;
QString m_sdkStylePath;
QString m_extension;
Utils::FilePath m_installedLocation;
friend class Internal::SdkManagerOutputParser;

View File

@@ -154,5 +154,13 @@ int platformNameToApiLevel(const QString &platformName)
return apiLevel;
}
QString convertNameToExtension(const QString &name)
{
if (name.endsWith("ext4"))
return " Extension 4";
return {};
}
} // namespace Internal
} // namespace Android

View File

@@ -10,6 +10,7 @@ const char avdManufacturerError[] = "no longer exists as a device";
AndroidDeviceInfoList parseAvdList(const QString &output, Utils::FilePaths *avdErrorPaths);
int platformNameToApiLevel(const QString &platformName);
QString convertNameToExtension(const QString &name);
} // namespace Internal
} // namespace Android