2.0 alpha
[platform/core/system/devman.git] / devices / video.c
old mode 100755 (executable)
new mode 100644 (file)
index 30b0e03..7d57a36
@@ -22,6 +22,7 @@
 
 #include "device_engine.h"
 #include "device_plugin.h"
+#include "vconf.h"
 
 #define PROPERTY_MASK          0x0F
 #define INDEX_SHIFT_CNT                4
@@ -31,6 +32,8 @@ static int get_video_prop(int prop, int *val)
        int _prop = prop & PROPERTY_MASK;
        int _index = prop >> 4;
        int _max_disp_cnt = -1;
+       int power_saving_stat = -1;
+       int power_saving_display_stat = -1;
 
        DBG("Property: %d, Index: %d", _prop, _index);
        if (0 > plugin_intf->OEM_sys_get_display_count(&_max_disp_cnt)) {
@@ -44,29 +47,39 @@ static int get_video_prop(int prop, int *val)
        }
 
        switch (_prop) {
-               case DISPLAY_PROP_BRIGHTNESS:
-                       return plugin_intf->OEM_sys_get_backlight_brightness(_index, val);
-               case DISPLAY_PROP_MAX_BRIGHTNESS:
-                       return plugin_intf->OEM_sys_get_backlight_max_brightness(_index, val);
-               case DISPLAY_PROP_ONOFF:
-                       return plugin_intf->OEM_sys_get_lcd_power(_index, val);
-               case DISPLAY_PROP_GAMMA:
-                       /* TODO: not supported yet */
-                       DBG("Gamma is not supported");
-                       return 0;
-               case DISPLAY_PROP_DISPLAY_COUNT:
-                       *val = _max_disp_cnt;
-                       return 0;
-               case DISPLAY_PROP_ACL_CONTROL:
-                       return plugin_intf->OEM_sys_get_backlight_acl_control(_index, val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_MODE:
-                       return plugin_intf->OEM_sys_get_image_enhance_mode(val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_SCENARIO:
-                       return plugin_intf->OEM_sys_get_image_enhance_scenario(val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_TONE:
-                       return plugin_intf->OEM_sys_get_image_enhance_tone(val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_OUTDOOR:
-                       return plugin_intf->OEM_sys_get_image_enhance_outdoor(val);
+       case DISPLAY_PROP_BRIGHTNESS:
+               /* check power saving */
+               vconf_get_bool(VCONFKEY_SETAPPL_PWRSV_SYSMODE_STATUS, &power_saving_stat);
+               if (power_saving_stat == 1)
+                       vconf_get_bool(VCONFKEY_SETAPPL_PWRSV_CUSTMODE_DISPLAY, &power_saving_display_stat);
+               if (power_saving_display_stat != 1)
+                       power_saving_display_stat = 0;
+               return plugin_intf->OEM_sys_get_backlight_brightness(_index, val, power_saving_display_stat);
+       case DISPLAY_PROP_MIN_BRIGHTNESS:
+               return plugin_intf->OEM_sys_get_backlight_min_brightness(_index, val);
+       case DISPLAY_PROP_MAX_BRIGHTNESS:
+               return plugin_intf->OEM_sys_get_backlight_max_brightness(_index, val);
+       case DISPLAY_PROP_ONOFF:
+               return plugin_intf->OEM_sys_get_lcd_power(_index, val);
+       case DISPLAY_PROP_GAMMA:
+               /* TODO: not supported yet */
+               DBG("Gamma is not supported");
+               return 0;
+       case DISPLAY_PROP_DISPLAY_COUNT:
+               *val = _max_disp_cnt;
+               return 0;
+       case DISPLAY_PROP_ACL_CONTROL:
+               return plugin_intf->OEM_sys_get_backlight_acl_control(_index, val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_MODE:
+               return plugin_intf->OEM_sys_get_image_enhance_mode(val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_SCENARIO:
+               return plugin_intf->OEM_sys_get_image_enhance_scenario(val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_TONE:
+               return plugin_intf->OEM_sys_get_image_enhance_tone(val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_OUTDOOR:
+               return plugin_intf->OEM_sys_get_image_enhance_outdoor(val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_INFO:
+               return plugin_intf->OEM_sys_image_enhance_info(val);
        }
 
        return -1;
@@ -77,6 +90,8 @@ static int set_video_prop(int prop, int val)
        int _prop = prop & PROPERTY_MASK;
        int _index = prop >> 4;
        int _max_disp_cnt = -1;
+       int power_saving_stat = -1;
+       int power_saving_display_stat = -1;
 
        DBG("Property: %d, Index: %d", _prop, _index);
        if (0 > plugin_intf->OEM_sys_get_display_count(&_max_disp_cnt)) {
@@ -90,24 +105,30 @@ static int set_video_prop(int prop, int val)
        }
 
        switch (_prop) {
-               case DISPLAY_PROP_BRIGHTNESS:
-                       return plugin_intf->OEM_sys_set_backlight_brightness(_index, val);
-               case DISPLAY_PROP_ONOFF:
-                       return plugin_intf->OEM_sys_set_lcd_power(_index, val);
-               case DISPLAY_PROP_GAMMA:
-                       /* TODO:not supported yet */
-                       DBG("Gamma is not supported");
-                       return 0;
-               case DISPLAY_PROP_ACL_CONTROL:
-                       return plugin_intf->OEM_sys_set_backlight_acl_control(_index, val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_MODE:
-                       return plugin_intf->OEM_sys_set_image_enhance_mode(val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_SCENARIO:
-                       return plugin_intf->OEM_sys_set_image_enhance_scenario(val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_TONE:
-                       return plugin_intf->OEM_sys_set_image_enhance_tone(val);
-               case DISPLAY_PROP_IMAGE_ENHANCE_OUTDOOR:
-                       return plugin_intf->OEM_sys_set_image_enhance_outdoor(val);
+       case DISPLAY_PROP_BRIGHTNESS:
+               /* check power saving */
+               vconf_get_bool(VCONFKEY_SETAPPL_PWRSV_SYSMODE_STATUS, &power_saving_stat);
+               if (power_saving_stat == 1)
+                       vconf_get_bool(VCONFKEY_SETAPPL_PWRSV_CUSTMODE_DISPLAY, &power_saving_display_stat);
+               if (power_saving_display_stat != 1)
+                       power_saving_display_stat = 0;
+               return plugin_intf->OEM_sys_set_backlight_brightness(_index, val, power_saving_display_stat);
+       case DISPLAY_PROP_ONOFF:
+               return plugin_intf->OEM_sys_set_lcd_power(_index, val);
+       case DISPLAY_PROP_GAMMA:
+               /* TODO:not supported yet */
+               DBG("Gamma is not supported");
+               return 0;
+       case DISPLAY_PROP_ACL_CONTROL:
+               return plugin_intf->OEM_sys_set_backlight_acl_control(_index, val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_MODE:
+               return plugin_intf->OEM_sys_set_image_enhance_mode(val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_SCENARIO:
+               return plugin_intf->OEM_sys_set_image_enhance_scenario(val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_TONE:
+               return plugin_intf->OEM_sys_set_image_enhance_tone(val);
+       case DISPLAY_PROP_IMAGE_ENHANCE_OUTDOOR:
+               return plugin_intf->OEM_sys_set_image_enhance_outdoor(val);
        }
 
        return -1;