From: SukhyungKang Date: Tue, 5 Nov 2024 04:10:56 +0000 (+0900) Subject: Changed to post noti when called unregister dnd app X-Git-Tag: accepted/tizen/unified/20241114.092403~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2e9cc28618e50e09c17f7f4d15a9357606aade7a;p=platform%2Fcore%2Fapi%2Fnotification.git Changed to post noti when called unregister dnd app - notification is posted when the unregister dnd app api is called. Change-Id: I856b979269098c68d61194a59fec6598df25b31c Signed-off-by: SukhyungKang --- diff --git a/notification/include/notification_ipc.h b/notification/include/notification_ipc.h index 9ba73427..a1749c68 100644 --- a/notification/include/notification_ipc.h +++ b/notification/include/notification_ipc.h @@ -111,6 +111,7 @@ int notification_ipc_socket_read(int fd, char *buffer, unsigned int nbytes); int notification_ipc_event_monitor_init(void); int notification_ipc_request_register_dnd_app(uid_t uid, pid_t pid); +int notification_ipc_request_unregister_dnd_app(uid_t uid, pid_t pid); #ifdef __cplusplus } diff --git a/notification/src/notification_internal.c b/notification/src/notification_internal.c index 4d43df14..e170a3a7 100644 --- a/notification/src/notification_internal.c +++ b/notification/src/notification_internal.c @@ -2423,14 +2423,29 @@ out: EXPORT_API int notification_unregister_do_not_disturb_app(void) { + int ret; + WARN("unregister dnd app"); + __notification_mutex_lock(); + + ret = notification_ipc_request_unregister_dnd_app(getuid(), getpid()); + if (ret != NOTIFICATION_ERROR_NONE) { + ERR("failed to unregister dnd app"); + __notification_mutex_unlock(); + return ret; + } + _disturb_callback = NULL; if (__noti_event_cb_list == NULL) notification_ipc_event_monitor_fini(); - return NOTIFICATION_ERROR_NONE; + __notification_mutex_unlock(); + + WARN("unregister dnd app done"); + + return ret; } void notification_call_disturb_cb(void) diff --git a/notification/src/notification_ipc.c b/notification/src/notification_ipc.c index f3c08c96..1dee2079 100644 --- a/notification/src/notification_ipc.c +++ b/notification/src/notification_ipc.c @@ -2763,3 +2763,27 @@ int notification_ipc_request_register_dnd_app(uid_t uid, pid_t pid) return ret; } + +int notification_ipc_request_unregister_dnd_app(uid_t uid, pid_t pid) +{ + int ret; + GVariant *body; + GDBusMessage *reply = NULL; + + WARN("request unregister dnd app"); + ret = _dbus_init(); + if (ret != NOTIFICATION_ERROR_NONE) { + ERR("Failed to init dbus connection[%d]", ret); + return ret; + } + + body = g_variant_new("(ii)", uid, pid); + + ret = _send_sync_noti(body, &reply, "unregister_dnd_app"); + if (reply) + g_object_unref(reply); + + WARN("send sync noti [%d]", ret); + + return ret; +}