summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--alarm-manager.c8
-rw-r--r--src/alarm-lib.c15
2 files changed, 19 insertions, 4 deletions
diff --git a/alarm-manager.c b/alarm-manager.c
index 43edc3a..46a5246 100644
--- a/alarm-manager.c
+++ b/alarm-manager.c
@@ -1149,7 +1149,7 @@ static void __alarm_send_noti_to_application(const char *app_service_name, alarm
SECURE_LOGI("[alarm server][send expired_alarm(alarm_id=%d) to app_service_name(%s)]", alarm_id, service_name);
ret = g_dbus_connection_emit_signal(alarm_context.connection,
- NULL,
+ service_name,
"/org/tizen/alarm/manager",
"org.tizen.alarm.manager",
"alarm_expired",
@@ -1399,14 +1399,14 @@ static void __alarm_expired()
char appid[MAX_SERVICE_NAME_LEN] = { 0, };
pkgmgrinfo_appinfo_h appinfo_handle = NULL;
- if (strncmp(g_quark_to_string(__alarm_info->quark_dst_service_name), "null", 4) == 0) {
+ if (g_quark_to_string(__alarm_info->quark_bundle) != NULL && strncmp(g_quark_to_string(__alarm_info->quark_dst_service_name), "null", 4) == 0) {
SECURE_LOGD("[alarm-server]:destination is null, so we send expired alarm to %s(%u).",
g_quark_to_string(__alarm_info->quark_app_service_name), __alarm_info->quark_app_service_name);
- destination_app_service_name = g_quark_to_string(__alarm_info->quark_app_service_name);
+ destination_app_service_name = g_quark_to_string(__alarm_info->quark_app_service_name_mod);
} else {
SECURE_LOGD("[alarm-server]:destination :%s(%u)",
g_quark_to_string(__alarm_info->quark_dst_service_name), __alarm_info->quark_dst_service_name);
- destination_app_service_name = g_quark_to_string(__alarm_info->quark_dst_service_name);
+ destination_app_service_name = g_quark_to_string(__alarm_info->quark_dst_service_name_mod);
}
/*
diff --git a/src/alarm-lib.c b/src/alarm-lib.c
index 29cfaec..a1e65ff 100644
--- a/src/alarm-lib.c
+++ b/src/alarm-lib.c
@@ -351,8 +351,11 @@ EXPORT_API int alarmmgr_init(const char *appid)
{
SECURE_LOGD("Enter");
char service_name[MAX_SERVICE_NAME_LEN] = { 0 };
+ char service_name_mod[MAX_SERVICE_NAME_LEN] = { 0 };
int ret;
int len = 0;
+ int i = 0;
+ int j = 0;
if (appid == NULL)
return ERR_ALARM_INVALID_PARAM;
@@ -382,11 +385,23 @@ EXPORT_API int alarmmgr_init(const char *appid)
NULL,
NULL);
+ memset(service_name_mod, 'a', MAX_SERVICE_NAME_LEN - 1);
+
len = strlen("ALARM.");
strncpy(service_name, "ALARM.", len);
strncpy(service_name + len, appid, strlen(appid));
+ for (i = 0; i <= strlen(service_name); i++) {
+ if (service_name[i] == '.') {
+ service_name_mod[j] = service_name[i];
+ j++;
+ } else {
+ service_name_mod[j] = service_name[i];
+ }
+ j++;
+ }
alarm_context.quark_app_service_name = g_quark_from_string(service_name);
+ alarm_context.quark_app_service_name_mod = g_quark_from_string(service_name_mod);
b_initialized = true;