summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2017-11-07 17:54:50 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2017-11-07 18:12:11 +0900
commitd95921aa94d46f3d9748690ffa6c3300db5b6843 (patch)
tree7e1e7d8709c3f14d01b42a2a1a106f2027c48498
parent7ad0e32937b67ee4c4e77f3374c47bc7966fe514 (diff)
add homescreen feature to get shortcut pushed event
Change-Id: Ic3f4aebcd59d018d75f38f8041f86cdd003604f2 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r--app/app.pro2
-rw-r--r--app/main.cpp20
-rw-r--r--package/config.xml1
3 files changed, 22 insertions, 1 deletions
diff --git a/app/app.pro b/app/app.pro
index bc070f8..6835583 100644
--- a/app/app.pro
+++ b/app/app.pro
@@ -5,7 +5,7 @@ HEADERS = qlibwindowmanager.h qlibsoundmanager.h
SOURCES = main.cpp qlibwindowmanager.cpp qlibsoundmanager.cpp
CONFIG += link_pkgconfig
-PKGCONFIG += libwindowmanager libsoundmanager
+PKGCONFIG += libwindowmanager libsoundmanager libhomescreen
RESOURCES += \
mediaplayer.qrc \
diff --git a/app/main.cpp b/app/main.cpp
index 2aac877..4c406e6 100644
--- a/app/main.cpp
+++ b/app/main.cpp
@@ -29,7 +29,9 @@
#include <QQuickWindow>
#include "qlibwindowmanager.h"
#include "qlibsoundmanager.h"
+#include <libhomescreen.hpp>
+static LibHomeScreen* hs;
static QLibWindowmanager* qwm;
static QLibSoundmanager* smw;
static std::string myname = std::string("MediaPlayer");
@@ -63,6 +65,10 @@ int main(int argc, char *argv[])
query.addQueryItem(QStringLiteral("token"), secret);
bindingAddress.setQuery(query);
context->setContextProperty(QStringLiteral("bindingAddress"), bindingAddress);
+
+ std::string token = secret.toStdString();
+
+ hs = new LibHomeScreen();
qwm = new QLibWindowmanager();
smw = new QLibSoundmanager();
@@ -82,6 +88,20 @@ int main(int argc, char *argv[])
QObject *root = engine.rootObjects().first();
int sourceID = root->property("sourceID").toInt();
smw->connect(sourceID, "default");
+ });
+
+ // HomeScreen
+ hs->init(port, token.c_str());
+ hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [qwm](json_object *object){
+ const char *appname = json_object_get_string(
+ json_object_object_get(object, "application_name"));
+ if(myname == appname)
+ {
+ qDebug("Surface %s got tapShortcut\n", appname);
+ qwm->activateSurface(myname.c_str());
+ }
+ });
+
// SoundManager, event handler is set inside smw
smw->init(port, secret);
diff --git a/package/config.xml b/package/config.xml
index 36db02a..480aadd 100644
--- a/package/config.xml
+++ b/package/config.xml
@@ -10,6 +10,7 @@
<param name="mediaplayer" value="ws" />
<param name="windowmanager" value="ws" />
<param name="soundmanager" value="ws" />
+ <param name="homescreen" value="ws" />
<param name="Bluetooth-Manager" value="ws" />
</feature>
<feature name="urn:AGL:widget:required-permission">