HMI_DEBUG("wm", "%s is not registered in layers.json, then fallback as normal app", role);
if (!lid)
{
- return Err<int>("Drawing name does not match any role, Fallback is disabled");
+ return Err<int>("Drawing name does not match any role, fallback is disabled");
}
}
HMI_DEBUG("wm", "%s is not registered in layers.json, then fallback as normal app", role);
if (!lid)
{
- return "Drawing name does not match any role, Fallback is disabled";
+ return "Drawing name does not match any role, fallback is disabled";
}
}
*/
void WindowManager::surface_created(uint32_t surface_id)
{
+ this->controller->get_surface_properties(surface_id, IVI_WM_PARAM_SIZE);
+
auto layer_id = this->layers.get_layer_id(surface_id);
if (!layer_id)
{
{
unsigned req_num = g_app_list.currentRequestNumber();
HMI_SEQ_DEBUG(req_num, "set current visible app to invisible task");
+ bool found = false;
+ auto trigger = g_app_list.getRequest(req_num, &found);
+ // I don't check found == true here because this is checked in caller.
+ if(trigger.role == "homescreen")
+ {
+ HMI_SEQ_INFO(req_num, "In case of 'homescreen' visible, don't change app to invisible");
+ return WMError::SUCCESS;
+ }
+
// This task is copied from original actiavete surface
const char *drawing_name = this->rolenew2old[role].c_str();
auto const &surface_id = this->lookup_id(role.c_str());
int surface;
TaskVisible task_visible = TaskVisible::INVISIBLE;
bool end_draw_finished = true;
- bool found = false;
for (auto const &l : this->layers.mapping)
{
HMI_SEQ_DEBUG(req_num, "visible %s", act.role.c_str());
//this->lm_enddraw(act.role.c_str());
}
+ this->layout_commit();
// Change current state
this->changeCurrentState(req_num);
{
HMI_DEBUG("wm", "afb_event_push failed: %m");
}
- json_object_put(jarray);
}
void WindowManager::setTimer()
*/
void controller_hooks::surface_created(uint32_t surface_id)
{
- this->app->surface_created(surface_id);
+ this->wmgr->surface_created(surface_id);
}
void controller_hooks::surface_removed(uint32_t surface_id)
{
- this->app->surface_removed(surface_id);
+ this->wmgr->surface_removed(surface_id);
}
void controller_hooks::surface_visibility(uint32_t /*surface_id*/,