add new features in homescreen-service and homescreen
[src/libhomescreen.git] / sample / simple-egl / src / simple-egl.cpp
index 4271a66..aa6ea19 100644 (file)
@@ -569,9 +569,17 @@ init_hs(LibHomeScreen* hs){
                return -1;
        }
 
-       hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [](json_object *object){
-               HMI_DEBUG("simple-egl","try to activesurface %s ", app_name.c_str());
-               wm->activateWindow(main_role);
+       hs->set_event_handler(LibHomeScreen::Event_ShowWindow, [hs](json_object *object){
+               HMI_DEBUG("simple-egl","try to activeWindow %s ", app_name.c_str());
+
+               struct json_object *param_obj = json_object_object_get(object, hs->_keyParameter);
+               const char *area = json_object_get_string(
+                       json_object_object_get(param_obj, hs->_keyArea));
+               // Application should call LibWindowmanager::activateWindow() in showWindow handler
+               if(area == nullptr)
+                       wm->activateWindow(main_role, hs->_areaNormal);
+               else
+                       wm->activateWindow(main_role, area);
        });
 
        return 0;