diff options
-rw-r--r-- | src/policy_manager/db/role.db | 7 | ||||
-rw-r--r-- | src/policy_manager/zipc/dummy_stm.c | 65 | ||||
-rw-r--r-- | src/policy_manager/zipc/dummy_stm.h | 4 |
3 files changed, 73 insertions, 3 deletions
diff --git a/src/policy_manager/db/role.db b/src/policy_manager/db/role.db index 077e06f..fc491b0 100644 --- a/src/policy_manager/db/role.db +++ b/src/policy_manager/db/role.db @@ -17,11 +17,16 @@ }, { "category": "general", - "role": "launcher | poi | music | browser | sdl | settings | mixer | radio | hvac | dashboard | debug | phone", + "role": "launcher | poi | music | browser | sdl | mixer | radio | hvac | debug | phone", "area": "normal", "description": "For ALS, role:video is moved to category:splitable", }, { + "category": "system", + "role": "settings | dashboard", + "area": "normal", + }, + { "category": "splitable", "role": "splitable1 | splitable2 | video", "area": "normal | split.main | split.sub", diff --git a/src/policy_manager/zipc/dummy_stm.c b/src/policy_manager/zipc/dummy_stm.c index 3376987..3596de9 100644 --- a/src/policy_manager/zipc/dummy_stm.c +++ b/src/policy_manager/zipc/dummy_stm.c @@ -47,6 +47,7 @@ const char* gStmCategoryName[] = { "popup", "system_alert", "restriction", + "system", }; const int gStmCategoryNo[] = { @@ -58,6 +59,7 @@ const int gStmCategoryNo[] = { STM_CTG_NO_POPUP, STM_CTG_NO_SYSTEM_ALERT, STM_CTG_NO_RESTRICTION, + STM_CTG_NO_SYSTEM, }; const char* gStmAreaName[] = { @@ -132,6 +134,7 @@ const char* gStmLayoutNo2Name[] = { "restriction", "restriction.split.main", "restriction.split.sub", + "system", }; const char* gStmLayerName[] = { @@ -314,7 +317,8 @@ int stmTransitionState(int event, stm_state_t* state) { // Update apps layer g_prv_apps_state_car_stop = apps_state; - if (STM_TRUE == g_map_is_activated) { + if ((STM_TRUE == g_map_is_activated) + && (gStmLayoutNoSystem != apps_state)) { g_crr_state.layer[gStmLayerNoApps].state = gStmLayoutNoM1; g_crr_state.layer[gStmLayerNoApps].is_changed = STM_TRUE; } @@ -417,6 +421,25 @@ int stmTransitionState(int event, stm_state_t* state) { break; } break; + case STM_CTG_NO_SYSTEM: + switch (area_no) { + case STM_ARA_NO_NORMAL: + // Apps layer + switch (apps_state) { + case gStmLayoutNoMf: + // nop + break; + default: + g_crr_state.layer[gStmLayerNoApps].state = gStmLayoutNoSystem; + g_crr_state.layer[gStmLayerNoApps].is_changed = STM_TRUE; + break; + } + break; + default: + // nop + break; + } + break; case STM_CTG_NO_SPLITABLE: switch (area_no) { case STM_ARA_NO_NORMAL: @@ -487,6 +510,46 @@ int stmTransitionState(int event, stm_state_t* state) { } break; } + else { // (gStmRestrictionModeStateNoOn == restriction_mode_state) + switch (category_no) { + case STM_CTG_NO_MAP: + switch (area_no) { + case STM_ARA_NO_FULL: + case STM_ARA_NO_NORMAL: + case STM_ARA_NO_SPLIT_MAIN: + // Apps layer + switch (apps_state) { + case gStmLayoutNoM1: + // nop + break; + default: + g_crr_state.layer[gStmLayerNoApps].state = gStmLayoutNoM1; + g_crr_state.layer[gStmLayerNoApps].is_changed = STM_TRUE; + } + break; + } + break; + case STM_CTG_NO_SYSTEM: + switch (area_no) { + case STM_ARA_NO_NORMAL: + // Apps layer + switch (apps_state) { + case gStmLayoutNoMf: + // nop + break; + default: + g_crr_state.layer[gStmLayerNoApps].state = gStmLayoutNoSystem; + g_crr_state.layer[gStmLayerNoApps].is_changed = STM_TRUE; + break; + } + break; + default: + // nop + break; + } + break; + } + } case STM_EVT_NO_DEACTIVATE: switch (category_no) { default: diff --git a/src/policy_manager/zipc/dummy_stm.h b/src/policy_manager/zipc/dummy_stm.h index 495f8cf..cf29bbd 100644 --- a/src/policy_manager/zipc/dummy_stm.h +++ b/src/policy_manager/zipc/dummy_stm.h @@ -49,6 +49,7 @@ #define STM_CTG_NO_POPUP 0x0600 #define STM_CTG_NO_SYSTEM_ALERT 0x0700 #define STM_CTG_NO_RESTRICTION 0x0800 +#define STM_CTG_NO_SYSTEM 0x0900 // Area number #define STM_ARA_NO_FULL 0x010000 @@ -67,7 +68,7 @@ // Number of events, categories and areas #define STM_NUM_EVT 15 -//#define STM_NUM_CTG 7 +//#define STM_NUM_CTG 9 #define STM_NUM_ARA 8 // Enum for state @@ -120,6 +121,7 @@ enum stm_layout_ { gStmLayoutNoRestriction, gStmLayoutNoRestrictionSplitMain, gStmLayoutNoRestrictionSplitSub, + gStmLayoutNoSystem, }; enum stm_category_ { |