From 053c8f803bb25433dab1202ca02a839c739d3923 Mon Sep 17 00:00:00 2001 From: wang_zhiqiang Date: Tue, 6 Nov 2018 10:11:36 +0800 Subject: use appid instead of appname in "tap_shortcut" 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 --- launcher/qml/Launcher.qml | 2 +- launcher/src/applicationmodel.cpp | 6 ++++++ launcher/src/applicationmodel.h | 1 + launcher/src/main.cpp | 12 ++---------- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/launcher/qml/Launcher.qml b/launcher/qml/Launcher.qml index 6d55271..1ddfc4b 100644 --- a/launcher/qml/Launcher.qml +++ b/launcher/qml/Launcher.qml @@ -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!") diff --git a/launcher/src/applicationmodel.cpp b/launcher/src/applicationmodel.cpp index 17e38fb..14e2ea1 100644 --- a/launcher/src/applicationmodel.cpp +++ b/launcher/src/applicationmodel.cpp @@ -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(); diff --git a/launcher/src/applicationmodel.h b/launcher/src/applicationmodel.h index 8398b62..71c79fc 100644 --- a/launcher/src/applicationmodel.h +++ b/launcher/src/applicationmodel.h @@ -31,6 +31,7 @@ public: QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; QHash 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); diff --git a/launcher/src/main.cpp b/launcher/src/main.cpp index 91a1d80..bd19036 100644 --- a/launcher/src/main.cpp +++ b/launcher/src/main.cpp @@ -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; -- cgit 1.2.3-korg