return -1;
}
- hs->set_event_handler(LibHomeScreen::Event_TapShortcut, [](json_object *object){
- const char *application_name = json_object_get_string(
- json_object_object_get(object, "application_name"));
- HMI_DEBUG("simple-egl","Event_TapShortcut application_name = %s ", application_name);
- if(strcmp(application_name, app_name.c_str()) == 0)
- {
- 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;