diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-06-18 20:36:22 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-06-18 20:36:22 +0900 |
commit | f567cc6cf3fc51eb3b0216b481c1f48e07fbb4ec (patch) | |
tree | fb981be495dfa65b5ed087de3a5f307855a57b86 /src | |
parent | cf5e35ba81dc65f73ee6d61f2bc9ee048c782883 (diff) |
Bug Fix : sub surface is not rendered
When transition from HomeScreen to splitted HVAC,
HVAC was still half.
Fix the bug
Change-Id: I0237b72cfe687814ec2944073a36f964084cd466
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src')
-rw-r--r-- | src/app.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/app.cpp b/src/app.cpp index 6689148..90d2512 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -339,6 +339,8 @@ void App::surface_set_layout(int surface_id, const std::string& area) auto const &layer = this->layers.get_layer(layer_id); auto rect = this->layers.getAreaSize(area); + HMI_SEQ_DEBUG(g_app_list.currentRequestNumber(), "%s : x:%d y:%d w:%d h:%d", area.c_str(), + rect.x, rect.y, rect.w, rect.h); auto &s = this->controller->surfaces[surface_id]; int x = rect.x; @@ -610,6 +612,12 @@ WMError App::checkPolicy(unsigned req_num) /* get new status from Policy Manager */ HMI_SEQ_NOTICE(req_num, "ATM, Policy manager does't exist, then set WMAction as is"); + if(trigger.role == "HomeScreen") + { + // TODO : Remove when Policy Manager completed + HMI_SEQ_NOTICE(req_num, "Hack. This process will be removed. Change HomeScreen code!!"); + req_area = "fullscreen"; + } TaskVisible task_visible = (trigger.task == Task::TASK_ALLOCATE) ? TaskVisible::VISIBLE : TaskVisible::INVISIBLE; ret = g_app_list.setAction(req_num, trigger.appid, trigger.role, req_area, task_visible); @@ -687,6 +695,7 @@ WMError App::setInvisibleTask(const std::string &role, bool split) { continue; } + HMI_DEBUG("wm", "debug: main %d , sub : %d", l.second.state.main, l.second.state.sub); if (l.second.state.main != -1) { //this->deactivate(l.second.state.main); @@ -1133,8 +1142,8 @@ WMError App::changeCurrentState(unsigned req_num) if(!g_app_list.contains(action.appid)){ return WMError::NOT_REGISTERED; } - auto client = g_app_list.lookUpClient(trigger.appid); - auto pCurState = *this->layers.get_layout_state((int)client->surfaceID(trigger.role)); + auto client = g_app_list.lookUpClient(action.appid); + auto pCurState = *this->layers.get_layout_state((int)client->surfaceID(action.role)); if(pCurState == nullptr) { HMI_SEQ_ERROR(req_num, "Counldn't find current status"); @@ -1159,13 +1168,14 @@ WMError App::changeCurrentState(unsigned req_num) if (action.visible != TaskVisible::INVISIBLE) { surface = (int)client->surfaceID(action.role); - HMI_SEQ_INFO(req_num, "Change %s state visible area : %s", action.role.c_str(), action.area.c_str()); + HMI_SEQ_INFO(req_num, "Change %s surface : %d, state visible area : %s", + action.role.c_str(), surface, action.area.c_str()); // visible == true -> layout changes if(action.area == "normal.full" || action.area == "split.main") { pLayerCurState->main = surface; } - else if(action.role == "split.sub") + else if (action.area == "split.sub") { pLayerCurState->sub = surface; } |