Add logic for app brightness
authorjy910.yun <jy910.yun@samsung.com>
Fri, 21 Jun 2013 12:38:16 +0000 (21:38 +0900)
committerjy910.yun <jy910.yun@samsung.com>
Fri, 21 Jun 2013 12:38:16 +0000 (21:38 +0900)
In case that App has its brightness, pm doesn't control brightness.
and app have to know brightness, if brightness is changed
in auto brightness on state or in low battery state.

display/core.c
display/llinterface.c
display/lsensor.c

index a62e7de..61e9763 100644 (file)
@@ -348,7 +348,7 @@ static int proc_condition(PMMsg *data)
        if (val & MASK_DIM) {
                tmp = find_node(S_LCDDIM, pid);
                del_node(S_LCDDIM, tmp);
-               LOGINFO("[%s] unlocked by pid %d - process %s\n", "S_LORMAL",
+               LOGINFO("[%s] unlocked by pid %d - process %s\n", "S_NORMAL",
                        pid, pname);
        }
        if (val & MASK_OFF) {
@@ -578,6 +578,8 @@ void print_info(int fd)
        int s_index = 0;
        char buf[255];
        int i = 1, ret;
+       char pname[PATH_MAX];
+       int fd_cmdline;
 
        if (fd < 0)
                return;
@@ -606,11 +608,10 @@ void print_info(int fd)
 
        for (s_index = S_NORMAL; s_index < S_END; s_index++) {
                PmLockNode *t;
-               char pname[PATH_MAX];
-               int fd_cmdline;
                t = cond_head[s_index];
 
                while (t != NULL) {
+                       pname[0] = NULL;
                        snprintf(buf, sizeof(buf), "/proc/%d/cmdline", t->pid);
                        fd_cmdline = open(buf, O_RDONLY);
                        if (fd_cmdline < 0) {
@@ -1069,6 +1070,8 @@ static int update_setting(int key_idx, int val)
                                power_saving_func(false);
                        pm_status_flag &= ~LOWBT_FLAG;
                        pm_status_flag &= ~BRTCH_FLAG;
+                       vconf_set_bool(VCONFKEY_PM_BRIGHTNESS_CHANGED_IN_LPM,
+                           false);
                }
                break;
        case SETTING_CHARGING:
@@ -1093,6 +1096,8 @@ static int update_setting(int key_idx, int val)
        case SETTING_BRT_LEVEL:
                if (pm_status_flag & PWRSV_FLAG) {
                        pm_status_flag |= BRTCH_FLAG;
+                       vconf_set_bool(VCONFKEY_PM_BRIGHTNESS_CHANGED_IN_LPM,
+                           true);
                        LOGINFO("brightness changed in low battery,"
                                "escape dim state");
                }
index 221108a..948267f 100644 (file)
@@ -349,7 +349,13 @@ static int backlight_dim(void)
 static int backlight_restore(void)
 {
        int ret = 0;
+       int val = -1;
 
+       ret = vconf_get_int(VCONFKEY_PM_CUSTOM_BRIGHTNESS_STATUS, &val);
+       if (ret == 0 && val == VCONFKEY_PM_CUSTOM_BRIGHTNESS_ON) {
+               LOGINFO("custom brightness mode! brt no restored");
+               return 0;
+       }
        if ((pm_status_flag & PWRSV_FLAG) && !(pm_status_flag & BRTCH_FLAG)) {
                ret = backlight_dim();
        } else if (pmsys && pmsys->bl_brt) {
index e1a957f..d17f045 100644 (file)
@@ -71,6 +71,7 @@ static bool alc_handler(void* data)
                                if (!ret && (tmp_value != value)) {
                                        backlight_ops.set_default_brt(value);
                                        backlight_ops.restore();
+                                       vconf_set_int(VCONFKEY_PM_CURRENT_BRIGHTNESS, value);
                                }
                                LOGINFO("load light data : %d, brightness : %d", (int)light_data.values[0], value);
                        }
@@ -157,6 +158,7 @@ static inline void set_brtch_state(void)
 {
        if (pm_status_flag & PWRSV_FLAG) {
                pm_status_flag |= BRTCH_FLAG;
+               vconf_set_bool(VCONFKEY_PM_BRIGHTNESS_CHANGED_IN_LPM, true);
                LOGINFO("brightness changed in low battery,"
                    "escape dim state (light)");
        }