summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorInkyun Kil <inkyun.kil@samsung.com>2020-01-13 23:50:34 +0000
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>2020-01-13 23:50:34 +0000
commitff592b7e36a3b7cd37d145c946d5b2713e4ba81a (patch)
tree9bd44dacb946c24c58192a800959f526de241eb4
parent3bab6a674235435c3d3dc37baeca56eb670cf22c (diff)
parent646403c3e74e9bd725092e18f639827f84c347ce (diff)
downloadalarm-manager-ff592b7e36a3b7cd37d145c946d5b2713e4ba81a.tar.gz
alarm-manager-ff592b7e36a3b7cd37d145c946d5b2713e4ba81a.tar.bz2
alarm-manager-ff592b7e36a3b7cd37d145c946d5b2713e4ba81a.zip
Merge "FIx side effect for 'Dispensables'" into tizen
-rw-r--r--lib/alarm-lib.c49
1 files changed, 21 insertions, 28 deletions
diff --git a/lib/alarm-lib.c b/lib/alarm-lib.c
index 0ce96f2..1f53853 100644
--- a/lib/alarm-lib.c
+++ b/lib/alarm-lib.c
@@ -1152,6 +1152,7 @@ EXPORT_API int alarmmgr_add_alarm_appsvc(int alarm_type, time_t trigger_at_time,
{
int error_code = 0;
int result = 0;
+ int modified_alarm_type = 0;
alarm_info_t alarm_info;
const char *operation = NULL;
const char *appid = NULL;
@@ -1192,22 +1193,23 @@ EXPORT_API int alarmmgr_add_alarm_appsvc(int alarm_type, time_t trigger_at_time,
return ERR_ALARM_INVALID_PARAM;
}
- _initialize_alarm_info(&alarm_info, alarm_type, trigger_at_time, interval,
- false);
-
- alarm_info.alarm_type |= ALARM_TYPE_RELATIVE;
- LOGD("alarm_info.type : %d", alarm_info.alarm_type);
+ modified_alarm_type = alarm_type;
if (__compare_api_version(&result, getuid()) < 0)
return ERR_ALARM_SYSTEM_FAIL;
if (result < 0) {
- if (alarm_info.alarm_type & ALARM_TYPE_INEXACT)
- alarm_info.alarm_type ^= ALARM_TYPE_INEXACT;
+ if (alarm_type & ALARM_TYPE_INEXACT)
+ modified_alarm_type ^= ALARM_TYPE_INEXACT;
}
- if ((alarm_type & ALARM_TYPE_INEXACT) &&
- alarm_info.mode.u_interval.interval < MIN_INEXACT_INTERVAL)
+ _initialize_alarm_info(&alarm_info, modified_alarm_type | ALARM_TYPE_RELATIVE,
+ trigger_at_time, interval, false);
+
+ if ((alarm_info.alarm_type & ALARM_TYPE_INEXACT) &&
+ alarm_info.mode.u_interval.interval < MIN_INEXACT_INTERVAL) {
alarm_info.mode.u_interval.interval = MIN_INEXACT_INTERVAL;
+ alarm_info.mode.repeat = ALARM_REPEAT_MODE_REPEAT;
+ }
if (!_send_alarm_create_appsvc(alarm_context, &alarm_info, alarm_id, b, &error_code))
return error_code;
@@ -1240,15 +1242,14 @@ EXPORT_API int alarmmgr_add_alarm_noti(int alarm_type, time_t trigger_at_time,
return ERR_ALARM_INVALID_PARAM;
}
- _initialize_alarm_info(&alarm_info, alarm_type, trigger_at_time, interval,
- false);
-
- alarm_info.alarm_type |= ALARM_TYPE_RELATIVE;
- LOGD("alarm_info.type : %d", alarm_info.alarm_type);
+ _initialize_alarm_info(&alarm_info, alarm_type | ALARM_TYPE_RELATIVE,
+ trigger_at_time, interval, false);
if ((alarm_info.alarm_type & ALARM_TYPE_INEXACT) &&
- alarm_info.mode.u_interval.interval < MIN_INEXACT_INTERVAL)
+ alarm_info.mode.u_interval.interval < MIN_INEXACT_INTERVAL) {
alarm_info.mode.u_interval.interval = MIN_INEXACT_INTERVAL;
+ alarm_info.mode.repeat = ALARM_REPEAT_MODE_REPEAT;
+ }
if (!_send_alarm_create_noti(alarm_context, &alarm_info, alarm_id, noti, &error_code))
return error_code;
@@ -1288,12 +1289,8 @@ static int _alarmmgr_add_alarm(int alarm_type,
return ERR_ALARM_INVALID_PARAM;
}
- _initialize_alarm_info(&alarm_info, alarm_type, trigger_at_time, interval,
- precision);
-
- alarm_info.alarm_type |= ALARM_TYPE_RELATIVE;
-
- LOGD("alarm_info.type : %d", alarm_info.alarm_type);
+ _initialize_alarm_info(&alarm_info, alarm_type | ALARM_TYPE_RELATIVE,
+ trigger_at_time, interval, precision);
if (destination != NULL) {
memset(dst_service_name, 0,
@@ -1369,13 +1366,9 @@ static int _alarmmgr_add_alarm_withcb(int alarm_type, time_t trigger_at_time,
return ERR_ALARM_INVALID_PARAM;
}
- _initialize_alarm_info(&alarm_info, alarm_type, trigger_at_time, interval,
- precision);
-
- alarm_info.alarm_type |= ALARM_TYPE_RELATIVE;
- alarm_info.alarm_type |= ALARM_TYPE_WITHCB;
-
- LOGD("alarm_info.type : %d", alarm_info.alarm_type);
+ _initialize_alarm_info(&alarm_info,
+ alarm_type | ALARM_TYPE_RELATIVE | ALARM_TYPE_WITHCB,
+ trigger_at_time, interval, precision);
if (!_send_alarm_create(alarm_context, &alarm_info, alarm_id, "null", "null", &error_code))
return error_code;