summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clock-viewer/data/CMakeLists.txt4
-rw-r--r--clock-viewer/data/clock-viewer.edc71
-rwxr-xr-xclock-viewer/data/opr_bg.pngbin0 -> 4220 bytes
-rw-r--r--clock-viewer/include/clock-viewer-widget.h2
-rw-r--r--clock-viewer/src/clock-viewer-widget.c23
-rw-r--r--clock-viewer/src/clock-viewer.c42
6 files changed, 140 insertions, 2 deletions
diff --git a/clock-viewer/data/CMakeLists.txt b/clock-viewer/data/CMakeLists.txt
index 5d417d2..1570dff 100644
--- a/clock-viewer/data/CMakeLists.txt
+++ b/clock-viewer/data/CMakeLists.txt
@@ -1,12 +1,12 @@
# install edj
ADD_CUSTOM_TARGET(clock-viewer.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR} ${EDJE_CFLAGS}
${CMAKE_CURRENT_SOURCE_DIR}/clock-viewer.edc clock-viewer.edj
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/clock-viewer.edc
)
ADD_DEPENDENCIES(${PROJECT_NAME} clock-viewer.edj)
ADD_CUSTOM_TARGET(default-clock-fallback.edj
- COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/images ${EDJE_CFLAGS}
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR} ${EDJE_CFLAGS}
${CMAKE_CURRENT_SOURCE_DIR}/default-clock-fallback.edc default-clock-fallback.edj
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/default-clock-fallback.edc
)
diff --git a/clock-viewer/data/clock-viewer.edc b/clock-viewer/data/clock-viewer.edc
index 6654ff5..a5b5804 100644
--- a/clock-viewer/data/clock-viewer.edc
+++ b/clock-viewer/data/clock-viewer.edc
@@ -26,6 +26,9 @@
}
collections {
+ images {
+ image: "opr_bg.png" COMP;
+ }
group {
name: "layout_manual_clock_position";
parts {
@@ -90,6 +93,58 @@ collections {
rel2 { relative: 0.98 0.98; to: "bg"; }
}
}
+ part {
+ name: "opr_bg";
+ type: SPACER;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "bg"; }
+ rel2 { relative: 1.0 0.14; to: "bg"; }
+ }
+ }
+ part {
+ name: "opr_bg_image";
+ type: IMAGE;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.0; to: "opr_bg"; }
+ rel2 { relative: 1.0 1.0; to: "opr_bg"; }
+ image { normal: "opr_bg.png"; }
+ color: 0 0 0 178;
+ visible: 0;
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
+ part {
+ name: "opr_text";
+ type: TEXT;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ rel1 { relative: 0.0 0.5; to: "opr_bg"; }
+ rel2 { relative: 1.0 0.5; to: "opr_bg"; }
+ text {
+ font: "Tizen:style=Regular";
+ text: "Loading";
+ size: 18;
+ align: 0.5 0.5;
+ min: 0 1;
+ }
+ fixed: 0 1;
+ color: 77 207 255 255;
+ visible: 0;
+ }
+ description {
+ state: "show" 0.0;
+ inherit: "default" 0.0;
+ visible: 1;
+ }
+ }
}
programs {
IDLE_CLOCK_ALPM_STATE_CHANGE(elm.swallow.body, default)
@@ -101,6 +156,22 @@ collections {
IDLE_CLOCK_ALPM_STATE_CHANGE(elm.swallow.body, bottomright)
IDLE_CLOCK_ALPM_STATE_CHANGE(elm.swallow.body, bottomleft)
IDLE_CLOCK_ALPM_STATE_CHANGE(elm.swallow.body, topleft)
+ program {
+ name: "opr,show";
+ signal: "opr_info.show";
+ source: "clock";
+ action: STATE_SET "show" 0.0;
+ target: "opr_bg_image";
+ target: "opr_text";
+ }
+ program {
+ name: "opr,hide";
+ signal: "opr_info.hide";
+ source: "clock";
+ action: STATE_SET "default" 0.0;
+ target: "opr_bg_image";
+ target: "opr_text";
+ }
}
}
}
diff --git a/clock-viewer/data/opr_bg.png b/clock-viewer/data/opr_bg.png
new file mode 100755
index 0000000..c3c7461
--- /dev/null
+++ b/clock-viewer/data/opr_bg.png
Binary files differ
diff --git a/clock-viewer/include/clock-viewer-widget.h b/clock-viewer/include/clock-viewer-widget.h
index 49a9170..e647905 100644
--- a/clock-viewer/include/clock-viewer-widget.h
+++ b/clock-viewer/include/clock-viewer-widget.h
@@ -28,6 +28,8 @@ extern void clock_viewer_widget_init(void *data, Evas_Object *parent, char *pkgn
extern void clock_viewer_widget_fini(void *data);
extern void clock_viewer_widget_pause(void);
extern void clock_viewer_widget_resume(void);
+extern void clock_viewer_widget_show_opr(void);
+extern void clock_viewer_widget_hide_opr(void);
extern void clock_viewer_default_widget_init(void *data, Evas_Object *parent, char *clock_name);
extern void clock_viewer_default_widget_fini(void *data);
diff --git a/clock-viewer/src/clock-viewer-widget.c b/clock-viewer/src/clock-viewer-widget.c
index fd44338..febddf9 100644
--- a/clock-viewer/src/clock-viewer-widget.c
+++ b/clock-viewer/src/clock-viewer-widget.c
@@ -101,6 +101,29 @@ static void _watch_removed_cb(void *data, Evas_Object *obj, void *event_info)
evas_object_del(clock);
}
+void clock_viewer_widget_show_opr(void)
+{
+ char opr_buf[16];
+ float opr = 0;
+ watch_manager_get_opr(&opr);
+ _DBG("opr show (%.2f)\n", opr);
+ opr = opr * 100;
+
+ snprintf(opr_buf, sizeof(opr_buf), "OPR %d%%", (int)opr);
+ elm_object_part_text_set(s_widget_info.layout, "opr_text", opr_buf);
+
+ elm_object_signal_emit(s_widget_info.layout, "opr_info.show", "clock");
+ edje_object_message_signal_process(elm_layout_edje_get(s_widget_info.layout));
+}
+
+void clock_viewer_widget_hide_opr(void)
+{
+ _DBG("opr hide");
+
+ elm_object_signal_emit(s_widget_info.layout, "opr_info.hide", "clock");
+ edje_object_message_signal_process(elm_layout_edje_get(s_widget_info.layout));
+}
+
void clock_viewer_default_widget_init(void *data, Evas_Object *parent, char *clock_name)
{
app_control_h watch_control = NULL;
diff --git a/clock-viewer/src/clock-viewer.c b/clock-viewer/src/clock-viewer.c
index 2828870..7601419 100644
--- a/clock-viewer/src/clock-viewer.c
+++ b/clock-viewer/src/clock-viewer.c
@@ -54,6 +54,7 @@ static struct _info {
clock_viewer_ambient_type ambient_type;
char *clock_pkgname;
int resource_id;
+ int is_opr_show;
/* clockend condition check list */
int is_drawdone;
@@ -69,6 +70,7 @@ static struct _info {
.is_render_added = 0,
.is_clock_resumed = 0,
.resource_id = 0,
+ .is_opr_show = 0,
.home_clock_visibitity = 0,
.clock_visibitity = 0,
@@ -168,6 +170,8 @@ static void __clock_viewer_widget_updated_cb(void *data, Evas_Object *obj, void
{
__clock_viewer_render_pre_cb(data, NULL, NULL);
__clock_viewer_render_post_cb(data, NULL, NULL);
+ if (s_info.is_opr_show)
+ clock_viewer_widget_show_opr();
}
Eina_Bool __clock_viewer_render_first_timer_cb(void *data)
@@ -233,6 +237,14 @@ static void __clock_viewer_lcdon_cb(void *data, DBusMessage *msg)
}
}
+static Eina_Bool __opr_timer_cb(void *data)
+{
+ if (s_info.is_opr_show) {
+ clock_viewer_widget_show_opr();
+ }
+ return EINA_FALSE;
+}
+
static void __clock_viewer_lcdoff_cb(void *data, DBusMessage *msg)
{
clock_viewer_s *clock_viewer = (clock_viewer_s *) data;
@@ -293,6 +305,11 @@ static void __clock_viewer_lcdoff_cb(void *data, DBusMessage *msg)
if (!s_info.clock_visibitity) {
clock_viewer_show(clock_viewer, 0);
}
+
+ if (s_info.is_opr_show)
+ ecore_timer_add(1.0f, __opr_timer_cb, NULL);
+ else
+ clock_viewer_widget_hide_opr();
}
}
@@ -350,6 +367,24 @@ static void __clock_viewer_homescreen_clock_visibility_changed_cb(keynode_t *nod
s_info.home_clock_visibitity = value;
}
+static void __clock_viewer_opr_changed_cb(keynode_t *node, void *data)
+{
+ int ret = 0;
+ int value = 0;
+
+ ret = vconf_get_bool("db/setting/aod_on_pixel_ratio", &value);
+ if (ret != 0) {
+ _ERR("Failed to get aod on pixel ratio[%d]", ret);
+ }
+ _DBG("aod on pixel ratio changed [%d]->[%d]", s_info.is_opr_show, value);
+ s_info.is_opr_show = value;
+ if (s_info.is_opr_show == 0) {
+ clock_viewer_widget_hide_opr();
+ } else {
+ clock_viewer_widget_show_opr();
+ }
+}
+
static void _clock_viewer_set_current_clock(clock_viewer_s *clock_viewer)
{
clock_viewer_ambient_type ambient_type;
@@ -422,7 +457,14 @@ static void _clock_viewer_register_event(clock_viewer_s *clock_viewer)
if (ret != 0) {
_ERR("Failed to notify homescreen clock visibility changed event[%d]", ret);
}
+
+ ret = vconf_notify_key_changed("db/setting/aod_on_pixel_ratio", __clock_viewer_opr_changed_cb, clock_viewer);
+ if (ret != 0) {
+ _ERR("Failed to notify aod_on_pixel_ratio chagned event[%d]", ret);
+ }
+
__clock_viewer_homescreen_clock_visibility_changed_cb(NULL, NULL);
+ __clock_viewer_opr_changed_cb(NULL, NULL);
}
static void _clock_viewer_unregister_event(clock_viewer_s *clock_viewer)