aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEgor Nemtsev <enemtsev@luxoft.com>2020-08-17 22:53:29 +0300
committerNikolay Zamotaev <nzamotaev@luxoft.com>2020-08-19 11:39:27 +0000
commite17a5b6f144492e3447afb4869115f0a85fa076a (patch)
tree2b2f7c62a1484011bfc285e96f60fed89982f82b
parent8f1e07d327b1be51b2b971582ef69bb2f9595a17 (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>
-rw-r--r--apps/com.pelagicore.downloads/controls/DownloadAppList.qml7
-rw-r--r--apps/com.pelagicore.downloads/stores/DownloadsStore.qml13
-rw-r--r--apps/com.pelagicore.downloads/stores/ServerConfig.qml10
-rw-r--r--apps/com.pelagicore.downloads/views/DownloadsView.qml2
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); }