e_service_scrsaver: set layer to alert. 78/97078/1
authorGwanglim Lee <gl77.lee@samsung.com>
Fri, 11 Nov 2016 06:15:59 +0000 (15:15 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Fri, 11 Nov 2016 06:15:59 +0000 (15:15 +0900)
According to 2.x policy of the window stack, layer of the screen saver window
has been increased to E_LAYER_CLIENT_ALERT from E_LAYER_CLIENT_NOTIFICATION_LOW.

Change-Id: I32aa9aa6ac37e80c2446d38a907d268d8e96f1bb

src/bin/Makefile.mk
src/bin/e_policy_private_data.h
src/bin/e_policy_wl.c
src/bin/services/e_service_scrsaver.c [new file with mode: 0644]
src/bin/services/e_service_scrsaver.h [new file with mode: 0644]

index 62770a55ef9826c5d77235110c6b31a99e6c7d97..3ee47db574fe4b97adbba779d05dd2e47fd3fe6e 100644 (file)
@@ -103,6 +103,7 @@ src/bin/services/e_service_region.h \
 src/bin/services/e_service_volume.h \
 src/bin/services/e_service_indicator.h \
 src/bin/services/e_service_cbhm.h \
+src/bin/services/e_service_scrsaver.h \
 src/bin/e_policy.h \
 src/bin/e_policy_visibility.h \
 src/bin/e_policy_keyboard.h \
@@ -192,6 +193,7 @@ src/bin/services/e_service_region.c \
 src/bin/services/e_service_volume.c \
 src/bin/services/e_service_indicator.c \
 src/bin/services/e_service_cbhm.c \
+src/bin/services/e_service_scrsaver.c \
 src/bin/e_policy.c \
 src/bin/e_policy_conformant.c \
 src/bin/e_policy_keyboard.c \
index 83327d02493c9ab059f33928c18cecfe5a85e326..4ce87b2ec8cc7251bc4d34b45e151c85039dbee4 100644 (file)
@@ -37,6 +37,7 @@ e_policy_angle_get(E_Policy_Angle_Map map)
 /* layer level - 999 */
 # define E_POLICY_QUICKPANEL_LAYER  E_LAYER_CLIENT_ALERT
 # define E_POLICY_TOAST_POPUP_LAYER E_LAYER_CLIENT_ALERT
+# define E_POLICY_SCRSAVER_LAYER    E_LAYER_CLIENT_ALERT
 
 /* layer level - E_LAYER_CLIENT_NOTIFICATION_TOP (800) */
 # define E_POLICY_VOLUME_LAYER      E_LAYER_CLIENT_NOTIFICATION_TOP
index 8a0b3499fb0c403c66fb2031d1bd0852c362b72c..5263443c1f96c1919b17936767074b44c5328bf6 100644 (file)
@@ -5,6 +5,7 @@
 #include "services/e_service_lockscreen.h"
 #include "services/e_service_indicator.h"
 #include "services/e_service_cbhm.h"
+#include "services/e_service_scrsaver.h"
 #include "e_policy_wl_display.h"
 #include "e_policy_conformant.h"
 #include "e_policy_visibility.h"
@@ -3535,9 +3536,9 @@ _tzsh_iface_cb_srv_create(struct wl_client *client, struct wl_resource *res_tzsh
    else if (role == TZSH_SRV_ROLE_LOCKSCREEN)
      e_service_lockscreen_client_set(tzsh->ec);
    else if (role == TZSH_SRV_ROLE_SCREENSAVER_MNG)
-     e_service_lockscreen_client_set(tzsh->ec);
+     e_service_scrsaver_client_set(tzsh->ec);
    else if (role == TZSH_SRV_ROLE_SCREENSAVER)
-     e_service_lockscreen_client_set(tzsh->ec);
+     e_service_scrsaver_client_set(tzsh->ec);
    else if (role == TZSH_SRV_ROLE_INDICATOR)
      e_mod_indicator_client_set(tzsh->ec);
    else if (role == TZSH_SRV_ROLE_CBHM)
diff --git a/src/bin/services/e_service_scrsaver.c b/src/bin/services/e_service_scrsaver.c
new file mode 100644 (file)
index 0000000..7a3f9f1
--- /dev/null
@@ -0,0 +1,21 @@
+#include "e.h"
+#include "services/e_service_scrsaver.h"
+
+EINTERN Eina_Bool
+e_service_scrsaver_client_set(E_Client *ec)
+{
+   if (!ec) return EINA_TRUE;
+   if (e_object_is_del(E_OBJECT(ec))) return EINA_FALSE;
+
+   ELOGF("SCRSAVER","Set Client", ec->pixmap, ec);
+
+   // set screensaver layer
+   if (E_POLICY_SCRSAVER_LAYER != evas_object_layer_get(ec->frame))
+     {
+        evas_object_layer_set(ec->frame, E_POLICY_SCRSAVER_LAYER);
+     }
+   ec->layer = E_POLICY_SCRSAVER_LAYER;
+
+   return EINA_TRUE;
+}
+
diff --git a/src/bin/services/e_service_scrsaver.h b/src/bin/services/e_service_scrsaver.h
new file mode 100644 (file)
index 0000000..7a60eb7
--- /dev/null
@@ -0,0 +1,8 @@
+#ifndef E_SERVICE_SCRSAVER_H
+#define E_SERVICE_SCRSAVER_H
+
+#include "e_policy_private_data.h"
+
+EINTERN Eina_Bool e_service_scrsaver_client_set(E_Client *ec);
+
+#endif