summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Sokolovskii <artem.sokolovskii@qt.io>2023-01-17 16:03:23 +0100
committerArtem Sokolovskii <artem.sokolovskii@qt.io>2023-02-03 10:42:45 +0000
commit020320ab784401b4a240ee242b2298568482db57 (patch)
tree09ba7146d80e3d7a527d38fd51d70a6e6230a4d9
parent7c6a00b4e703b0d976f79598829531e8646f1ce0 (diff)
downloadqt-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.cpp3
-rw-r--r--src/plugins/android/androidsdkmodel.cpp4
-rw-r--r--src/plugins/android/androidsdkpackage.cpp10
-rw-r--r--src/plugins/android/androidsdkpackage.h3
-rw-r--r--src/plugins/android/avdmanageroutputparser.cpp8
-rw-r--r--src/plugins/android/avdmanageroutputparser.h1
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