diff options
Diffstat (limited to 'liblight/lights.c')
-rw-r--r-- | liblight/lights.c | 13 |
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)) |