return ret;
}
+static void __adjust_current_milliseconds(alarm_info_t *alarm_info)
+{
+ struct timeval current_time;
+ struct tm start_tm;
+ time_t start;
+
+ gettimeofday(¤t_time, NULL);
+ if (current_time.tv_usec > 500 * 1000) {
+ /* When the millisecond part of the current_time is bigger than 500ms,
+ * the duetime increases by extra 1sec. */
+
+ start_tm.tm_year = alarm_info->start.year - 1900;
+ start_tm.tm_mon = alarm_info->start.month - 1;
+ start_tm.tm_mday = alarm_info->start.day;
+ start_tm.tm_hour = alarm_info->start.hour;
+ start_tm.tm_min = alarm_info->start.min;
+ start_tm.tm_sec = alarm_info->start.sec;
+
+ start = mktime(&start_tm);
+
+ if (current_time.tv_sec == start) {
+ start += 1;
+
+ localtime_r(&start, &start_tm);
+ alarm_info->start.year = start_tm.tm_year + 1900;
+ alarm_info->start.month = start_tm.tm_mon + 1;
+ alarm_info->start.day = start_tm.tm_mday;
+ alarm_info->start.hour = start_tm.tm_hour;
+ alarm_info->start.min = start_tm.tm_min;
+ alarm_info->start.sec = start_tm.tm_sec;
+
+ LOGW("adjusted start(%d-%d-%d, %02d:%02d:%02d),",
+ alarm_info->start.day, alarm_info->start.month, alarm_info->start.year,
+ alarm_info->start.hour, alarm_info->start.min, alarm_info->start.sec);
+ }
+ }
+}
+
EXPORT_API int alarmmgr_init(const char *appid)
{
SECURE_LOGD("Enter");
EXPORT_API int alarmmgr_add_alarm_appsvc_with_localtime(alarm_entry_t *alarm, void *bundle_data, alarm_id_t *alarm_id)
{
alarm_info_t *alarm_info = NULL;
+ alarm_mode_t *mode;
const char *operation = NULL;
int error_code = 0;
const char *appid = NULL;
LOGD("[alarm-lib]:alarm_create() is called\n");
- if (alarm == NULL)
+ alarm_info = (alarm_info_t *)alarm;
+ if (alarm_info == NULL || alarm_id == NULL) {
+ LOGE("Invalid parameter\n");
return ERR_ALARM_INVALID_PARAM;
+ }
+
+ __adjust_current_milliseconds(alarm_info);
b = (bundle *)bundle_data;
if (b == NULL) {
return ERR_ALARM_SYSTEM_FAIL;
}
- alarm_info = (alarm_info_t *)alarm;
appid = appsvc_get_appid(b);
if ((appid == NULL && (alarm_info->alarm_type & ALARM_TYPE_NOLAUNCH)) ||
(appid == NULL && operation && !strcmp(operation, APPSVC_OPERATION_DEFAULT))) {
LOGE("Invalid parameter\n");
return ERR_ALARM_INVALID_PARAM;
}
- alarm_mode_t *mode = &alarm_info->mode;
+
+ mode = &alarm_info->mode;
LOGW("start(%d-%d-%d, %02d:%02d:%02d), end(%d-%d-%d), repeat(%d), interval(%ld), type(%d)",
alarm_info->start.day, alarm_info->start.month, alarm_info->start.year,
char dst_service_name[MAX_SERVICE_NAME_LEN] = { 0 };
char dst_service_name_mod[MAX_SERVICE_NAME_LEN] = { 0 };
alarm_info_t *alarm_info = NULL;
+ alarm_mode_t *mode;
int ret;
+ int error_code;
int i = 0;
int j = 0;
return ERR_ALARM_INVALID_PARAM;
alarm_info = (alarm_info_t *) alarm;
- if (alarm_info == NULL || alarm_id == NULL)
+ if (alarm_info == NULL || alarm_id == NULL) {
+ LOGE("Invalid parameter bundle\n");
return ERR_ALARM_INVALID_PARAM;
+ }
- int error_code;
- alarm_mode_t *mode = &alarm_info->mode;
+ __adjust_current_milliseconds(alarm_info);
+
+ mode = &alarm_info->mode;
ret = __sub_init();
if (ret < 0)
{
alarm_info_t *alarm_info = NULL;
int error_code = 0;
+ alarm_info = (alarm_info_t *)alarm;
+ alarm_mode_t *mode;
- if (alarm == NULL)
+ if (alarm_info == NULL || alarm_id == NULL) {
+ LOGE("Invalid parameter\n");
return ERR_ALARM_INVALID_PARAM;
+ }
+
+ __adjust_current_milliseconds(alarm_info);
if (__alarmmgr_init_appsvc() < 0) {
LOGE("Unable to initialize dbus!!!\n");
return ERR_ALARM_INVALID_PARAM;
}
- alarm_mode_t *mode = &alarm_info->mode;
+ mode = &alarm_info->mode;
LOGW("start(%d-%d-%d, %02d:%02d:%02d), end(%d-%d-%d), repeat(%d), interval(%ld), type(%d)",
alarm_info->start.day, alarm_info->start.month, alarm_info->start.year,