aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuta Doi <yuta-d@witz-inc.co.jp>2018-06-13 01:37:46 +0900
committerYuta Doi <yuta-d@witz-inc.co.jp>2018-06-20 12:52:39 +0900
commit63500405461b8b6f8f792c1112835bf9f68ed4b5 (patch)
treec3ece631d188ee17863d310adc2854cf3a454dc2
parentb88b923f24dd0903d393240cd63aa3ef4efde59c (diff)
Add category "system" for showing specific app on restriction mode ON
Change-Id: Ic4d63045f98cd18b33876e4cde8d1d0a315706f0 Signed-off-by: Yuta Doi <yuta-d@witz-inc.co.jp>
-rw-r--r--src/policy_manager/db/role.db7
-rw-r--r--src/policy_manager/zipc/dummy_stm.c65
-rw-r--r--src/policy_manager/zipc/dummy_stm.h4
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_ {