diff options
author | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2023-01-17 16:03:23 +0100 |
---|---|---|
committer | Artem Sokolovskii <artem.sokolovskii@qt.io> | 2023-02-03 10:42:45 +0000 |
commit | 020320ab784401b4a240ee242b2298568482db57 (patch) | |
tree | 09ba7146d80e3d7a527d38fd51d70a6e6230a4d9 | |
parent | 7c6a00b4e703b0d976f79598829531e8646f1ce0 (diff) | |
download | qt-creator-020320ab784401b4a240ee242b2298568482db57.tar.gz |
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>
-rw-r--r-- | src/plugins/android/androidsdkmanager.cpp | 3 | ||||
-rw-r--r-- | src/plugins/android/androidsdkmodel.cpp | 4 | ||||
-rw-r--r-- | src/plugins/android/androidsdkpackage.cpp | 10 | ||||
-rw-r--r-- | src/plugins/android/androidsdkpackage.h | 3 | ||||
-rw-r--r-- | src/plugins/android/avdmanageroutputparser.cpp | 8 | ||||
-rw-r--r-- | src/plugins/android/avdmanageroutputparser.h | 1 |
6 files changed, 27 insertions, 2 deletions
diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp index 486acf5984..e8598674b7 100644 --- a/src/plugins/android/androidsdkmanager.cpp +++ b/src/plugins/android/androidsdkmanager.cpp @@ -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; diff --git a/src/plugins/android/androidsdkmodel.cpp b/src/plugins/android/androidsdkmodel.cpp index 00924f298f..4bf70f6b85 100644 --- a/src/plugins/android/androidsdkmodel.cpp +++ b/src/plugins/android/androidsdkmodel.cpp @@ -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 diff --git a/src/plugins/android/androidsdkpackage.cpp b/src/plugins/android/androidsdkpackage.cpp index eb56969190..ceae739773 100644 --- a/src/plugins/android/androidsdkpackage.cpp +++ b/src/plugins/android/androidsdkpackage.cpp @@ -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() { diff --git a/src/plugins/android/androidsdkpackage.h b/src/plugins/android/androidsdkpackage.h index f2926962d2..2420700664 100644 --- a/src/plugins/android/androidsdkpackage.h +++ b/src/plugins/android/androidsdkpackage.h @@ -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; diff --git a/src/plugins/android/avdmanageroutputparser.cpp b/src/plugins/android/avdmanageroutputparser.cpp index afb698a32d..eb252a2db7 100644 --- a/src/plugins/android/avdmanageroutputparser.cpp +++ b/src/plugins/android/avdmanageroutputparser.cpp @@ -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 diff --git a/src/plugins/android/avdmanageroutputparser.h b/src/plugins/android/avdmanageroutputparser.h index 77a6491dac..ac65fce02b 100644 --- a/src/plugins/android/avdmanageroutputparser.h +++ b/src/plugins/android/avdmanageroutputparser.h @@ -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 |