Call tick on timezone changed 38/131838/3
authorHyunho Kang <hhstark.kang@samsung.com>
Wed, 31 May 2017 03:46:56 +0000 (12:46 +0900)
committerHyunho Kang <hhstark.kang@samsung.com>
Thu, 1 Jun 2017 09:59:03 +0000 (18:59 +0900)
Change-Id: Ie0019eb806da3217eda63bf2ac895bacd2efebb8
Signed-off-by: Hyunho Kang <hhstark.kang@samsung.com>
src/watch_app_main.c

index e11c5ee..150c0ff 100755 (executable)
@@ -451,6 +451,26 @@ static void __set_default_tick_by_metadata()
        return;
 }
 
+static void __vconf_time_changed_cb(keynode_t *key, void *data)
+{
+       struct _watch_time_s timeinfo;
+
+       _D("ambient_mode check: %d", __context.ambient_mode);
+       if (__context.ambient_mode) {
+               if (alarm_id) {
+                       alarmmgr_remove_alarm(alarm_id);
+                       alarm_id = 0;
+               }
+               __set_ambient_tick_cb(data);
+               __get_timeinfo(&timeinfo);
+               __on_ambient_tick(&timeinfo, data);
+       } else {
+               __time_tick_cb(data);
+       }
+
+       return;
+}
+
 static int __on_create(void *data)
 {
        watch_app_create_cb create_cb;
@@ -472,6 +492,9 @@ static int __on_create(void *data)
        __set_default_tick_by_metadata();
        __context.state = WATCH_APP_STATE_RUNNING;
 
+       vconf_notify_key_changed(VCONFKEY_SYSTEM_TIME_CHANGED,
+                               __vconf_time_changed_cb, data);
+
        return APP_ERROR_NONE;
 }