summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Griebl <robert.griebl@qt.io>2023-09-25 14:43:57 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-09-25 22:26:28 +0000
commitaaf5b9a4fe716675d16a7a4c067e2bc9d3bd2b00 (patch)
treebbe1dbf4360a1f183c545d36612e6adf5fcf15f3
parent9dec62a6f089f5aa1c68360d533b91decd531a08 (diff)
Add missing fields to AI::taskRequestingInstallationAcknowledge
The ApplicationInstaller API is deprecated and cannot supply all the information the newer PackageManager API can do, especially when having packages with multiple apps. In the case of single-app packages, the AI API should however report everything it can to be as backwards compatible as possible. Change-Id: I11341832a64734eaf87220b9cdd735c4ebbcd32f Pick-to: 6.2 5.15 Reviewed-by: Dominik Holland <dominik.holland@qt.io> (cherry picked from commit a4c0ac1c5eda8c9cb7eb5cfb7f50f852eedccd3b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit c33b6c63daef0d494c80b18ac66fc55793a37c8c)
-rw-r--r--src/main-lib/applicationinstaller.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/main-lib/applicationinstaller.cpp b/src/main-lib/applicationinstaller.cpp
index 849c4156..792a6023 100644
--- a/src/main-lib/applicationinstaller.cpp
+++ b/src/main-lib/applicationinstaller.cpp
@@ -135,6 +135,20 @@ ApplicationInstaller::ApplicationInstaller(PackageManager *pm, QObject *parent)
{ qSL("manifestDir"), baseDir }, // 5.12 compatibility
{ qSL("installationLocationId"), qSL("internal-0") } // 5.13 compatibility
};
+ if (package->applications().size() == 1) {
+ // legacy support for single-application packages
+ auto app = static_cast<Application *>(package->applications().first());
+
+ applicationData[qSL("codeFilePath")] = app->info()->codeFilePath();
+ applicationData[qSL("runtimeName")] = app->runtimeName();
+ applicationData[qSL("runtimeParameters")] = app->runtimeParameters();
+ applicationData[qSL("capabilities")] = app->capabilities();
+ applicationData[qSL("mimeTypes")] = app->supportedMimeTypes();
+ applicationData[qSL("categories")] = app->categories();
+ applicationData[qSL("supportsApplicationInterface")] = app->supportsApplicationInterface()
+ ? QStringLiteral("true") : QString();
+ applicationData[qSL("dlt")] = app->info()->dltConfiguration();
+ }
emit taskRequestingInstallationAcknowledge(taskId, applicationData, packageExtraMetaData,
packageExtraSignedMetaData);