From 30bd0f69db7f15cedad4f7241ea6bea95f0da1cc Mon Sep 17 00:00:00 2001 From: zhengzhuolan Date: Fri, 11 Apr 2025 17:53:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9AnsSubscriber=20AnsManagerIDL?= =?UTF-8?q?=E5=8C=96=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhengzhuolan --- frameworks/ans/IAnsManager.idl | 6 +++--- frameworks/ans/IAnsSubscriber.idl | 8 ++++---- .../ans_notification_branch_test.cpp | 4 ++-- .../ans/include/advanced_notification_service.h | 2 +- .../src/advanced_notification_publish_service.cpp | 4 ++-- .../ans/src/notification_subscriber_manager.cpp | 13 +++++++------ tools/test/mock/mock_ans_manager_stub.h | 4 ++-- 7 files changed, 21 insertions(+), 20 deletions(-) diff --git a/frameworks/ans/IAnsManager.idl b/frameworks/ans/IAnsManager.idl index 92ecf2280..c8203b884 100644 --- a/frameworks/ans/IAnsManager.idl +++ b/frameworks/ans/IAnsManager.idl @@ -97,7 +97,7 @@ interface OHOS.Notification.IAnsManager { void RemoveNotification( [in] sptr bundleOption, - [in] FileDescriptor notificationId, + [in] int notificationId, [in] String label, [in] int removeReason); @@ -277,13 +277,13 @@ interface OHOS.Notification.IAnsManager { void AllowUseReminder([in] String bundleName, [out] boolean isAllowUseReminder); - void UpdateNotificationTimerByUid([in] int uid, [in] boolean isPaused); + [oneway] void UpdateNotificationTimerByUid([in] int uid, [in] boolean isPaused); void DisableNotificationFeature([in] sptr notificationDisable); void GetTargetDeviceStatus([in] String deviceType, [out] int status); - void DistributeOperation([out] null_sptr operationInfo, [in] IAnsOperationCallback operationCallback); + void DistributeOperation([in] null_sptr operationInfo, [in] IAnsOperationCallback operationCallback); void ReplyDistributeOperation([in] String hashCode, [in] int resultCode); diff --git a/frameworks/ans/IAnsSubscriber.idl b/frameworks/ans/IAnsSubscriber.idl index 0eb075a91..b14349d1c 100644 --- a/frameworks/ans/IAnsSubscriber.idl +++ b/frameworks/ans/IAnsSubscriber.idl @@ -27,8 +27,8 @@ interface OHOS.Notification.IAnsSubscriber { [oneway] void OnConsumed([in] sptr notification, [in] sptr notificationMap); [oneway] void OnConsumed([in] sptr notification); - [ipcincapacity 520] void OnConsumedWithMaxCapacity([in] sptr notification, [in] sptr notificationMap); - [ipcincapacity 520] void OnConsumedWithMaxCapacity([in] sptr notification); + [ipcincapacity 520, oneway] void OnConsumedWithMaxCapacity([in] sptr notification, [in] sptr notificationMap); + [ipcincapacity 520, oneway] void OnConsumedWithMaxCapacity([in] sptr notification); [ipcincapacity 520, oneway] void OnConsumedList([in] sptr[] notifications, [in] sptr notificationMap); [ipcincapacity 520, oneway] void OnConsumedList([in] sptr[] notifications); @@ -36,8 +36,8 @@ interface OHOS.Notification.IAnsSubscriber { [oneway] void OnCanceled([in] sptr notification, [in] sptr notificationMap, [in] int deleteReason); [oneway] void OnCanceled([in] sptr notification, [in] int deleteReason); - [ipcincapacity 520] void OnCanceledWithMaxCapacity([in] sptr notification, [in] sptr notificationMap, [in] int deleteReason); - [ipcincapacity 520] void OnCanceledWithMaxCapacity([in] sptr notification, [in] int deleteReason); + [ipcincapacity 520, oneway] void OnCanceledWithMaxCapacity([in] sptr notification, [in] sptr notificationMap, [in] int deleteReason); + [ipcincapacity 520, oneway] void OnCanceledWithMaxCapacity([in] sptr notification, [in] int deleteReason); [ipcincapacity 520, oneway] void OnCanceledList([in] sptr[] notifications, [in] sptr notificationMap, [in] int deleteReason); [ipcincapacity 520, oneway] void OnCanceledList([in] sptr[] notifications, [in] int deleteReason); diff --git a/frameworks/core/test/unittest/ans_notification_branch_test/ans_notification_branch_test.cpp b/frameworks/core/test/unittest/ans_notification_branch_test/ans_notification_branch_test.cpp index 2b1c342e0..1e4d6353f 100644 --- a/frameworks/core/test/unittest/ans_notification_branch_test/ans_notification_branch_test.cpp +++ b/frameworks/core/test/unittest/ans_notification_branch_test/ans_notification_branch_test.cpp @@ -176,7 +176,7 @@ public: return ERR_ANS_INVALID_PARAM; } - ErrCode RemoveNotification(const sptr &bundleOption, int notificationId, + ErrCode RemoveNotification(const sptr &bundleOption, int32_t notificationId, const std::string &label, int32_t removeReason) override { return ERR_ANS_INVALID_PARAM; @@ -632,7 +632,7 @@ public: return ERR_ANS_INVALID_PARAM; } - ErrCode DistributeOperation(sptr& operationInfo, + ErrCode DistributeOperation(const sptr& operationInfo, const sptr& operationCallback) override { return ERR_ANS_INVALID_PARAM; diff --git a/services/ans/include/advanced_notification_service.h b/services/ans/include/advanced_notification_service.h index a2001aef2..19531421f 100644 --- a/services/ans/include/advanced_notification_service.h +++ b/services/ans/include/advanced_notification_service.h @@ -1224,7 +1224,7 @@ public: * @param hashCode Unique ID of the notification. * @return Returns ERR_OK on success, others on failure. */ - ErrCode DistributeOperation(sptr& operationInfo, + ErrCode DistributeOperation(const sptr& operationInfo, const sptr &callback) override; /** diff --git a/services/ans/src/advanced_notification_publish_service.cpp b/services/ans/src/advanced_notification_publish_service.cpp index 233548484..0e7dd5392 100644 --- a/services/ans/src/advanced_notification_publish_service.cpp +++ b/services/ans/src/advanced_notification_publish_service.cpp @@ -3356,7 +3356,7 @@ ErrCode AdvancedNotificationService::RemoveAllNotificationsByBundleName(const st return ERR_OK; } -ErrCode DistributeOperationParamCheck(sptr& operationInfo, +ErrCode DistributeOperationParamCheck(const sptr& operationInfo, const sptr &callback) { if (operationInfo == nullptr || operationInfo->GetHashCode().empty()) { @@ -3384,7 +3384,7 @@ ErrCode DistributeOperationParamCheck(sptr& operation return ERR_OK; } -ErrCode AdvancedNotificationService::DistributeOperation(sptr& operationInfo, +ErrCode AdvancedNotificationService::DistributeOperation(const sptr& operationInfo, const sptr &callback) { ErrCode result = DistributeOperationParamCheck(operationInfo, callback); diff --git a/services/ans/src/notification_subscriber_manager.cpp b/services/ans/src/notification_subscriber_manager.cpp index dcfc0e932..00a99784f 100644 --- a/services/ans/src/notification_subscriber_manager.cpp +++ b/services/ans/src/notification_subscriber_manager.cpp @@ -726,12 +726,13 @@ void NotificationSubscriberManager::BatchNotifyCanceledInner(const std::vector", currNotifications.size()); - if (record->subscriber != nullptr) { - if (notificationMap != nullptr) { - record->subscriber->OnCanceledList(currNotifications, notificationMap, deleteReason); - } else { - record->subscriber->OnCanceledList(currNotifications, deleteReason); - } + if (record->subscriber == nullptr) { + return; + } + if (notificationMap != nullptr) { + record->subscriber->OnCanceledList(currNotifications, notificationMap, deleteReason); + } else { + record->subscriber->OnCanceledList(currNotifications, deleteReason); } } } diff --git a/tools/test/mock/mock_ans_manager_stub.h b/tools/test/mock/mock_ans_manager_stub.h index 312a7eabe..c180dbf15 100644 --- a/tools/test/mock/mock_ans_manager_stub.h +++ b/tools/test/mock/mock_ans_manager_stub.h @@ -167,7 +167,7 @@ public: return ERR_ANS_INVALID_PARAM; } - ErrCode RemoveNotification(const sptr& bundleOption, int notificationId, + ErrCode RemoveNotification(const sptr& bundleOption, int32_t notificationId, const std::string& label, int32_t removeReason) override { return ERR_ANS_INVALID_PARAM; @@ -612,7 +612,7 @@ public: return ERR_ANS_INVALID_PARAM; } - ErrCode DistributeOperation(sptr& operationInfo, + ErrCode DistributeOperation(const sptr& operationInfo, const sptr& operationCallback) override { return ERR_ANS_INVALID_PARAM; -- Gitee