add homescreen feature to get shortcut pushed event
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Tue, 7 Nov 2017 08:54:50 +0000 (17:54 +0900)
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Tue, 7 Nov 2017 09:12:11 +0000 (18:12 +0900)
Change-Id: Ic3f4aebcd59d018d75f38f8041f86cdd003604f2
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
app/app.pro
app/main.cpp
package/config.xml

index bc070f8..6835583 100644 (file)
@@ -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 \
index 2aac877..4c406e6 100644 (file)
@@ -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);
 
index 36db02a..480aadd 100644 (file)
@@ -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">