[Clock viewer] Set the clock object using clock's resource id 13/101713/1 accepted/tizen/3.0/wearable/20161207.012106 submit/tizen_3.0/20161206.080517
authormoon87.park <moon87.park@samsung.com>
Fri, 2 Dec 2016 05:03:53 +0000 (14:03 +0900)
committermoon87.park <moon87.park@samsung.com>
Fri, 2 Dec 2016 05:03:53 +0000 (14:03 +0900)
Change-Id: I54e70a90f2882a9e1569af32b59c455c73b1b1df

clock-viewer/include/clock-viewer-util-pkginfo.h
clock-viewer/include/clock-viewer-widget.h
clock-viewer/src/clock-viewer-util-pkginfo.c
clock-viewer/src/clock-viewer-widget.c
clock-viewer/src/clock-viewer.c

index 550792cd58a3618b96dd6fc1ca32e4fd52611d93..e8e98bd96af55fe786c307f6e5bc01912a6dcb6c 100644 (file)
@@ -28,6 +28,7 @@ extern void clock_viewer_util_pkginfo_init_clock_package_event(void *data, vconf
 extern void clock_viewer_util_pkginfo_fini_clock_package_event(vconf_callback_fn cb);
 
 extern char *clock_viewer_util_pkginfo_get_clock_package(void);
+extern int clock_viewer_util_pkginfo_get_clock_resource_id(void);
 
 extern clock_viewer_ambient_type clock_viewer_util_pkginfo_get_ambient_type(char *appid);
 
index 867f41a117ee0e6b9bb8971d4b4a4ae73bf6df7e..3ad1eaa5bf6b634a7b41d1ffe0e7a29a99b8e4b5 100644 (file)
@@ -24,7 +24,7 @@
 
 #include "clock-viewer.h"
 
-extern void clock_viewer_widget_init(void *data, Evas_Object *parent, char *pkgname);
+extern void clock_viewer_widget_init(void *data, Evas_Object *parent, char *pkgname, int resource_id);
 extern void clock_viewer_widget_fini(void *data);
 extern void clock_viewer_widget_pause(void);
 extern void clock_viewer_widget_resume(void);
index b77ad045d4b6b291886bd4bf1323db61d9d79a34..efebc3b045f5217fc25143c1faf4814afdc70e9b 100644 (file)
@@ -27,7 +27,7 @@ HAPI void clock_viewer_util_pkginfo_init_clock_package_event(void *data, vconf_c
 {
        int ret = 0;
 
-       ret = vconf_notify_key_changed(VCONFKEY_WMS_CLOCKS_SET_IDLE, cb, data);
+       ret = vconf_notify_key_changed("memory/homescreen/watch_resource_id", cb, data);
        if (ret != 0) {
                _ERR("Failed to notify clock set");
        }
@@ -48,6 +48,13 @@ HAPI char *clock_viewer_util_pkginfo_get_clock_package(void)
        return vconf_get_str(VCONFKEY_WMS_CLOCKS_SET_IDLE);
 }
 
+HAPI int clock_viewer_util_pkginfo_get_clock_resource_id(void)
+{
+       int resource_id = 0;
+       vconf_get_int("memory/homescreen/watch_resource_id", &resource_id);
+       return resource_id;
+}
+
 static inline char *pkgmgr_get_mainapp(const char *pkgid)
 {
        pkgmgrinfo_pkginfo_h handle;
index ec7c7e85ce6e208f05d0b80801e6c8b90a66395a..66dd46510ed2ed81f474009809c3add8032a445c 100644 (file)
@@ -41,6 +41,7 @@ static struct _widget_info
 
        int view_pos;
        int view_pos_timestamp;
+       int resource_id;
 } s_widget_info = {
        .win = NULL,
        .layout = NULL,
@@ -53,6 +54,7 @@ static struct _widget_info
 
        .view_pos = 0,
        .view_pos_timestamp = 0,
+       .resource_id = 0,
 };
 
 
@@ -97,7 +99,7 @@ static void _watch_removed_cb(void *data, Evas_Object *obj, void *event_info)
 }
 
 
-HAPI void clock_viewer_widget_init(void *data, Evas_Object *win, char *pkgname)
+HAPI void clock_viewer_widget_init(void *data, Evas_Object *win, char *pkgname, int resource_id)
 {
        if (s_widget_info.is_widget_init) {
                _DBG("widget already initialized");
@@ -121,6 +123,8 @@ HAPI void clock_viewer_widget_init(void *data, Evas_Object *win, char *pkgname)
 
        watch_manager_init(win);
 
+       watch_manager_set_resource_id(resource_id);
+
        evas_object_smart_callback_add(win, WATCH_SMART_SIGNAL_ADDED, _watch_added_cb, data);
        evas_object_smart_callback_add(win, WATCH_SMART_SIGNAL_REMOVED, _watch_removed_cb, data);
 
index 1550354e13b2c8d1cd983d621251ab3ca89c2eea..24f365dcb5cd93f11aff9dbf8e2d634eb826b998 100644 (file)
@@ -351,6 +351,7 @@ static void _clock_viewer_set_current_clock(clock_viewer_s *clock_viewer)
 {
        clock_viewer_ambient_type ambient_type;
        char *pkgname;
+       int resource_id = 0;
 
        pkgname = clock_viewer_util_pkginfo_get_clock_package();
        if (!pkgname) {
@@ -358,6 +359,12 @@ static void _clock_viewer_set_current_clock(clock_viewer_s *clock_viewer)
                return;
        }
 
+       resource_id = clock_viewer_util_pkginfo_get_clock_resource_id();
+       if (!resource_id) {
+               _ERR("resource id is not valid\n");
+               return;
+       }
+
        if (s_info.clock_pkgname) {
                if (!strcmp(s_info.clock_pkgname, pkgname)) {
                        _WARN("same pkgname(%s), skip!", pkgname);
@@ -378,7 +385,7 @@ static void _clock_viewer_set_current_clock(clock_viewer_s *clock_viewer)
        /* load new clock */
        if (ambient_type == CLOCK_VIEWER_AMBIENT_TYPE_MANUAL) {
                if (clock_viewer_util_pkginfo_is_widget(pkgname)) {
-                       clock_viewer_widget_init(clock_viewer, clock_viewer->window, pkgname);
+                       clock_viewer_widget_init(clock_viewer, clock_viewer->window, pkgname, resource_id);
                        clock_viewer->current_type = CLOCK_VIEWER_TYPE_WIDGET;
                } else {
                        clock_viewer->current_type = CLOCK_VIEWER_TYPE_MINICTRL;