}
}
-static void broadcast_lock_changed(enum syscommon_deviced_display_state state)
+static int display_state_lock_type_to_power_lock(enum syscommon_deviced_display_state display_state_lock)
{
- int nlock = 0;
-
- switch(state) {
+ switch(display_state_lock) {
+ case SYSCOMMON_DEVICED_DISPLAY_STATE_OFF:
+ return POWER_LOCK_CPU;
case SYSCOMMON_DEVICED_DISPLAY_STATE_ON:
+ return POWER_LOCK_DISPLAY;
case SYSCOMMON_DEVICED_DISPLAY_STATE_DIM:
- case SYSCOMMON_DEVICED_DISPLAY_STATE_OFF:
- break;
+ return POWER_LOCK_DISPLAY_DIM;
default:
- return;
+ return -EINVAL;
}
+}
+
+static void broadcast_lock_changed(enum syscommon_deviced_display_state state)
+{
+ int nlock = 0;
+ int power_lock_type = 0;
+
+ power_lock_type = display_state_lock_type_to_power_lock(state);
+ if (power_lock_type < 0)
+ return;
nlock += g_list_length(g_display_fglock_list[state]);
nlock += g_list_length(g_display_bglock_list[state]);
DEVICED_PATH_DISPLAY,
DEVICED_INTERFACE_DISPLAY,
DEVICED_SIGNAL_POWER_LOCK_STATE_CHANGED,
- g_variant_new("(ii)", state, nlock));
+ g_variant_new("(ii)", power_lock_type, nlock));
}
static void broadcast_lock_watchdog_expired(pid_t pid, enum syscommon_deviced_display_state state, const char* appid, time_t locktime)