Update vconf key for current brt in every case.
authorsh.pi <sh.pi@samsung.com>
Thu, 18 Apr 2013 06:23:55 +0000 (15:23 +0900)
committersh.pi <sh.pi@samsung.com>
Thu, 18 Apr 2013 06:23:55 +0000 (15:23 +0900)
OSP wants to know about the time of brightness changed.
but there's bug that vconf of brightness is not updated for every case.
then fix the bug.

pm_llinterface.c
pm_lsensor.c

index b9df190..8482b65 100644 (file)
@@ -77,12 +77,24 @@ static int _bl_onoff(PMSys *p, int onoff)
        return device_set_property(DEVICE_TYPE_DISPLAY, cmd, onoff);
 }
 
-static int _bl_brt(PMSys *p, int brightness)
+static int _bl_brt(PMSys *p, int brt)
 {
        int cmd;
+       int ret;
+       int old_brt;
+
        COMBINE_DISP_CMD(cmd, PROP_DISPLAY_BRIGHTNESS, DEFAULT_DISPLAY);
-       int ret = device_set_property(DEVICE_TYPE_DISPLAY, cmd, brightness);
-       LOGERR("set brightness %d,%d %d", DEFAULT_DISPLAY, brightness, ret);
+       ret = device_get_property(DEVICE_TYPE_DISPLAY, cmd, &old_brt);
+
+       /* Update new brightness to vconf */
+       if (!ret && (brt != old_brt))
+               vconf_set_int(VCONFKEY_PM_CURRENT_BRIGHTNESS, brt);
+
+       /* Update device brightness */
+       ret = device_set_property(DEVICE_TYPE_DISPLAY, cmd, brt);
+
+       LOGERR("set brightness %d,%d %d", DEFAULT_DISPLAY, brt, ret);
+
        return ret;
 }
 
@@ -245,14 +257,8 @@ int backlight_off()
 int backlight_dim()
 {
        int ret = 0;
-       int cmd;
-       int brightness;
 
        if (pmsys && pmsys->bl_brt) {
-               COMBINE_DISP_CMD(cmd, PROP_DISPLAY_BRIGHTNESS, DEFAULT_DISPLAY);
-               ret = device_get_property(DEVICE_TYPE_DISPLAY, cmd, &brightness);
-               if (!ret && pmsys->dim_brt != brightness)
-                       vconf_set_int(VCONFKEY_PM_CURRENT_BRIGHTNESS, pmsys->dim_brt);
                ret = pmsys->bl_brt(pmsys, pmsys->dim_brt);
        }
        return ret;
index 646bc14..71d6fdf 100644 (file)
@@ -69,7 +69,6 @@ static gboolean alc_handler(gpointer data)
                                if (tmp_value != value) {
                                        set_default_brt(value);
                                        backlight_restore();
-                                       vconf_set_int(VCONFKEY_PM_CURRENT_BRIGHTNESS, value);
                                }
                                LOGINFO("load light data : %d, brightness : %d", (int)light_data.values[0], value);
                        }