static void process_hardkey_backlight(struct input_event *pinput)
{
- _E("pinput->value : %d", pinput->value);
+ int lockscreen_state = VCONFKEY_IDLE_UNLOCK;
+
+ _D("pinput->value : %d", pinput->value);
+
+ syscommon_resman_get_resource_attr_int(
+ SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE, &lockscreen_state);
+
if (pinput->value == KEY_PRESSED) {
/* Sound & Vibrate only in unlock state */
- if (__get_lock_screen_state() == VCONFKEY_IDLE_UNLOCK
+ if (lockscreen_state == VCONFKEY_IDLE_UNLOCK
|| get_lock_screen_bg_state())
sound_vibrate_hardkey();
touchled_control_backlight(TOUCHLED_PRESS);
} else if (pinput->value == KEY_RELEASED) {
/* if lockscreen is idle lock */
- if (__get_lock_screen_state() == VCONFKEY_IDLE_LOCK) {
+ if (lockscreen_state == VCONFKEY_IDLE_LOCK) {
_D("Lock state, key backlight is off when phone is unlocked!");
return;
}
static void process_hardkey_backlight(struct input_event *pinput)
{
- _E("pinput->value : %d", pinput->value);
+ int lockscreen_state = VCONFKEY_IDLE_UNLOCK;
+
+ _D("pinput->value : %d", pinput->value);
+
+ syscommon_resman_get_resource_attr_int(
+ SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE, &lockscreen_state);
+
if (pinput->value == KEY_PRESSED) {
/* Sound & Vibrate only in unlock state */
- if (__get_lock_screen_state() == VCONFKEY_IDLE_UNLOCK
+ if (lockscreen_state == VCONFKEY_IDLE_UNLOCK
|| get_lock_screen_bg_state())
sound_vibrate_hardkey();
touchled_control_backlight(TOUCHLED_PRESS);
} else if (pinput->value == KEY_RELEASED) {
/* if lockscreen is idle lock */
- if (__get_lock_screen_state() == VCONFKEY_IDLE_LOCK) {
+ if (lockscreen_state == VCONFKEY_IDLE_LOCK) {
_D("Lock state, key backlight is off when phone is unlocked!");
return;
}
if (ret < 0)
_E("write() failed (%d)", errno);
- /* FIXME: display_plugin_get_lock_screen_state should be checked return value after modification */
snprintf(buf, sizeof(buf), "screen lock status : %d\n",
- display_plugin_get_lock_screen_state());
+ get_lock_screen_state());
ret = write(fd, buf, strlen(buf));
if (ret < 0)
_E("write() failed (%d)", errno);
struct display_plugin g_display_plugin;
-/* FIXME: return 0 can be value of get_lock_screen_state, it is hard to distinguish error or not */
-int display_plugin_get_lock_screen_state(void)
-{
- if (g_display_plugin.get_lock_screen_state)
- return g_display_plugin.get_lock_screen_state();
-
- return 0;
-}
-
int display_plugin_get_system_wakeup_flag(bool *flag)
{
*flag = g_display_plugin.system_wakeup_flag;
#define BR_IMPLICIT (-1)
struct display_plugin {
- int (*get_lock_screen_state) (void);
bool system_wakeup_flag;
int (*auto_brightness_control) (enum brightness_request_e request, int set_brightness);
/* FIXME: function names will be redefined */
};
extern struct display_plugin g_display_plugin;
-int display_plugin_get_lock_screen_state(void);
int display_plugin_get_system_wakeup_flag(bool *flag);
int display_plugin_set_system_wakeup_flag(bool flag);
int display_plugin_auto_brightness_control(enum brightness_request_e request, int set_brightness);
}
/* second priority : lock state */
- if ((__get_lock_screen_state() == VCONFKEY_IDLE_LOCK) &&
+ if ((get_lock_screen_state() == VCONFKEY_IDLE_LOCK) &&
!get_lock_screen_bg_state()) {
/* timeout is different according to key or event. */
display_plugin_state_set_timeout(SYSCOMMON_DEVICED_DISPLAY_STATE_ON, lock_screen_timeout);
if (!dimming)
return true;
- lock = __get_lock_screen_state();
+ lock = get_lock_screen_state();
if (lock != VCONFKEY_IDLE_LOCK)
return false;
else
attr_data.i32 = g_display_plugin.config->touch_wakeup;
break;
+ case DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE:
+ attr_data.i32 = get_lock_screen_state();
+ break;
default:
ret = -EINVAL;
break;
.set_3_tuple = set_tuple3_display_attr_data,
.is_supported = syscommon_resman_resource_attr_supported_always,
},
+ }, {
+ .name = "DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE",
+ .id = DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE,
+ .type = SYSCOMMON_RESMAN_DATA_TYPE_INT,
+ .flag = SYSCOMMON_RESMAN_RESOURCE_FLAG_PUBLIC,
+ .ops = {
+ .get = get_display_attr_data,
+ .is_supported = syscommon_resman_resource_attr_supported_always,
+ },
}
};
return 0;
}
-int __get_lock_screen_state(void)
+int get_lock_screen_state(void)
{
return lock_screen_state;
}
(void *)((intptr_t)i));
}
- disp_plgn->get_lock_screen_state = __get_lock_screen_state;
-
return 0;
}
extern int get_lowbatt_status(int *val);
//FIXME
-int __get_lock_screen_state(void);
+int get_lock_screen_state(void);
/*
* @}
#include <vconf.h>
#include <hal/hal-device-led.h>
#include <libsyscommon/libgdbus.h>
+#include <libsyscommon/resource-manager.h>
+#include <system/syscommon-plugin-deviced-display-interface.h>
#include "core/log.h"
#include "shared/devices.h"
static void process_touchkey_enable(bool enable)
{
+ int lockscreen_state = VCONFKEY_IDLE_UNLOCK;
+
/* release existing timer */
if (hardkey_timeout_id > 0) {
g_source_remove(hardkey_timeout_id);
touchled_set_state(true);
/* do not create turnoff timer in case of idle lock state */
- if (display_plugin_get_lock_screen_state() == VCONFKEY_IDLE_LOCK)
+ syscommon_resman_get_resource_attr_int(
+ SYSCOMMON_RESOURCE_ID(DEVICED_RESOURCE_TYPE_DISPLAY),
+ DEVICED_DISPLAY_ATTR_INT_LOCKSCREEN_STATE, &lockscreen_state);
+ if (lockscreen_state == VCONFKEY_IDLE_LOCK)
return;
/* start timer */