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
diff --git a/liblight/lights.c b/liblight/lights.c
index 6fd1290..2b42358 100644
--- a/liblight/lights.c
+++ b/liblight/lights.c
@@ -194,6 +194,17 @@
 }
 
 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 @@
 
     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))