sample/app: Minor tweaks
[apps/onscreenapp.git] / sample / app / main.qml
index 2feab6d..609c637 100644 (file)
@@ -22,6 +22,9 @@ ApplicationWindow {
     property int pid: -1
     property bool onscreen_role_set: false
 
+    property string mapp_id: ''
+    property string mapp_data_msg: ''
+
     Label {
         id: title
         width: parent.width
@@ -318,6 +321,26 @@ ApplicationWindow {
         onsButton3 = qsTr("")
     }
 
+    Timer {
+               id: activate_timer
+               interval: 500
+               running: false
+               repeat: false
+               onTriggered: {
+                       console.log("calling eventHandler.showWindow for " + mapp_id + " and data msg " + mapp_data_msg)
+                       eventHandler.showWindow(mapp_id, mapp_data_msg)
+                       mapp_id = ''
+                       mapp_data_msg = ''
+               }
+    }
+
+
+    function armTimer(app_id, msg) {
+       mapp_id = app_id
+       mapp_data_msg = msg
+       activate_timer.running = true
+    }
+
     function postMessage() {
         console.log("poster pressed")
         btndata = ""
@@ -354,11 +377,17 @@ ApplicationWindow {
                // we start we also display it using the default policy engine
                pid = eventHandler.start(onsId, postmsg)
                console.log("calling eventHandler.start for " + onsId + " with pid " + pid)
+
+               // this is necessary jus the first time as we don't queue the
+               // 'activate_app' event and pass it over once onscreenapp is
+               // started. It is implementation detail in case it is required
+               console.log("calling armTimer for " + onsId)
+               armTimer(onsId, postmsg)
        } else {
-               // we just need to display it
-               console.log("calling eventHandler.showWindow for " + onsId)
-               eventHandler.showWindow(onsId, postmsg)
+               // onscreenapp is already start we just need to activate + pass the data
+               eventHandler.showWindow(mapp_id, mapp_data_msg)
        }
+
     }
 
     function qmlOnReplyShowWindow(text) {