Check event name for system event 27/319227/1
authorHwankyu Jhun <h.jhun@samsung.com>
Fri, 18 Oct 2024 03:01:36 +0000 (12:01 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Fri, 18 Oct 2024 03:01:36 +0000 (12:01 +0900)
If the event name is a system event, the __get_real_event_name() is not called.
Because, the system event does not have the application ID.

Change-Id: Ie4b3451b7016b95a6b9a4c641b8d846928b43eaf
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/app-event/event.c

index bfc7fafdf1f7e3d2cb747998c037768f50d10810..c0a88556c5b47c9b194188ba024d01b9f622e6a7 100644 (file)
@@ -56,6 +56,16 @@ static GList *__event_handle_list;
 
 #define KEY_ALIAS_APP_ID "http://tizen.org/metadata/app-event/alias-appid-mode"
 
+static bool __is_system_event(const char *event_name)
+{
+       int len = strlen(SYS_EVENT_NAME_PREFIX);
+
+       if (strncmp(event_name, SYS_EVENT_NAME_PREFIX, len) != 0)
+               return false;
+
+       return true;
+}
+
 static int __check_alias_appid_mode(const char *real_appid)
 {
        pkgmgrinfo_appinfo_h handle;
@@ -278,7 +288,8 @@ int event_add_event_handler(const char *event_name, event_cb callback,
                                __FUNCTION__, NULL);
        }
 
-       if (__get_real_event_name(event_name, &real_event_name, false)) {
+       if (!__is_system_event(event_name) &&
+                       __get_real_event_name(event_name, &real_event_name, false)) {
                handler->event_name = real_event_name;
                ret = __set_real_event_info(real_event_name, event_name);
                if (ret != ES_R_OK)
@@ -364,16 +375,6 @@ int event_remove_event_handler(event_handler_h event_handler)
        return EVENT_ERROR_NONE;
 }
 
-static bool __is_system_event(const char *event_name)
-{
-       int len = strlen(SYS_EVENT_NAME_PREFIX);
-
-       if (strncmp(event_name, SYS_EVENT_NAME_PREFIX, len) != 0)
-               return false;
-
-       return true;
-}
-
 int event_publish_app_event(const char *event_name, bundle *event_data)
 {
        char *real_event_name;