summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoungjae Cho <y0.cho@samsung.com>2020-03-10 10:36:25 +0900
committerHyotaek Shim <hyotaek.shim@samsung.com>2020-03-10 03:58:54 +0000
commitae94dbea1c7eb8dd10b41d60cf6a5bba620cf929 (patch)
treea3161e59225baf4196bce6f00d7b1ec5ab080738
parentced9414c61842e30324b8e5f4cc63a7666aad0f2 (diff)
downloaddeviced-ae94dbea1c7eb8dd10b41d60cf6a5bba620cf929.tar.gz
deviced-ae94dbea1c7eb8dd10b41d60cf6a5bba620cf929.tar.bz2
deviced-ae94dbea1c7eb8dd10b41d60cf6a5bba620cf929.zip
Change bezel state when vconf changes in LCDOFF
Change-Id: I3209c2b1c797d47420acffe4e2dbc93426662dc3 Signed-off-by: Youngjae Cho <y0.cho@samsung.com> (cherry picked from commit 836858e862deeb53959532714c5714cefc930b2f)
-rw-r--r--plugins/wearable/display/bezel.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/plugins/wearable/display/bezel.c b/plugins/wearable/display/bezel.c
index 82f01321..9d9eb3cd 100644
--- a/plugins/wearable/display/bezel.c
+++ b/plugins/wearable/display/bezel.c
@@ -21,6 +21,7 @@
#include "core/device-notifier.h"
#include "display/util.h"
#include "display/poll.h"
+#include "display/core.h"
#include "display-ops.h"
#include <hw/bezel.h>
#include <assert.h>
@@ -36,6 +37,8 @@ enum bezel_type {
BEZEL_SOFT,
};
+static enum bezel_state bezel_wakeup_control(void);
+
static struct bezel_device *bezel_dev;
static int bezel_wakeup = 0;
static int theater_mode = 0;
@@ -57,18 +60,32 @@ static void bezel_changed_cb(keynode_t *key_nodes, void *data)
static void theater_changed_cb(keynode_t *key_nodes, void *data)
{
+ enum bezel_state state;
+
assert(key_nodes);
theater_mode = vconf_keynode_get_bool(key_nodes);
_I("Theater mode: %d.", theater_mode);
+
+ if (pm_cur_state == LCD_OFF) {
+ state = bezel_wakeup_control();
+ bezel_dev->set_state(state);
+ }
}
static void goodnight_changed_cb(keynode_t *key_nodes, void *data)
{
+ enum bezel_state state;
+
assert(key_nodes);
goodnight_mode = vconf_keynode_get_bool(key_nodes);
_I("Goodnight mode: %d.", goodnight_mode);
+
+ if (pm_cur_state == LCD_OFF) {
+ state = bezel_wakeup_control();
+ bezel_dev->set_state(state);
+ }
}
static void bezel_rotary_event_cb(keynode_t *key_nodes, void *data)