aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-18 20:36:22 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-18 20:36:22 +0900
commitf567cc6cf3fc51eb3b0216b481c1f48e07fbb4ec (patch)
treefb981be495dfa65b5ed087de3a5f307855a57b86
parentcf5e35ba81dc65f73ee6d61f2bc9ee048c782883 (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>
-rw-r--r--src/app.cpp18
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;
}