summaryrefslogtreecommitdiff
path: root/liblight
diff options
context:
space:
mode:
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))