summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJinkun Jang <jinkun.jang@samsung.com>2013-03-16 01:12:25 +0900
committerJinkun Jang <jinkun.jang@samsung.com>2013-03-16 01:12:25 +0900
commit58ab92967fb7d55e23e6df229475f536c097b008 (patch)
tree23ac3a5afc29f9c2995d3b0a3ea7fff2f1996cb9
parent26c5a1401e06a795d432f5aa66f89ac5e8f8362e (diff)
downloadalarm-manager-58ab92967fb7d55e23e6df229475f536c097b008.tar.gz
alarm-manager-58ab92967fb7d55e23e6df229475f536c097b008.tar.bz2
alarm-manager-58ab92967fb7d55e23e6df229475f536c097b008.zip
merge with master
-rwxr-xr-xalarm-manager.c38
-rw-r--r--packaging/alarm-manager.spec2
2 files changed, 39 insertions, 1 deletions
diff --git a/alarm-manager.c b/alarm-manager.c
index fac4d13..4f72033 100755
--- a/alarm-manager.c
+++ b/alarm-manager.c
@@ -1652,6 +1652,38 @@ this value to 0(zero)
return;
}
+static void __on_time_zone_changed(keynode_t *node, void *data)
+{
+ double diff_time = 0;
+
+ _alarm_disable_timer(alarm_context);
+
+ tzset();
+
+ ALARM_MGR_LOG_PRINT("[alarm-server] time zone has been changed\n");
+ ALARM_MGR_LOG_PRINT("1.alarm_context.c_due_time is %d\n", alarm_context.c_due_time);
+
+ __alarm_update_due_time_of_all_items_in_list(diff_time);
+
+ ALARM_MGR_LOG_PRINT("2.alarm_context.c_due_time is %d\n", alarm_context.c_due_time);
+ _clear_scheduled_alarm_list();
+ _alarm_schedule();
+ __rtc_set();
+#ifdef __ALARM_BOOT
+ /*alarm boot */
+ if (enable_power_on_alarm) {
+/* orginally first arg's value was 21(app_id, WAKEUP_ALARM_
+APP_ID) in a platform with app-server. because _alarm_power_
+on(..) fuction don't use first parameter internally, we set
+this value to 0(zero)
+*/
+ __alarm_power_on(0, enable_power_on_alarm, NULL);
+ }
+#endif
+ return;
+}
+
+
gboolean alarm_manager_alarm_set_rtc_time(void *pObject, int pid,
int year, int mon, int day,
int hour, int min, int sec, char *e_cookie,
@@ -2427,6 +2459,12 @@ static bool __initialize_noti()
}
/*system state change noti ó¸® */
+ if (vconf_notify_key_changed
+ (VCONFKEY_SETAPPL_TIMEZONE_ID, __on_time_zone_changed, NULL) < 0) {
+ ALARM_MGR_LOG_PRINT(
+ "Failed to add callback for time changing event\n");
+ }
+
return true;
}
diff --git a/packaging/alarm-manager.spec b/packaging/alarm-manager.spec
index d16de76..60bbd04 100644
--- a/packaging/alarm-manager.spec
+++ b/packaging/alarm-manager.spec
@@ -1,6 +1,6 @@
Name: alarm-manager
Summary: Alarm library
-Version: 0.4.65
+Version: 0.4.66
Release: 1
Group: System/Libraries
License: Apache License, Version 2.0