summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlokilee73 <changjoo.lee@samsung.com>2018-04-24 20:32:55 +0900
committerHyotaek Shim <hyotaek.shim@samsung.com>2018-04-30 02:25:31 +0000
commit4425cc54326396ca773310f5ede0af7b0159bf53 (patch)
tree2639e9e00d9ba742a85745357781cdbb890bcd5f
parent2ba981c32cca7b0e6469e220ad0b6bf1aa15f571 (diff)
downloaddeviced-4425cc54326396ca773310f5ede0af7b0159bf53.tar.gz
deviced-4425cc54326396ca773310f5ede0af7b0159bf53.tar.bz2
deviced-4425cc54326396ca773310f5ede0af7b0159bf53.zip
Change-Id: I706f6f55accc9858939fc8ae3e621b489f637b15 Signed-off-by: lokilee73 <changjoo.lee@samsung.com>
-rwxr-xr-xCMakeLists.txt1
-rwxr-xr-xpackaging/deviced.spec1
-rwxr-xr-xsrc/display/device-interface.c10
-rwxr-xr-x[-rw-r--r--]src/display/device-interface.h2
-rwxr-xr-x[-rw-r--r--]src/display/display-dbus.c73
-rwxr-xr-x[-rw-r--r--]src/libdeviced/display.c1
6 files changed, 55 insertions, 33 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7ef248b5..7000c7d8 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -170,6 +170,7 @@ SET(PKG_MODULES
hwcommon
mount
capi-system-info
+ capi-system-device
libsystemd
libgdbus
)
diff --git a/packaging/deviced.spec b/packaging/deviced.spec
index ffcd0e70..a908a6d1 100755
--- a/packaging/deviced.spec
+++ b/packaging/deviced.spec
@@ -36,6 +36,7 @@ BuildRequires: pkgconfig(minizip)
BuildRequires: pkgconfig(libkmod)
BuildRequires: pkgconfig(libusbgx)
BuildRequires: pkgconfig(libgdbus)
+BuildRequires: pkgconfig(capi-system-device)
Requires: %{name}-tools = %{version}-%{release}
%{?systemd_requires}
diff --git a/src/display/device-interface.c b/src/display/device-interface.c
index 897906fc..1aa0c50c 100755
--- a/src/display/device-interface.c
+++ b/src/display/device-interface.c
@@ -104,7 +104,7 @@ static int bl_brt(int brightness, int delay)
if (delay > 0)
usleep(delay);
- if (force_brightness > 0 && brightness != PM_DIM_BRIGHTNESS) {
+ if (force_brightness > 0) {
_I("brightness(%d), force brightness(%d)",
brightness, force_brightness);
brightness = force_brightness;
@@ -281,8 +281,14 @@ static int backlight_off(enum device_flags flags)
static int backlight_dim(void)
{
int ret;
+ int brightness;
- ret = bl_brt(PM_DIM_BRIGHTNESS, 0);
+ if (vconf_get_int(VCONFKEY_SETAPPL_LCD_DIM_BRIGHTNESS, &brightness) != 0) {
+ _E("Failed to get VCONFKEY_SETAPPL_LCD_DIM_BRIGHTNESS value");
+ return -EPERM;
+ }
+
+ ret = bl_brt(brightness, 0);
#ifdef ENABLE_PM_LOG
if (!ret)
pm_history_save(PM_LOG_LCD_DIM, pm_cur_state);
diff --git a/src/display/device-interface.h b/src/display/device-interface.h
index cd29d238..88e25cff 100644..100755
--- a/src/display/device-interface.h
+++ b/src/display/device-interface.h
@@ -34,13 +34,13 @@
#define PM_MAX_BRIGHTNESS 100
#define PM_MIN_BRIGHTNESS 1
#define PM_DEFAULT_BRIGHTNESS 60
-#define PM_DIM_BRIGHTNESS 0
#define DISP_INDEX_SHIFT 16
#define DISP_CMD(prop, index) ((index << DISP_INDEX_SHIFT) | prop)
#define DEFAULT_DISPLAY_COUNT 1
#define DEFAULT_DISPLAY_MAX_BRIGHTNESS 100
+#define DEFAULT_DISPLAY_MAX_DIM_BRIGHTNESS 50
/*
* Event type enumeration
diff --git a/src/display/display-dbus.c b/src/display/display-dbus.c
index 3e374cff..04fcbe74 100644..100755
--- a/src/display/display-dbus.c
+++ b/src/display/display-dbus.c
@@ -41,10 +41,10 @@
#include "dd-display.h"
#include "display-actor.h"
#include "display-ops.h"
+#include <device/display.h>
#define SIGNAL_HOMESCREEN "HomeScreen"
-#define DISPLAY_DIM_BRIGHTNESS 0
#define DUMP_MODE_WATING_TIME 600000
#define EXPIRED_POPUP_TYPE_POWER "power_lock_expired"
@@ -338,11 +338,17 @@ GVariant *dbus_getmaxbrightness(GDBusConnection *conn,
const gchar *sender, const gchar *path, const gchar *iface, const gchar *name,
GVariant *param, GDBusMethodInvocation *invocation, gpointer user_data)
{
- int ret;
+ int ret, state;
CHECK_POWEROFF();
- ret = DEFAULT_DISPLAY_MAX_BRIGHTNESS;
+ g_variant_get(param, "(i)", &state);
+ if (state == DISPLAY_STATE_NORMAL)
+ ret = DEFAULT_DISPLAY_MAX_BRIGHTNESS;
+ else if (state == DISPLAY_STATE_SCREEN_DIM)
+ ret = DEFAULT_DISPLAY_MAX_DIM_BRIGHTNESS;
+ else
+ ret = -EINVAL;
return g_variant_new("(i)", ret);
}
@@ -364,11 +370,19 @@ GVariant *dbus_getbrightness(GDBusConnection *conn,
const gchar *sender, const gchar *path, const gchar *iface, const gchar *name,
GVariant *param, GDBusMethodInvocation *invocation, gpointer user_data)
{
- int brt, ret;
+ int brt = -1, state, ret;
CHECK_POWEROFF();
- ret = backlight_ops.get_brightness(&brt);
+ g_variant_get(param, "(i)", &state);
+
+ if (state == DISPLAY_STATE_NORMAL) {
+ ret = backlight_ops.get_brightness(&brt);
+ } else if (state == DISPLAY_STATE_SCREEN_DIM) {
+ ret = vconf_get_int(VCONFKEY_SETAPPL_LCD_DIM_BRIGHTNESS, &brt);
+ } else
+ ret = -EINVAL;
+
if (ret >= 0)
ret = brt;
@@ -381,7 +395,7 @@ GVariant *dbus_setbrightness(GDBusConnection *conn,
const gchar *sender, const gchar *path, const gchar *iface, const gchar *name,
GVariant *param, GDBusMethodInvocation *invocation, gpointer user_data)
{
- int brt, autobrt, ret, caps;
+ int state, brt, autobrt, ret = 0, caps;
CHECK_POWEROFF();
@@ -393,13 +407,7 @@ GVariant *dbus_setbrightness(GDBusConnection *conn,
goto error;
}
- g_variant_get(param, "(i)", &brt);
-
- if (brt == DISPLAY_DIM_BRIGHTNESS) {
- _E("application can not set this value(DIM VALUE:%d)", brt);
- ret = -EPERM;
- goto error;
- }
+ g_variant_get(param, "(ii)", &state, &brt);
if (vconf_get_int(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, &autobrt) != 0) {
_E("Failed to get VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT value");
@@ -412,11 +420,24 @@ GVariant *dbus_setbrightness(GDBusConnection *conn,
goto error;
}
- ret = backlight_ops.set_brightness(brt);
- if (ret < 0)
- goto error;
- if (vconf_set_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, brt) != 0)
- _E("Failed to set VCONFKEY_SETAPPL_LCD_BRIGHTNESS value");
+ if (state == DISPLAY_STATE_NORMAL) {
+ ret = backlight_ops.set_brightness(brt);
+ if (ret < 0)
+ goto error;
+
+ if (vconf_set_int(VCONFKEY_SETAPPL_LCD_BRIGHTNESS, brt) != 0)
+ _E("Failed to set VCONFKEY_SETAPPL_LCD_BRIGHTNESS value");
+ } else if (state == DISPLAY_STATE_SCREEN_DIM) {
+ if (pm_cur_state == S_LCDDIM) {
+ ret = backlight_ops.set_brightness(brt);
+ if (ret < 0)
+ goto error;
+ }
+
+ if (vconf_set_int(VCONFKEY_SETAPPL_LCD_DIM_BRIGHTNESS, brt) != 0)
+ _E("Failed to set VCONFKEY_SETAPPL_LCD_DIM_BRIGHTNESS value");
+ } else
+ ret = -EINVAL;
_I("set brightness %d, %d", brt, ret);
@@ -442,12 +463,6 @@ GVariant *dbus_holdbrightness(GDBusConnection *conn,
g_variant_get(param, "(i)", &brt);
- if (brt == DISPLAY_DIM_BRIGHTNESS) {
- _E("application can not set this value(DIM VALUE:%d)", brt);
- ret = -EPERM;
- goto error;
- }
-
if (vconf_get_int(VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT, &autobrt) != 0) {
_E("Failed to get VCONFKEY_SETAPPL_BRIGHTNESS_AUTOMATIC_INT value");
autobrt = SETTING_BRIGHTNESS_AUTOMATIC_OFF;
@@ -1018,17 +1033,17 @@ static const dbus_method_s dbus_methods[] = {
{ "unlockstate", "ss", "i", dbus_unlockstate },
{ "changestate", "s", "i", dbus_changestate },
{ "ChangeState", "s", "i", dbus_changestate },
- { "getbrightness", NULL, "i", dbus_getbrightness }, /* deprecated */
- { "setbrightness", "i", "i", dbus_setbrightness }, /* deprecated */
+ { "getbrightness", "i", "i", dbus_getbrightness }, /* deprecated */
+ { "setbrightness", "ii", "i", dbus_setbrightness }, /* deprecated */
{ "setframerate", "ii", "i", dbus_setrefreshrate }, /* deprecated */
{ "setautobrightnessmin", "i", "i", dbus_setautobrightnessmin },
{ "setlcdtimeout", "iii", "i", dbus_setlcdtimeout },
{ "LockScreenBgOn", "s", "i", dbus_lockscreenbgon },
{ "GetDisplayCount", NULL, "i", dbus_getdisplaycount },
- { "GetMaxBrightness", NULL, "i", dbus_getmaxbrightness },
+ { "GetMaxBrightness", "i", "i", dbus_getmaxbrightness },
{ "SetMaxBrightness", "i", "i", dbus_setmaxbrightness },
- { "GetBrightness", NULL, "i", dbus_getbrightness },
- { "SetBrightness", "i", "i", dbus_setbrightness },
+ { "GetBrightness", "i", "i", dbus_getbrightness },
+ { "SetBrightness", "ii", "i", dbus_setbrightness },
{ "HoldBrightness", "i", "i", dbus_holdbrightness },
{ "ReleaseBrightness", NULL, "i", dbus_releasebrightness },
{ "SetRefreshRate", "ii", "i", dbus_setrefreshrate },
diff --git a/src/libdeviced/display.c b/src/libdeviced/display.c
index 5df5e3f2..63a7c5cb 100644..100755
--- a/src/libdeviced/display.c
+++ b/src/libdeviced/display.c
@@ -27,7 +27,6 @@
#define DISPLAY_MAX_BRIGHTNESS 100
#define DISPLAY_MIN_BRIGHTNESS 1
-#define DISPLAY_DIM_BRIGHTNESS 0
#define HOLDKEY_BLOCK_BIT 0x1