diff options
author | Jarek Kobus <[email protected]> | 2024-04-18 15:57:25 +0200 |
---|---|---|
committer | Jarek Kobus <[email protected]> | 2024-04-22 12:43:20 +0000 |
commit | a204bd23046a2d0567ca7b878821c4f04e12664f (patch) | |
tree | 5679be91c5f3366b168c6bbb72eac450964fd765 /src/plugins/android/androidsdkmanager.cpp | |
parent | 3a4784ea6cde2e375266db55632355dc73ff2165 (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.cpp | 26 |
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); |