aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/android/androidsdkmanager.cpp
diff options
context:
space:
mode:
authorJarek Kobus <[email protected]>2024-04-18 15:57:25 +0200
committerJarek Kobus <[email protected]>2024-04-22 12:43:20 +0000
commita204bd23046a2d0567ca7b878821c4f04e12664f (patch)
tree5679be91c5f3366b168c6bbb72eac450964fd765 /src/plugins/android/androidsdkmanager.cpp
parent3a4784ea6cde2e375266db55632355dc73ff2165 (diff)
Android: Decouple missing packages logic from UI
There is no need to modify UI selection in order to execute installation / deinstallation. Change-Id: I205477e5ff0e7b07bfbcd6b5f8f985fcb180884e Reviewed-by: <[email protected]> Reviewed-by: Alessandro Portale <[email protected]>
Diffstat (limited to 'src/plugins/android/androidsdkmanager.cpp')
-rw-r--r--src/plugins/android/androidsdkmanager.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/plugins/android/androidsdkmanager.cpp b/src/plugins/android/androidsdkmanager.cpp
index 50e4d5e01d8..6dacf6d15fc 100644
--- a/src/plugins/android/androidsdkmanager.cpp
+++ b/src/plugins/android/androidsdkmanager.cpp
@@ -215,6 +215,32 @@ const AndroidSdkPackageList &AndroidSdkManager::allSdkPackages()
return m_d->allPackages();
}
+QStringList AndroidSdkManager::notFoundEssentialSdkPackages()
+{
+ QStringList essentials = androidConfig().allEssentials();
+ const AndroidSdkPackageList &packages = allSdkPackages();
+ for (AndroidSdkPackage *package : packages) {
+ essentials.removeOne(package->sdkStylePath());
+ if (essentials.isEmpty())
+ return {};
+ }
+ return essentials;
+}
+
+QStringList AndroidSdkManager::missingEssentialSdkPackages()
+{
+ const QStringList essentials = androidConfig().allEssentials();
+ const AndroidSdkPackageList &packages = allSdkPackages();
+ QStringList missingPackages;
+ for (AndroidSdkPackage *package : packages) {
+ if (essentials.contains(package->sdkStylePath())
+ && package->state() != AndroidSdkPackage::Installed) {
+ missingPackages.append(package->sdkStylePath());
+ }
+ }
+ return missingPackages;
+}
+
AndroidSdkPackageList AndroidSdkManager::installedSdkPackages()
{
return m_d->filteredPackages(AndroidSdkPackage::Installed, AndroidSdkPackage::AnyValidType);