diff options
author | Robert Griebl <robert.griebl@qt.io> | 2023-09-25 14:43:57 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-09-25 22:26:28 +0000 |
commit | aaf5b9a4fe716675d16a7a4c067e2bc9d3bd2b00 (patch) | |
tree | bbe1dbf4360a1f183c545d36612e6adf5fcf15f3 | |
parent | 9dec62a6f089f5aa1c68360d533b91decd531a08 (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.cpp | 14 |
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); |