From: Sunyeop Hwang Date: Fri, 18 Jan 2013 05:54:03 +0000 (+0900) Subject: Fix timer problem of reset date&time X-Git-Tag: accepted/tizen_2.1/20130425.022820~31^2~48^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aaf3e9c917365887cd3fada23084e6efeb477f29;p=apps%2Fcore%2Fpreloaded%2Fsettings.git Fix timer problem of reset date&time Change-Id: I768940c44711f7b857855b9858bb5481fe28a7b2 --- diff --git a/include/setting-debug.h b/include/setting-debug.h index f8b7d39..56b4556 100755 --- a/include/setting-debug.h +++ b/include/setting-debug.h @@ -93,7 +93,7 @@ #define APPLIED_BACK_KEY_UG 0 -#define APPLIED_DATATIME_FIRSTDAY_WEEK 1 +#define APPLIED_DATATIME_FIRSTDAY_WEEK 0 #define SUPPORT_DATEFIELD_DATE_FORMAT_AUTOSET 0 #define SUPPORT_FDN 0 diff --git a/setting-time/src/setting-time-main.c b/setting-time/src/setting-time-main.c index 06364f2..b3410e3 100755 --- a/setting-time/src/setting-time-main.c +++ b/setting-time/src/setting-time-main.c @@ -393,9 +393,17 @@ static void setting_time_main_datefield_change_cb(void *data, Evas_Object *obj, ad->is_datefield_selected = EINA_TRUE; + if (ad->update_timer) { + ecore_timer_reset(ad->update_timer); + ecore_timer_freeze(ad->update_timer); + } + // If auto update is on, don't anything while the datefield has been updated (i.e., time runs) if (1 == setting_time_check_automatic_time_update_state()) { SETTING_TRACE("AUTO_TIME ON: no action"); + if (ad->update_timer) { + ecore_timer_thaw(ad->update_timer); + } SETTING_TRACE_END; return; } else { @@ -410,6 +418,9 @@ static void setting_time_main_datefield_change_cb(void *data, Evas_Object *obj, if (2037 < _tm.tm_year) { setting_create_simple_popup(ad, ad->win_get, NULL, _(ERR_BIGGER_THAN_2037)); + if (ad->update_timer) { + ecore_timer_thaw(ad->update_timer); + } return; } #if SUPPORT_SCREEN_PROTECTED /* if not lock the current state, after set the time, the screen will become dimmed */ @@ -423,6 +434,9 @@ static void setting_time_main_datefield_change_cb(void *data, Evas_Object *obj, } else { // error SETTING_TRACE_ERROR("get_timezone_isdst() failed"); + if (ad->update_timer) { + ecore_timer_thaw(ad->update_timer); + } return; } @@ -433,6 +447,9 @@ static void setting_time_main_datefield_change_cb(void *data, Evas_Object *obj, { SETTING_TRACE("Time is not changed\n"); //current time didn't change + if (ad->update_timer) { + ecore_timer_thaw(ad->update_timer); + } return; } @@ -451,6 +468,11 @@ static void setting_time_main_datefield_change_cb(void *data, Evas_Object *obj, // invoke API to change time int ret = sysman_set_datetime(the_time); + + if (ad->update_timer) { + ecore_timer_thaw(ad->update_timer); + } + setting_retm_if(ret == -1, "sysman_set_datetime call failed"); SETTING_TRACE_END;