summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--exynos4/exynos4210/liblights/lights.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/exynos4/exynos4210/liblights/lights.c b/exynos4/exynos4210/liblights/lights.c
index fe1e83f..2d22b7c 100644
--- a/exynos4/exynos4210/liblights/lights.c
+++ b/exynos4/exynos4210/liblights/lights.c
@@ -254,14 +254,19 @@ set_light_buttons(struct light_device_t* dev,
#ifdef EXYNOS4210_TABLET
return 0;
#else
+ int err = 0;
+ int brightness = rgb_to_brightness(state);
load_settings();
- int err = 0;
-
pthread_mutex_lock(&g_lock);
- ALOGD("set_light_button on=%d\n", g_enable_touchlight ? 1 : 0);
- err = write_int(BUTTON_FILE, g_enable_touchlight ? 1 : 0);
+ if (brightness > 0) {
+ ALOGD("set_light_buttons on=%d\n", g_enable_touchlight ? 1 : 0);
+ err = write_int(BUTTON_FILE, g_enable_touchlight ? 1 : 0);
+ } else {
+ ALOGD("set_light_buttons off\n");
+ err = write_int(BUTTON_FILE, 0);
+ }
pthread_mutex_unlock(&g_lock);
return err;