diff options
author | Egor Nemtsev <enemtsev@luxoft.com> | 2020-08-17 22:53:29 +0300 |
---|---|---|
committer | Nikolay Zamotaev <nzamotaev@luxoft.com> | 2020-08-19 11:39:27 +0000 |
commit | e17a5b6f144492e3447afb4869115f0a85fa076a (patch) | |
tree | 2b2f7c62a1484011bfc285e96f60fed89982f82b | |
parent | 8f1e07d327b1be51b2b971582ef69bb2f9595a17 (diff) |
[downloads] add tag with build_target to /hello, new deployment APIv5.15.0_QtAS
- for all apps on deployment server we should define whether they run on desktop or
embedded system. This should be done as we have same arch on linux for desktop and embedded,
e.g. NUC systems. For some apps that don't have C++ plugins both tags should be added while
packaging.
- added new icon and purchase API according to DS changes
this should only be merged when Deployment Server is fixed for reverse tags and updated on qt.io
Task-number: AUTOSUITE-1213
Task-number: AUTOSUITE-1214
Change-Id: I7d20d32c52a3575bba56c9dea84e3fc3b17463a8
Reviewed-by: Svetlana Abramenkova <sabramenkova@luxoft.com>
4 files changed, 20 insertions, 12 deletions
diff --git a/apps/com.pelagicore.downloads/controls/DownloadAppList.qml b/apps/com.pelagicore.downloads/controls/DownloadAppList.qml index 6a0ea71c..a1f46251 100644 --- a/apps/com.pelagicore.downloads/controls/DownloadAppList.qml +++ b/apps/com.pelagicore.downloads/controls/DownloadAppList.qml @@ -46,7 +46,7 @@ ListView { property var applicationModel property real currentInstallationProgress - signal toolClicked(string appId, string appName) + signal toolClicked(string appId, string appName, string purchaseId, string iconUrl) signal appClicked(string appId) function refreshAppsInfo(isPackageInstalledByPackageControllerFunc, @@ -74,8 +74,7 @@ ListView { property bool packageBuiltIn: model.packageBuiltIn width: Sizes.dp(720); height: Sizes.dp(100) - icon.source: root.appServerUrl + "/app/icon?id=" + model.id - + "&architecture=" + root.cpuArch + icon.source: model.iconUrl text: model.name subText: model.id secondaryText: delegatedItem.isInstalled ? delegatedItem.packageSizeText @@ -93,7 +92,7 @@ ListView { if (!delegatedItem.isInstalled) { root.currentIndex = index; } - root.toolClicked(model.id, model.name); + root.toolClicked(model.id, model.name, model.purchaseId, model.iconUrl); } onClicked: root.appClicked(model.id) diff --git a/apps/com.pelagicore.downloads/stores/DownloadsStore.qml b/apps/com.pelagicore.downloads/stores/DownloadsStore.qml index b73880aa..4aeb72ec 100644 --- a/apps/com.pelagicore.downloads/stores/DownloadsStore.qml +++ b/apps/com.pelagicore.downloads/stores/DownloadsStore.qml @@ -71,17 +71,15 @@ Item { else return qsTr("%1 GB").arg((bytes / 1073741824).toFixed(2)); } - function download(packageId, name) { + function download(packageId, name, purchaseId, iconUrl) { if (isPackageBusy(packageId)) { console.warn("Package busy... Abort download"); return; } var url = appStoreConfig.serverUrl + "/app/purchase"; - var data = {"id": packageId, "device_id" : "00-11-22-33-44-55" }; - var icon = root.appServerUrl - + "/app/icon?id=" + packageId - + "&architecture=" + root.cpuArch; + var data = {"purchaseId": purchaseId, "device_id" : "00-11-22-33-44-55" }; + var icon = iconUrl JSONBackend.serverCall(url, data, function(data) { if (data !== 0) { @@ -296,6 +294,7 @@ Item { ServerConfig { id: appStoreConfig cpuArch: sysinfo.cpu + "-" + sysinfo.kernel + qtVersion: sysinfo.qtVersion } ListModel { @@ -354,7 +353,9 @@ Item { "name": app.name, "isInstalled": isInstalled, "packageSizeText": isInstalled ? getInstalledPackageSizeText(app.id) : "", - "packageBuiltIn": isInstalled ? isPackageBuiltIn(app.id) : false + "packageBuiltIn": isInstalled ? isPackageBuiltIn(app.id) : false, + "purchaseId": app.purchaseId, + "iconUrl": app.iconUrl }); } appModel.append(appList) diff --git a/apps/com.pelagicore.downloads/stores/ServerConfig.qml b/apps/com.pelagicore.downloads/stores/ServerConfig.qml index 425f5f00..9df51653 100644 --- a/apps/com.pelagicore.downloads/stores/ServerConfig.qml +++ b/apps/com.pelagicore.downloads/stores/ServerConfig.qml @@ -40,6 +40,7 @@ QtObject { id: root property string cpuArch + property string qtVersion property string serverUrl: ApplicationManager.systemProperties.appStoreServerUrl property string userName: ApplicationManager.systemProperties.userName property string userPassword: ApplicationManager.systemProperties.userPassword @@ -60,7 +61,14 @@ QtObject { console.log(Logging.apps, "Neptune-UI::Application Store - Check Server"); root.tryConnectToServer(); var url = root.serverUrl + "/hello"; - var data = {"platform" : "NEPTUNE3", "version" : "2", "architecture": root.cpuArch}; + var data = { + "platform" : "NEPTUNE3", + "version" : "2", + "architecture": root.cpuArch, + "require_tag" : + "build_target:" + (WindowManager.runningOnDesktop ? "desktop" : "embedded") + + ",qt:" + root.qtVersion + }; JSONBackend.setErrorFunction(0); JSONBackend.serverCall(url, data, function(data) { if (data !== 0) { diff --git a/apps/com.pelagicore.downloads/views/DownloadsView.qml b/apps/com.pelagicore.downloads/views/DownloadsView.qml index 6de543eb..f2f69398 100644 --- a/apps/com.pelagicore.downloads/views/DownloadsView.qml +++ b/apps/com.pelagicore.downloads/views/DownloadsView.qml @@ -206,7 +206,7 @@ Item { if (root.store.isPackageInstalledByPackageController(appId)) { root.store.uninstallPackage(appId, appName); } else { - root.store.download(appId, appName); + root.store.download(appId, appName, purchaseId, iconUrl); } } onAppClicked: { root.store.tryStartApp(appId); } |