use appid instead of appname in "tap_shortcut" 31/17731/1 6.99.1 6.99.2 6.99.3 6.99.4 7.90.0 guppy/6.99.1 guppy/6.99.2 guppy/6.99.3 guppy/6.99.4 guppy_6.99.1 guppy_6.99.2 guppy_6.99.3 guppy_6.99.4 halibut/7.90.0 halibut_7.90.0
authorwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Tue, 6 Nov 2018 02:11:36 +0000 (10:11 +0800)
committerwang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
Tue, 6 Nov 2018 03:07:03 +0000 (11:07 +0800)
Now In homescreen-service used application_id to identify
different application, so use appid instead of appname
in "tap_shortcut" parameter.

Bug-AGL: SPEC-1764

Change-Id: Ia7004dbbc9851e95f959e551e0427c9dc308eb9b
Signed-off-by: wang_zhiqiang <wang_zhiqiang@dl.cn.nexty-ele.com>
launcher/qml/Launcher.qml
launcher/src/applicationmodel.cpp
launcher/src/applicationmodel.h
launcher/src/main.cpp

index 6d55271..1ddfc4b 100644 (file)
@@ -75,7 +75,7 @@ ApplicationWindow {
                 if (currentId === '') {
                     pid = launcher.launch(applicationModel.id(loc.index))
                     if (1 < pid) {
-                        homescreenHandler.tapShortcut(applicationModel.name(loc.index))
+                        homescreenHandler.tapShortcut(applicationModel.appid(loc.index))
                     }
                     else {
                         console.warn("app cannot be launched!")
index 17e38fb..14e2ea1 100644 (file)
@@ -127,6 +127,12 @@ QString ApplicationModel::id(int i) const
     return data(index(i), Qt::UserRole).toString();
 }
 
+QString ApplicationModel::appid(int i) const
+{
+    QString id = data(index(i), Qt::UserRole).toString();
+    return id.split("@")[0];
+}
+
 QString ApplicationModel::name(int i) const
 {
     return data(index(i), Qt::DisplayRole).toString();
index 8398b62..71c79fc 100644 (file)
@@ -31,6 +31,7 @@ public:
 
     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
     QHash<int, QByteArray> roleNames() const override;
+    Q_INVOKABLE QString appid(int index) const;
     Q_INVOKABLE QString id(int index) const;
     Q_INVOKABLE QString name(int index) const;
     Q_INVOKABLE void move(int from, int to);
index 91a1d80..bd19036 100644 (file)
@@ -124,16 +124,8 @@ int main(int argc, char *argv[])
     homescreenHandler->init(port, token.toStdString().c_str());
 
     homescreenHandler->set_event_handler(QLibHomeScreen::Event_TapShortcut, [layoutHandler, myname](json_object *object){
-        json_object *appnameJ = nullptr;
-        if(json_object_object_get_ex(object, "application_name", &appnameJ))
-        {
-            const char *appname = json_object_get_string(appnameJ);
-            if(myname == appname)
-            {
-                qDebug("Surface %s got tapShortcut\n", appname);
-                layoutHandler->activateSurface(myname);
-            }
-        }
+       qDebug("Surface %s got tapShortcut\n", myname);
+       layoutHandler->activateSurface(myname);
     });
 
     QUrl bindingAddress;