aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuta Doi <yuta-d@witz-inc.co.jp>2018-05-21 10:44:38 +0900
committerYuta Doi <yuta-d@witz-inc.co.jp>2018-05-21 10:44:38 +0900
commitd05e79b0581daec84f1d164bef2aa0d6107919f6 (patch)
tree562128cdeec90567cc5a708dd64b129b1e40c8b4
parenteaea3b4b5b814505e3564513e92a53fb03748d3b (diff)
Bug Fix: When restriction app gets invisible event, other app also gets it
Change-Id: Id72543fa86007bbff7c3e77f7df78e4162bfa269 Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
-rw-r--r--src/layout_manager/layout.cpp34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/layout_manager/layout.cpp b/src/layout_manager/layout.cpp
index 27ef010..c888b0e 100644
--- a/src/layout_manager/layout.cpp
+++ b/src/layout_manager/layout.cpp
@@ -142,27 +142,30 @@ bool LayoutManager::updateLayout(json_object* obj,
if ((is_car_state_changed) && ("car_stop" == car_state)) {
// If car state is changed car_run -> car_stop,
// restore state of car stop
- HMI_DEBUG("wm:lm", "Restore state of car stop");
+ HMI_DEBUG("wm:lm", "Car state is changed car_run -> car_stop, so restore state of car stop");
crr_layout = this->prv_layers_car_stop_[layer];
}
else if ("none" == std::string(crr_layout_name)) {
- // If current layout is "none",
- // current areas is set with "none"
- TypeAreas area;
- TypeRolCtg rol_ctg;
- rol_ctg["none"] = "none";
- area["none"] = rol_ctg;
- crr_layout["none"] = area;
+ // If current layout is "none",
+ // current areas is set with "none"
+ HMI_DEBUG("wm:lm", "Current layout is \"none\"");
+ TypeAreas area;
+ TypeRolCtg rol_ctg;
+ rol_ctg["none"] = "none";
+ area["none"] = rol_ctg;
+ crr_layout["none"] = area;
}
else {
if (std::string(crr_layout_name) == prv_layout_name) {
// If previous layout is same with current,
// previous areas are copied to current
+ HMI_DEBUG("wm:lm", "Previous layout is same with current");
crr_layout[crr_layout_name] = this->prv_layers_[layer][crr_layout_name];
}
else {
// If previous layout is NOT same with current,
// current areas is set with default value
+ HMI_DEBUG("wm:lm", "Previous layout is NOT same with current");
crr_layout[crr_layout_name] = this->layout_define_[crr_layout_name];
}
@@ -171,15 +174,24 @@ bool LayoutManager::updateLayout(json_object* obj,
// Updating role is not necessary
// because new_role is not specified
// when car state is changed
+ HMI_DEBUG("wm:lm", "Updating role is not necessary because new_role is not specified when car state is changed");
}
else {
+ HMI_DEBUG("wm:lm", "Get new_area for new role");
// Get new_area for new role
std::string new_area = this->getAreaName(this->layout_define_[crr_layout_name],
new_role, category);
- TypeRolCtg crr_role;
- crr_role["role"] = std::string(new_role);
- crr_layout[crr_layout_name][new_area] = crr_role;
+ if ("none" == new_area) {
+ HMI_DEBUG("wm:lm", "It is not necessary to update role of areas in this layer, because new_role is not specified for this layer");
+ }
+ else {
+ // Update role in new area
+ // because new_role is specified for this layer
+ TypeRolCtg crr_role;
+ crr_role["role"] = std::string(new_role);
+ crr_layout[crr_layout_name][new_area] = crr_role;
+ }
}
}