summaryrefslogtreecommitdiff
path: root/liblight
diff options
context:
space:
mode:
authorMao Li <maol@codeaurora.org>2014-06-16 23:05:17 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2014-06-22 20:29:10 -0700
commita4e053a44f2fc56b90b00167b03e6647bdfa9b1b (patch)
tree823e5c6743a31fd36788de549ad41a0e751a7f0d /liblight
parentd11e4678921c7201ac706cc9312c5460cfb9f4a5 (diff)
downloaddisplay-a4e053a44f2fc56b90b00167b03e6647bdfa9b1b.tar.gz
liblight: add support for battery light
Add contolling interface for battery light, battery service from Android could control the led and show the status of battery. CRs-fixed: 683915 Change-Id: I6b112621ba1161a374055f9baab95cf766e5d7e4
Diffstat (limited to 'liblight')
-rw-r--r--liblight/lights.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/liblight/lights.c b/liblight/lights.c
index 6fd12904..2b423586 100644
--- a/liblight/lights.c
+++ b/liblight/lights.c
@@ -194,6 +194,17 @@ handle_speaker_battery_locked(struct light_device_t* dev)
}
static int
+set_light_battery(struct light_device_t* dev,
+ struct light_state_t const* state)
+{
+ pthread_mutex_lock(&g_lock);
+ g_battery = *state;
+ handle_speaker_battery_locked(dev);
+ pthread_mutex_unlock(&g_lock);
+ return 0;
+}
+
+static int
set_light_notifications(struct light_device_t* dev,
struct light_state_t const* state)
{
@@ -259,6 +270,8 @@ static int open_lights(const struct hw_module_t* module, char const* name,
if (0 == strcmp(LIGHT_ID_BACKLIGHT, name))
set_light = set_light_backlight;
+ else if (0 == strcmp(LIGHT_ID_BATTERY, name))
+ set_light = set_light_battery;
else if (0 == strcmp(LIGHT_ID_NOTIFICATIONS, name))
set_light = set_light_notifications;
else if (0 == strcmp(LIGHT_ID_BUTTONS, name))