diff --git a/README_zh.md b/README_zh.md index 0aad54ba54fe29910ae80822ac0f194c1575b6f4..4004597ce4ad23b8d4a3048c726a2ce9bed72300 100644 --- a/README_zh.md +++ b/README_zh.md @@ -47,242 +47,6 @@ ANS支持4种类型的通道,分别为: 并且可调整通知的分发时间、角标数字、分组、触发事件等属性。 -## 核心API说明 -#### 导入模块 - -``` -import notify from '@ohos.notification'; -``` - -#### 发布通知 (callback形式) - -- 接口说明 - - 发布通知(callback形式) - -- publish参数描述 - - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------- | -------- | ------------------- | ---- | ------------------------------------------- | -| request | 只读 | NotificationRequest | 是 | 设置要发布通知内容的NotificationRequest对象 | -| callback | 只读 | AsyncCallback | 是 | 被指定的回调方法 | - -- NotificationRequest类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------------- | -------- | ------------------------------- | ---- | -------------------------- | -| content | 读、写 | NotificationContent | 是 | 通知内容 | -| id | 读、写 | number | 否 | 通知ID | -| slotType | 读、写 | SlotType | 否 | 通道类型 | -| isOngoing | 读、写 | boolean | 否 | 是否进行时通知 | -| isUnremovable | 读、写 | boolean | 否 | 是否可移除 | -| deliveryTime | 读、写 | number | 否 | 通知发送时间 | -| tapDismissed | 读、写 | boolean | 否 | 通知是否自动清除 | -| autoDeletedTime | 读、写 | number | 否 | 自动清除的时间 | -| wantAgent | 读、写 | WantAgent | 否 | 点击跳转的WantAgent | -| extraInfo | 读、写 | {[key: string]: any} | 否 | 扩展参数 | -| color | 读、写 | number | 否 | 通知背景颜色 | -| colorEnabled | 读、写 | boolean | 否 | 通知背景颜色是否使能 | -| isAlertOnce | 读、写 | boolean | 否 | 设置是否仅有一次此通知警报 | -| isStopwatch | 读、写 | boolean | 否 | 是否显示已用时间 | -| isCountDown | 读、写 | boolean | 否 | 是否显示倒计时时间 | -| isFloatingIcon | 读、写 | boolean | 否 | 是否显示状态栏图标 | -| isFloatingIcon | 读、写 | boolean | 否 | 是否显示状态栏图标 | -| label | 读、写 | string | 否 | 通知标签 | -| badgeIconStyle | 读、写 | number | 否 | 通知角标类型 | -| showDeliveryTime | 读、写 | boolean | 否 | 是否显示分发时间 | -| actionButtons | 读、写 | Array | 否 | 通知按钮,最多两个按钮 | -| smallIcon | 读、写 | PixelMap | 否 | 通知小图标 | -| largeIcon | 读、写 | PixelMap | 否 | 通知大图标 | -| creatorBundleName | 只读 | string | 否 | 创建通知的包名 | -| creatorUid | 只读 | number | 否 | 创建通知的UID | -| creatorPid | 只读 | number | 否 | 创建通知的PID | -| hashCode | 只读 | string | 否 | 通知唯一标识 | -| classification | 读、写 | string | 否 | 通知分类 | - -NotificationContent类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ----------- | -------- | ---------------------------- | ---- | -------------- | -| contentType | 读、写 | ContentType | 是 | 通知内容类型 | -| normal | 读、写 | NotificationBasicContent | 否 | 通知基本内容 | -| longText | 读、写 | NotificationLongTextContent | 否 | 通知长文本内容 | -| multiLine | 读、写 | NotificationMultiLineContent | 否 | 通知多行内容 | - -- NotificationBasicContent类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| -------------- | -------- | ------ | ---- | ------------------ | -| title | 读、写 | string | 是 | 普通文本通知标题 | -| text | 读、写 | string | 是 | 普通文本通知内容 | -| additionalText | 读、写 | string | 否 | 普通文本通知附加信 | - -- NotificationLongTextContent类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| ------------- | -------- | ------ | ---- | ---------------------- | -| longText | 读、写 | string | 是 | 长文本通知长文本内容 | -| briefText | 读、写 | string | 是 | 长文本通知简略文本内容 | -| expandedTitle | 读、写 | string | 是 | 长文本通知扩展标题 | - -- NotificationMultiLineContent类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | ------------- | ---- | ---------------------- | -| briefText | 读、写 | string | 是 | 多行文本通知简略内容 | -| longTitle | 读、写 | string | 是 | 多行文本通知长文本标题 | -| lines | 读、写 | Array | 是 | 长文本通知扩展标题 | - -- NotificationActionButton类型说明 - -| 名称 | 读写属性 | 类型 | 必填 | 描述 | -| --------- | -------- | -------------- | ---- | ------------------------- | -| title | 读、写 | string | 是 | 按钮标题 | -| wantAgent | 读、写 | wantAgent | 是 | 点击按钮时触发的WantAgent | -| extras | 读、写 | Array | 否 | 按钮扩展信息 | -| icon | 读、写 | image.PixelMap | 否 | 按钮图标 | - -- - - 返回值为void - -- 示例 - -```js -//publish回调 -function publishCallback(err) { - console.info("==========================>publishCallback=======================>"); -} -//通知Request对象 -var notificationRequest = { - id: 1, - content: { - contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, - normal: { - title: "test_title", - text: "test_text", - additionalText: "test_additionalText" - } - } -} -Notification.publish(notificationRequest, publishCallback) -``` - - - -#### 发布通知(Promise形式) - -- 接口说明 - - 发布通知(Promise形式) - -- - - 返回值为Promise<**void**> - -- 示例 - -```js -//通知Request对象 -var notificationRequest = { - notificationId: 1, - content: { - contentType: notify.ContentType.NOTIFICATION_CONTENT_BASIC_TEXT, - normal: { - title: "test_title", - text: "test_text", - additionalText: "test_additionalText" - } - } -} -Notification.publish(notificationRequest).then((void) => { - console.info("==========================>publishCallback=======================>"); -}); - -``` - - - -#### 取消通知 (callback形式) - -- 接口说明 - - 取消与指定id和label相匹配的已发布通知(callback形式) - -- cancel参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ------------------- | ---- | -------------------- | - | id | 只读 | number | 是 | 通知ID | - | lable | 只读 | string | 是 | 通知标签 | - | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 | - -- - - 返回值为void - -- 示例 - -```js -//cancel回调 -function cancelCallback(err) { - console.info("==========================>cancelCallback=======================>"); -} -Notification.cancel(0, "label", cancelCallback) -``` -#### 取消通知 (Promise形式) - -- 接口说明 - - 取消与指定id相匹配的已发布通知,label可以指定也可以不指定(Promise形式) - -- cancel参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | ----- | -------- | ------ | ---- | -------- | - | id | 只读 | number | 是 | 通知ID | - | lable | 只读 | string | 是 | 通知标签 | - -- - - 返回值为Promise<**void**> - -- 示例 - -```js -Notification.cancel(0).then((void) => { - console.info("==========================>cancelCallback=======================>"); -}); -``` - - -- 接口说明 - - 取消与指定id相匹配的已发布通知(callback形式) - -- cancel参数描述 - - | 名称 | 读写属性 | 类型 | 必填 | 描述 | - | -------- | -------- | ------------------- | ---- | -------------------- | - | id | 只读 | number | 是 | 通知ID | - | callback | 只读 | AsyncCallback | 是 | 表示被指定的回调方法 | - -- - - 返回值为void - -- 示例 - -```js -//cancel回调 -function cancelCallback(err) { - console.info("==========================>cancelCallback=======================>"); -} -Notification.cancel(0, cancelCallback) -``` - - ## 相关仓 事件通知子系统 @@ -293,6 +57,4 @@ Notification.cancel(0, cancelCallback) [appexecfwk\_standard](https://gitee.com/openharmony/appexecfwk_standard) -[notification_ces_standard](https://gitee.com/openharmony/notification_ces_standard) - [distributeddatamgr\_datamgr](https://gitee.com/openharmony/distributeddatamgr_datamgr) \ No newline at end of file diff --git a/frameworks/ans/test/moduletest/ans_fw_module_test.cpp b/frameworks/ans/test/moduletest/ans_fw_module_test.cpp index 5b39ee2df70c8fc759aa4cfb98531c0a6e2ac334..d851d969aabf4732c097031d3ff293afdb00b0c2 100644 --- a/frameworks/ans/test/moduletest/ans_fw_module_test.cpp +++ b/frameworks/ans/test/moduletest/ans_fw_module_test.cpp @@ -246,39 +246,39 @@ private: class TestAnsSubscriber : public NotificationSubscriber { public: - virtual void OnSubscribeResult(NotificationConstant::SubscribeResult result) override + void OnSubscribeResult(NotificationConstant::SubscribeResult result) override { std::shared_ptr event = std::make_shared(result); std::unique_lock lck(mtx_); events_.push_back(event); } - virtual void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override + void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override { std::shared_ptr event = std::make_shared(result); std::unique_lock lck(mtx_); events_.push_back(event); } - virtual void OnDied() override + void OnDied() override {} - virtual void OnUpdate(const std::shared_ptr &sortingMap) override + void OnUpdate(const std::shared_ptr &sortingMap) override { std::shared_ptr event = std::make_shared(sortingMap); std::unique_lock lck(mtx_); events_.push_back(event); } - virtual void OnDisturbModeChanged(int disturbMode) override + void OnDisturbModeChanged(int disturbMode) override { std::shared_ptr event = std::make_shared(disturbMode); std::unique_lock lck(mtx_); events_.push_back(event); } - virtual void OnCanceled(const std::shared_ptr &request) override + void OnCanceled(const std::shared_ptr &request) override { std::shared_ptr event = std::make_shared(request); std::unique_lock lck(mtx_); events_.push_back(event); } - virtual void OnCanceled(const std::shared_ptr &request, + void OnCanceled(const std::shared_ptr &request, const std::shared_ptr &sortingMap, int deleteReason) override { std::shared_ptr event = @@ -286,14 +286,14 @@ public: std::unique_lock lck(mtx_); events_.push_back(event); } - virtual void OnConsumed(const std::shared_ptr &request) override + void OnConsumed(const std::shared_ptr &request) override { std::shared_ptr event = std::make_shared(request); std::unique_lock lck(mtx_); events_.push_back(event); } - virtual void OnConsumed(const std::shared_ptr &request, + void OnConsumed(const std::shared_ptr &request, const std::shared_ptr &sortingMap) override { std::shared_ptr event = diff --git a/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp b/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp index 656932c2043bb1da4c864add54ab2edf13eae208..d755b0151ac19b60f4e18e540bc2c2488c1895fc 100644 --- a/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp +++ b/frameworks/ans/test/moduletest/mock/distributed_kv_data_manager.cpp @@ -17,7 +17,6 @@ #include "distributed_kv_data_manager.h" #include "constant.h" -//#include "ikvstore.h" #include "mock_single_kv_store.h" #include "types.h" diff --git a/frameworks/ans/test/moduletest/mock/include/mock_bundle_manager.h b/frameworks/ans/test/moduletest/mock/include/mock_bundle_manager.h index de0de2d65dcb58b881bd32989fae29e85001eaa8..fd4ac0f63f83da320a137fb47b9b3d22ca4d9d22 100644 --- a/frameworks/ans/test/moduletest/mock/include/mock_bundle_manager.h +++ b/frameworks/ans/test/moduletest/mock/include/mock_bundle_manager.h @@ -378,7 +378,7 @@ public: * @param bundleName Indicates the bundle name of the application. * @return Returns true if this function is successfully called; returns false otherwise. */ - virtual bool GetFormsInfoByModule( + virtual bool GetFormsInfoByModule( const std::string &bundleName, const std::string &moduleName, std::vector &formInfos) override { return true; diff --git a/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h b/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h index 8a777ea02ea632ddcbd69ebd89a4a6240a9b2a2c..59a5d5c0498ff53c455d313e343c31a284accd9a 100644 --- a/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h +++ b/frameworks/ans/test/moduletest/mock/include/mock_single_kv_store.h @@ -29,222 +29,75 @@ namespace OHOS { namespace DistributedKv { -// This is a public interface. Implementation of this class is in AppKvStoreImpl. -// This class provides put, delete, search, sync and subscribe functions of a key-value store. + class AnsTestSingleKvStore : public SingleKvStore { public: - - // Get all entries in this store which key start with prefixKey. - // Parameters: - // perfixkey: the prefix to be searched. - // entries: entries will be returned in this parameter. - // Return: - // Status of this GetEntries operation. virtual Status GetEntries(const Key &prefixKey, std::vector &entries) const override; - // Get all entries in this store by query. - // Parameters: - // query: the query string. - // entries: entries will be returned in this parameter. - // Return: - // Status of this GetEntries operation. virtual Status GetEntriesWithQuery(const std::string &query, std::vector &entries) const override; - // Get all entries in this store by query. - // Parameters: - // query: the query object. - // entries: entries will be returned in this parameter. - // Return: - // Status of this GetEntries operation. virtual Status GetEntriesWithQuery(const DataQuery &query, std::vector &entries) const override; - // Get ResultSet in this store which key start with prefixKey. - // Parameters: - // perfixkey: the prefix to be searched. - // resultSet: resultSet will be returned in this parameter. - // Return: - // Status of this GetResultSet operation. - virtual void GetResultSet(const Key &prefixKey, - std::function)> callback) const override; - - // Get ResultSet in this store by Query. - // Parameters: - // query: the query string. - // resultSet: resultSet will be returned in this parameter. - // Return: - // Status of this GetResultSet operation. + virtual void GetResultSet( + const Key &prefixKey, std::function)> callback) const override; + virtual void GetResultSetWithQuery(const std::string &query, - std::function)> callback) const override; - - // Get ResultSet in this store by Query. - // Parameters: - // query: the query object. - // resultSet: resultSet will be returned in this parameter. - // Return: - // Status of this GetResultSet operation. - virtual void GetResultSetWithQuery(const DataQuery &query, - std::function)> callback) const override; - - // Close the ResultSet returned by GetResultSet. - // Parameters: - // resultSet: resultSet will be returned in this parameter. - // Return: - // Status of this CloseResultSet operation. + std::function)> callback) const override; + + virtual void GetResultSetWithQuery( + const DataQuery &query, std::function)> callback) const override; + virtual Status CloseResultSet(std::unique_ptr resultSet) override; - // Get the number of result by query. - // Parameters: - // query: the query string. - // result: result will be returned in this parameter. - // Return: - // Status of this CloseResultSet operation. virtual Status GetCountWithQuery(const std::string &query, int &result) const override; - // Get the number of result by query. - // Parameters: - // query: the query object. - // result: result will be returned in this parameter. - // Return: - // Status of this CloseResultSet operation. virtual Status GetCountWithQuery(const DataQuery &query, int &result) const override; - // Sync store with other devices. This is an asynchronous method, - // sync will fail if there is a syncing operation in progress. - // Parameters: - // deviceIdList: device list to sync. - // mode: mode can be set to SyncMode::PUSH, SyncMode::PULL and SyncMode::PUTH_PULL. PUSH_PULL will firstly - // push all not-local store to listed devices, then pull these stores back. - // allowedDelayMs: allowed delay milli-second to sync. default value is 0 for compatibility. - // Return: - // Status of this Sync operation. - virtual Status Sync(const std::vector &deviceIdList, const SyncMode &mode, - uint32_t allowedDelayMs = 0) override; - - // Remove the device data synced from remote. - // Parameters: - // device: device id. - // Return: - // Status of this remove operation. + virtual Status Sync( + const std::vector &deviceIdList, const SyncMode &mode, uint32_t allowedDelayMs = 0) override; + virtual Status RemoveDeviceData(const std::string &device) override; - // Get id of this SingleKvStore. virtual StoreId GetStoreId() const override; - // Delete an entry by its key. - // Parameters: - // key: key of the entry to be deleted. - // Return: - // Status of this delete operation. virtual Status Delete(const Key &key) override; - // Write a pair of key and value to this store. - // Parameters: - // key: key of this entry. Should be less than 1024 bytes. key will be trimmed before store. - // value: value of this entry. Should be less than (4 * 1024 * 1024) bytes. - // Return: - // Status of this put operation. virtual Status Put(const Key &key, const Value &value) override; - // Get value from AppKvStore by its key. - // Parameters: - // key: key of this entry. - // value: value will be returned in this parameter. - // Return: - // Status of this get operation. virtual Status Get(const Key &key, Value &value) override; - // subscribe change of this kvstore to a client-defined observer. observer->OnChange method will be called when store - // changes. - // Parameters: - // subscribeType: SUBSCRIBE_TYPE_LOCAL means local changes of syncable kv store, - // : SUBSCRIBE_TYPE_REMOTE means synced data changes from remote devices, - // : SUBSCRIBE_TYPE_ALL means both local changes and synced data changes. - // observer: observer to subscribe changes. - // Return: - // Status of this subscribe operation. virtual Status SubscribeKvStore(SubscribeType subscribeType, std::shared_ptr observer) override; - // un-subscribe change of this kvstore to a client-defined observer. - // Parameters: - // subscribeType: SUBSCRIBE_TYPE_LOCAL means local changes of syncable kv store, - // : SUBSCRIBE_TYPE_REMOTE means synced data changes from remote devices, - // : SUBSCRIBE_TYPE_ALL means both local changes and synced data changes. - // observer: observer to subscribe changes. - // Return: - // Status of this subscribe operation. virtual Status UnSubscribeKvStore(SubscribeType subscribeType, std::shared_ptr observer) override; - // register message for sync operation. - // Parameters: - // callback: callback to register. - // Return: - // Status of this register operation. virtual Status RegisterSyncCallback(std::shared_ptr callback) override; - // un-register message for sync operation. - // Parameters: - // callback: callback to register. - // Return: - // Status of this register operation. virtual Status UnRegisterSyncCallback() override; - // see Put, PutBatch put a list of entries to kvstore, - // all entries will be put in a transaction, - // if entries contains invalid entry, PutBatch will all fail. - // entries's size should be less than 128 and memory size must be less than IPC transport limit. virtual Status PutBatch(const std::vector &entries) override; - // delete a list of entries in the kvstore, - // delete key not exist still return success, - // key length should not be greater than 256, and can not be empty. - // if keys contains invalid key, all delete will fail. - // keys memory size should not be greater than IPC transport limit, and can not be empty. virtual Status DeleteBatch(const std::vector &keys) override; - // start transaction. - // all changes to this kvstore will be in a same transaction and will not change the store until Commit() or - // Rollback() is called. - // before this transaction is committed or rollbacked, all attemption to close this store will fail. virtual Status StartTransaction() override; - // commit current transaction. all changes to this store will be done after calling this method. - // any calling of this method outside a transaction will fail. virtual Status Commit() override; - // rollback current transaction. - // all changes to this store during this transaction will be rollback after calling this method. - // any calling of this method outside a transaction will fail. virtual Status Rollback() override; - // set synchronization parameters of this store. - // Parameters: - // syncParam: sync policy parameter. - // Return: - // Status of this operation. virtual Status SetSyncParam(const KvSyncParam &syncParam) override; - // get synchronization parameters of this store. - // Parameters: - // syncParam: sync policy parameter. - // Return: - // Status of this operation. virtual Status GetSyncParam(KvSyncParam &syncParam) override; virtual Status SetCapabilityEnabled(bool enabled) const override; virtual Status SetCapabilityRange(const std::vector &localLabels, - const std::vector &remoteSupportLabels) const override; + const std::vector &remoteSupportLabels) const override; virtual Status GetSecurityLevel(SecurityLevel &securityLevel) const override; + protected: - // control this store. - // Parameters: - // inputParam: input parameter. - // output: output data, nullptr if no data is returned. - // Return: - // Status of this control operation. KVSTORE_API virtual Status Control(KvControlCmd cmd, const KvParam &inputParam, sptr &output) override; }; -} // namespace AppDistributedKv +} // namespace DistributedKv } // namespace OHOS #endif // SINGLE_KV_STORE_H diff --git a/frameworks/ans/test/moduletest/mock/mock_ipc.cpp b/frameworks/ans/test/moduletest/mock/mock_ipc.cpp index 35f5b7b31c49f5178fb52e9d8016c9f564236807..925cb45559cb247e182f2dc516768e404d025bd5 100644 --- a/frameworks/ans/test/moduletest/mock/mock_ipc.cpp +++ b/frameworks/ans/test/moduletest/mock/mock_ipc.cpp @@ -35,6 +35,6 @@ int IPCSkeleton::GetCallingPid() void IPCSkeleton::SetCallingUid(int uid) { - uid_ = uid; + uid_ = uid; } } // namespace OHOS diff --git a/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp b/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp index 4b580d297471fb6658f861e020621e89b8cb9382..85aed3fef5427378195420cc7428132c0a21d60d 100644 --- a/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp +++ b/frameworks/ans/test/moduletest/mock/mock_single_kv_store.cpp @@ -18,132 +18,60 @@ namespace OHOS { namespace DistributedKv { -// Get all entries in this store which key start with prefixKey. -// Parameters: -// perfixkey: the prefix to be searched. -// entries: entries will be returned in this parameter. -// Return: -// Status of this GetEntries operation. + Status AnsTestSingleKvStore::GetEntries(const Key &prefixKey, std::vector &entries) const { return Status::SUCCESS; } -// Get all entries in this store by query. -// Parameters: -// query: the query string. -// entries: entries will be returned in this parameter. -// Return: -// Status of this GetEntries operation. Status AnsTestSingleKvStore::GetEntriesWithQuery(const std::string &query, std::vector &entries) const { return Status::SUCCESS; } -// Get all entries in this store by query. -// Parameters: -// query: the query object. -// entries: entries will be returned in this parameter. -// Return: -// Status of this GetEntries operation. Status AnsTestSingleKvStore::GetEntriesWithQuery(const DataQuery &query, std::vector &entries) const { return Status::SUCCESS; } -// Get ResultSet in this store which key start with prefixKey. -// Parameters: -// perfixkey: the prefix to be searched. -// resultSet: resultSet will be returned in this parameter. -// Return: -// Status of this GetResultSet operation. -void AnsTestSingleKvStore::GetResultSet(const Key &prefixKey, - std::function)> callback) const -{ - -} - -// Get ResultSet in this store by Query. -// Parameters: -// query: the query string. -// resultSet: resultSet will be returned in this parameter. -// Return: -// Status of this GetResultSet operation. -void AnsTestSingleKvStore::GetResultSetWithQuery(const std::string &query, - std::function)> callback) const -{ - -} +void AnsTestSingleKvStore::GetResultSet( + const Key &prefixKey, std::function)> callback) const +{} -// Get ResultSet in this store by Query. -// Parameters: -// query: the query object. -// resultSet: resultSet will be returned in this parameter. -// Return: -// Status of this GetResultSet operation. -void AnsTestSingleKvStore::GetResultSetWithQuery(const DataQuery &query, - std::function)> callback) const -{ +void AnsTestSingleKvStore::GetResultSetWithQuery( + const std::string &query, std::function)> callback) const +{} -} +void AnsTestSingleKvStore::GetResultSetWithQuery( + const DataQuery &query, std::function)> callback) const +{} -// Close the ResultSet returned by GetResultSet. -// Parameters: -// resultSet: resultSet will be returned in this parameter. -// Return: -// Status of this CloseResultSet operation. Status AnsTestSingleKvStore::CloseResultSet(std::unique_ptr resultSet) { return Status::SUCCESS; } -// Get the number of result by query. -// Parameters: -// query: the query string. -// result: result will be returned in this parameter. -// Return: -// Status of this CloseResultSet operation. Status AnsTestSingleKvStore::GetCountWithQuery(const std::string &query, int &result) const { return Status::SUCCESS; } -// Get the number of result by query. -// Parameters: -// query: the query object. -// result: result will be returned in this parameter. -// Return: -// Status of this CloseResultSet operation. Status AnsTestSingleKvStore::GetCountWithQuery(const DataQuery &query, int &result) const { return Status::SUCCESS; } -// Sync store with other devices. This is an asynchronous method, -// sync will fail if there is a syncing operation in progress. -// Parameters: -// deviceIdList: device list to sync. -// mode: mode can be set to SyncMode::PUSH, SyncMode::PULL and SyncMode::PUTH_PULL. PUSH_PULL will firstly -// push all not-local store to listed devices, then pull these stores back. -// allowedDelayMs: allowed delay milli-second to sync. default value is 0 for compatibility. -// Return: -// Status of this Sync operation. -Status AnsTestSingleKvStore::Sync(const std::vector &deviceIdList, const SyncMode &mode, uint32_t allowedDelayMs) +Status AnsTestSingleKvStore::Sync( + const std::vector &deviceIdList, const SyncMode &mode, uint32_t allowedDelayMs) { return Status::SUCCESS; } -// Remove the device data synced from remote. -// Parameters: -// device: device id. -// Return: -// Status of this remove operation. Status AnsTestSingleKvStore::RemoveDeviceData(const std::string &device) { return Status::SUCCESS; } -// Get id of this SingleKvStore. StoreId AnsTestSingleKvStore::GetStoreId() const { StoreId storeId; @@ -151,70 +79,31 @@ StoreId AnsTestSingleKvStore::GetStoreId() const return storeId; } -// Delete an entry by its key. -// Parameters: -// key: key of the entry to be deleted. -// Return: -// Status of this delete operation. Status AnsTestSingleKvStore::Delete(const Key &key) { return Status::SUCCESS; } -// Write a pair of key and value to this store. -// Parameters: -// key: key of this entry. Should be less than 1024 bytes. key will be trimmed before store. -// value: value of this entry. Should be less than (4 * 1024 * 1024) bytes. -// Return: -// Status of this put operation. Status AnsTestSingleKvStore::Put(const Key &key, const Value &value) { return Status::SUCCESS; } -// Get value from AppKvStore by its key. -// Parameters: -// key: key of this entry. -// value: value will be returned in this parameter. -// Return: -// Status of this get operation. Status AnsTestSingleKvStore::Get(const Key &key, Value &value) { return Status::SUCCESS; } -// subscribe change of this kvstore to a client-defined observer. observer->OnChange method will be called when store -// changes. -// Parameters: -// subscribeType: SUBSCRIBE_TYPE_LOCAL means local changes of syncable kv store, -// : SUBSCRIBE_TYPE_REMOTE means synced data changes from remote devices, -// : SUBSCRIBE_TYPE_ALL means both local changes and synced data changes. -// observer: observer to subscribe changes. -// Return: -// Status of this subscribe operation. Status AnsTestSingleKvStore::SubscribeKvStore(SubscribeType subscribeType, std::shared_ptr observer) { return Status::SUCCESS; } -// un-subscribe change of this kvstore to a client-defined observer. -// Parameters: -// subscribeType: SUBSCRIBE_TYPE_LOCAL means local changes of syncable kv store, -// : SUBSCRIBE_TYPE_REMOTE means synced data changes from remote devices, -// : SUBSCRIBE_TYPE_ALL means both local changes and synced data changes. -// observer: observer to subscribe changes. -// Return: -// Status of this subscribe operation. Status AnsTestSingleKvStore::UnSubscribeKvStore(SubscribeType subscribeType, std::shared_ptr observer) { return Status::SUCCESS; } -// register message for sync operation. -// Parameters: -// callback: callback to register. -// Return: -// Status of this register operation. Status AnsTestSingleKvStore::RegisterSyncCallback(std::shared_ptr callback) { return Status::SUCCESS; @@ -230,56 +119,31 @@ Status AnsTestSingleKvStore::PutBatch(const std::vector &entries) return Status::SUCCESS; } - -// delete a list of entries in the kvstore, -// delete key not exist still return success, -// key length should not be greater than 256, and can not be empty. -// if keys contains invalid key, all delete will fail. -// keys memory size should not be greater than IPC transport limit, and can not be empty. Status AnsTestSingleKvStore::DeleteBatch(const std::vector &keys) { return Status::SUCCESS; } -// start transaction. -// all changes to this kvstore will be in a same transaction and will not change the store until Commit() or -// Rollback() is called. -// before this transaction is committed or rollbacked, all attemption to close this store will fail. Status AnsTestSingleKvStore::StartTransaction() { return Status::SUCCESS; } -// commit current transaction. all changes to this store will be done after calling this method. -// any calling of this method outside a transaction will fail. Status AnsTestSingleKvStore::Commit() { return Status::SUCCESS; } -// rollback current transaction. -// all changes to this store during this transaction will be rollback after calling this method. -// any calling of this method outside a transaction will fail. Status AnsTestSingleKvStore::Rollback() { return Status::SUCCESS; } -// set synchronization parameters of this store. -// Parameters: -// syncParam: sync policy parameter. -// Return: -// Status of this operation. Status AnsTestSingleKvStore::SetSyncParam(const KvSyncParam &syncParam) { return Status::SUCCESS; } -// get synchronization parameters of this store. -// Parameters: -// syncParam: sync policy parameter. -// Return: -// Status of this operation. Status AnsTestSingleKvStore::GetSyncParam(KvSyncParam &syncParam) { return Status::SUCCESS; @@ -290,8 +154,8 @@ Status AnsTestSingleKvStore::SetCapabilityEnabled(bool enabled) const return Status::SUCCESS; } -Status AnsTestSingleKvStore::SetCapabilityRange(const std::vector &localLabels, - const std::vector &remoteSupportLabels) const +Status AnsTestSingleKvStore::SetCapabilityRange( + const std::vector &localLabels, const std::vector &remoteSupportLabels) const { return Status::SUCCESS; } @@ -306,6 +170,5 @@ Status AnsTestSingleKvStore::Control(KvControlCmd cmd, const KvParam &inputParam return Status::SUCCESS; } - } // namespace DistributedKv } // namespace OHOS \ No newline at end of file diff --git a/frameworks/wantagent/test/unittest/pending_want_test/pending_want_test.cpp b/frameworks/wantagent/test/unittest/pending_want_test/pending_want_test.cpp index b4346f66894a4e2ebfa868f6eafeed2f614878dd..196a3e36309e7bbf810c5638f4a12a983cc47385 100644 --- a/frameworks/wantagent/test/unittest/pending_want_test/pending_want_test.cpp +++ b/frameworks/wantagent/test/unittest/pending_want_test/pending_want_test.cpp @@ -74,12 +74,12 @@ public: class WantSender : public AAFwk::WantSenderStub { public: - virtual void Send(SenderInfo &senderInfo) override; + void Send(SenderInfo &senderInfo) override; }; class CancelListenerSon : public CancelListener { public: - virtual void OnCancelled(int resultCode) override; + void OnCancelled(int resultCode) override; }; }; diff --git a/frameworks/wantagent/test/unittest/want_agent_helper_test/want_agent_helper_test.cpp b/frameworks/wantagent/test/unittest/want_agent_helper_test/want_agent_helper_test.cpp index 3b1ebfddaa6e6c965a7c4f18eba4ea9337745284..156b5dd3a8d3101f31464684f5cd549406ba5422 100644 --- a/frameworks/wantagent/test/unittest/want_agent_helper_test/want_agent_helper_test.cpp +++ b/frameworks/wantagent/test/unittest/want_agent_helper_test/want_agent_helper_test.cpp @@ -56,7 +56,7 @@ public: void TearDown(); class WantSender : public AAFwk::WantSenderStub { public: - virtual void Send(SenderInfo &senderInfo) override; + void Send(SenderInfo &senderInfo) override; }; }; diff --git a/frameworks/wantagent/test/unittest/want_agent_info_test/want_agent_info_test.cpp b/frameworks/wantagent/test/unittest/want_agent_info_test/want_agent_info_test.cpp index 03e10f936d58df85e12fb73d4033c71cb2906c06..b3b03055a5e7cc6459be00aea2b5f3e754042976 100644 --- a/frameworks/wantagent/test/unittest/want_agent_info_test/want_agent_info_test.cpp +++ b/frameworks/wantagent/test/unittest/want_agent_info_test/want_agent_info_test.cpp @@ -56,7 +56,7 @@ public: void TearDown(); class WantSender : public AAFwk::WantSenderStub { public: - virtual void Send(SenderInfo &senderInfo) override; + void Send(SenderInfo &senderInfo) override; }; }; diff --git a/frameworks/wantagent/test/unittest/want_agent_test/want_agent_test.cpp b/frameworks/wantagent/test/unittest/want_agent_test/want_agent_test.cpp index 5eab24b3baf2873744733b87f1a1f8c757cb996e..8d7ef1d52a3e640e410154e82baa091e9e80dd9c 100644 --- a/frameworks/wantagent/test/unittest/want_agent_test/want_agent_test.cpp +++ b/frameworks/wantagent/test/unittest/want_agent_test/want_agent_test.cpp @@ -56,7 +56,7 @@ public: void TearDown(); class WantSender : public AAFwk::WantSenderStub { public: - virtual void Send(SenderInfo &senderInfo) override; + void Send(SenderInfo &senderInfo) override; }; }; diff --git a/interfaces/innerkits/ans/native/include/notification_request.h b/interfaces/innerkits/ans/native/include/notification_request.h index f3c236fe22628b691af798f95c9ea3bf295ef4e5..1536f675bc07ebc95ed98951705f4a5def950195 100644 --- a/interfaces/innerkits/ans/native/include/notification_request.h +++ b/interfaces/innerkits/ans/native/include/notification_request.h @@ -325,7 +325,7 @@ public: /** * Adds a NotificationActionButton to this notification. - * The system typically places action buttons next to the notification content. + * An operation button is usually placed next to the notification content by the system. * Each action button must contain an icon, a title, and an WantAgent. When a notification is expanded, * a maximum of three action buttons can be displayed from left to right in the order they were added. * When the notification is collapsed, no action buttons will be displayed. diff --git a/interfaces/kits/napi/wantagent/napi_want_agent.cpp b/interfaces/kits/napi/wantagent/napi_want_agent.cpp index 9876c492188dc7aad2d81e343345d1750cd3c12a..aeb4f5fc151ddcd2a100662b8d94f1ae8a0f31e0 100644 --- a/interfaces/kits/napi/wantagent/napi_want_agent.cpp +++ b/interfaces/kits/napi/wantagent/napi_want_agent.cpp @@ -44,47 +44,34 @@ void TriggerCompleteCallBack::SetWantAgentInstance(const std::shared_ptrdata; + + TriggerReceiveDataWorker *dataWorkerData = static_cast(work->data); if (dataWorkerData == nullptr) { HILOG_INFO("TriggerReceiveDataWorker instance(uv_work_t) is nullptr"); return; } napi_value result[NUMBER_OF_PARAMETERS_TWO] = {0}; - napi_value callback = nullptr; - napi_value undefined = nullptr; - napi_value callResult = nullptr; result[0] = GetCallbackErrorResult(dataWorkerData->env, BUSINESS_ERROR_CODE_OK); napi_create_object(dataWorkerData->env, &result[1]); // wrap wantAgent napi_value wantAgentClass = nullptr; - napi_define_class(dataWorkerData->env, - "WantAgentClass", - NAPI_AUTO_LENGTH, - [](napi_env env, napi_callback_info info) -> napi_value { - napi_value thisVar = nullptr; - napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); - return thisVar; - }, - nullptr, - 0, - nullptr, - &wantAgentClass); + auto constructorcb = [](napi_env env, napi_callback_info info) -> napi_value { + napi_value thisVar = nullptr; + napi_get_cb_info(env, info, nullptr, nullptr, &thisVar, nullptr); + return thisVar; + }; + napi_define_class( + dataWorkerData->env, "WantAgentClass", NAPI_AUTO_LENGTH, constructorcb, nullptr, 0, nullptr, &wantAgentClass); napi_value jsWantAgent = nullptr; napi_new_instance(dataWorkerData->env, wantAgentClass, 0, nullptr, &jsWantAgent); - napi_wrap(dataWorkerData->env, - jsWantAgent, - (void *)dataWorkerData->wantAgent.get(), - [](napi_env env, void *data, void *hint) {}, - nullptr, - nullptr); + auto finalizecb = [](napi_env env, void *data, void *hint) {}; + napi_wrap(dataWorkerData->env, jsWantAgent, (void *)dataWorkerData->wantAgent.get(), finalizecb, nullptr, nullptr); napi_set_named_property(dataWorkerData->env, result[1], "wantAgent", jsWantAgent); // wrap want - napi_value jsWant = nullptr; - jsWant = WrapWant(dataWorkerData->env, dataWorkerData->want); + napi_value jsWant = WrapWant(dataWorkerData->env, dataWorkerData->want); napi_set_named_property(dataWorkerData->env, result[1], "want", jsWant); // wrap finalCode napi_value jsFinalCode = nullptr; @@ -93,11 +80,14 @@ void TriggerCompleteCallBack::OnSendFinishedUvAfterWorkCallback(uv_work_t *work, // wrap finalData napi_value jsFinalData = nullptr; napi_create_string_utf8(dataWorkerData->env, dataWorkerData->resultData.c_str(), NAPI_AUTO_LENGTH, &jsFinalData); - napi_set_named_property(dataWorkerData->env, result[1], "finalData", jsFinalCode); + napi_set_named_property(dataWorkerData->env, result[1], "finalData", jsFinalData); // wrap extraInfo napi_value jsExtraInfo = WrapWantParams(dataWorkerData->env, dataWorkerData->resultExtras); napi_set_named_property(dataWorkerData->env, result[1], "extraInfo", jsExtraInfo); + napi_value callResult = nullptr; + napi_value undefined = nullptr; + napi_value callback = nullptr; napi_get_undefined(dataWorkerData->env, &undefined); napi_get_reference_value(dataWorkerData->env, dataWorkerData->ref, &callback); napi_call_function(dataWorkerData->env, undefined, callback, NUMBER_OF_PARAMETERS_TWO, &result[0], &callResult); @@ -105,8 +95,7 @@ void TriggerCompleteCallBack::OnSendFinishedUvAfterWorkCallback(uv_work_t *work, delete dataWorkerData; dataWorkerData = nullptr; delete work; - work = nullptr; -} +}; void TriggerCompleteCallBack::OnSendFinished( const AAFwk::Want &want, int resultCode, const std::string &resultData, const AAFwk::WantParams &resultExtras) @@ -145,17 +134,12 @@ void TriggerCompleteCallBack::OnSendFinished( dataWorker->ref = triggerCompleteInfo_.ref; dataWorker->wantAgent = triggerCompleteInfo_.wantAgent; work->data = (void *)dataWorker; - int ret = - uv_queue_work(loop, work, [](uv_work_t *work) {}, TriggerCompleteCallBack::OnSendFinishedUvAfterWorkCallback); + int ret = uv_queue_work(loop, work, [](uv_work_t *work) {}, OnSendFinishedUvAfterWorkCallback); if (ret != 0) { - if (dataWorker != nullptr) { - delete dataWorker; - dataWorker = nullptr; - } - if (work != nullptr) { - delete work; - work = nullptr; - } + delete dataWorker; + dataWorker = nullptr; + delete work; + work = nullptr; } HILOG_INFO("TriggerCompleteCallBack::OnSendFinished end"); @@ -234,17 +218,15 @@ napi_value WantAgentOperationTypeInit(napi_env env, napi_value exports) return exports; } -void NAPI_GetBundleNameExecuteCallBack(napi_env env, void *data) -{ +auto NAPI_GetBundleNameExecuteCallBack = [](napi_env env, void *data) { HILOG_INFO("GetBundleName called(CallBack Mode)..."); - AsyncGetBundleNameCallbackInfo *asyncCallbackInfo = (AsyncGetBundleNameCallbackInfo *)data; + AsyncGetBundleNameCallbackInfo *asyncCallbackInfo = static_cast(data); asyncCallbackInfo->bundleName = WantAgentHelper::GetBundleName(asyncCallbackInfo->wantAgent); -} +}; -void NAPI_GetBundleNameCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetBundleNameCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetBundleName compeleted(CallBack Mode)..."); - AsyncGetBundleNameCallbackInfo *asyncCallbackInfo = (AsyncGetBundleNameCallbackInfo *)data; + AsyncGetBundleNameCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result[NUMBER_OF_PARAMETERS_TWO] = {0}; napi_value callback = nullptr; napi_value undefined = nullptr; @@ -261,18 +243,17 @@ void NAPI_GetBundleNameCompleteCallBack(napi_env env, napi_status status, void * } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; -void NAPI_GetBundleNamePromiseCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetBundleNamePromiseCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetBundleName compeleted(Promise Mode)..."); - AsyncGetBundleNameCallbackInfo *asyncCallbackInfo = (AsyncGetBundleNameCallbackInfo *)data; + AsyncGetBundleNameCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result = nullptr; napi_create_string_utf8(env, asyncCallbackInfo->bundleName.c_str(), NAPI_AUTO_LENGTH, &result); napi_resolve_deferred(asyncCallbackInfo->env, asyncCallbackInfo->deferred, result); napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; napi_value NAPI_GetBundleNameWrap( napi_env env, napi_callback_info info, bool callBackMode, AsyncGetBundleNameCallbackInfo &asyncCallbackInfo) @@ -362,17 +343,15 @@ napi_value NAPI_GetBundleName(napi_env env, napi_callback_info info) return ((callBackMode) ? (NapiGetNull(env)) : (ret)); } -void NAPI_GetUidWrapExecuteCallBack(napi_env env, void *data) -{ +auto NAPI_GetUidWrapExecuteCallBack = [](napi_env env, void *data) { HILOG_INFO("GetUid called(CallBack Mode)..."); - AsyncGetUidCallbackInfo *asyncCallbackInfo = (AsyncGetUidCallbackInfo *)data; + AsyncGetUidCallbackInfo *asyncCallbackInfo = static_cast(data); asyncCallbackInfo->uid = WantAgentHelper::GetUid(asyncCallbackInfo->wantAgent); -} +}; -void NAPI_GetUidWrapCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetUidWrapCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetUid compeleted(CallBack Mode)..."); - AsyncGetUidCallbackInfo *asyncCallbackInfo = (AsyncGetUidCallbackInfo *)data; + AsyncGetUidCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result[NUMBER_OF_PARAMETERS_TWO] = {0}; napi_value callback = nullptr; napi_value undefined = nullptr; @@ -389,18 +368,17 @@ void NAPI_GetUidWrapCompleteCallBack(napi_env env, napi_status status, void *dat } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; -void NAPI_GetUidWrapPromiseCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetUidWrapPromiseCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetUid compeleted(Promise Mode)..."); - AsyncGetUidCallbackInfo *asyncCallbackInfo = (AsyncGetUidCallbackInfo *)data; + AsyncGetUidCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result = nullptr; napi_create_int32(env, asyncCallbackInfo->uid, &result); napi_resolve_deferred(asyncCallbackInfo->env, asyncCallbackInfo->deferred, result); napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; napi_value NAPI_GetUidWrap( napi_env env, napi_callback_info info, bool callBackMode, AsyncGetUidCallbackInfo &asyncCallbackInfo) @@ -489,17 +467,15 @@ napi_value NAPI_GetUid(napi_env env, napi_callback_info info) return ((callBackMode) ? (NapiGetNull(env)) : (ret)); } -void NAPI_GetWantWrapExecuteCallBack(napi_env env, void *data) -{ +auto NAPI_GetWantWrapExecuteCallBack = [](napi_env env, void *data) { HILOG_INFO("GetWant called(CallBack Mode)..."); - AsyncGetWantCallbackInfo *asyncCallbackInfo = (AsyncGetWantCallbackInfo *)data; + AsyncGetWantCallbackInfo *asyncCallbackInfo = static_cast(data); asyncCallbackInfo->want = WantAgentHelper::GetWant(asyncCallbackInfo->wantAgent); -} +}; -void NAPI_GetWantWrapCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetWantWrapCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetWant compeleted(CallBack Mode)..."); - AsyncGetWantCallbackInfo *asyncCallbackInfo = (AsyncGetWantCallbackInfo *)data; + AsyncGetWantCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result[NUMBER_OF_PARAMETERS_TWO] = {}; napi_value callback = nullptr; napi_value undefined = nullptr; @@ -515,17 +491,16 @@ void NAPI_GetWantWrapCompleteCallBack(napi_env env, napi_status status, void *da } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; -void NAPI_GetWantWrapPromiseCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetWantWrapPromiseCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetWant compeleted(Promise Mode)..."); - AsyncGetWantCallbackInfo *asyncCallbackInfo = (AsyncGetWantCallbackInfo *)data; + AsyncGetWantCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result = WrapWant(env, *(asyncCallbackInfo->want)); napi_resolve_deferred(asyncCallbackInfo->env, asyncCallbackInfo->deferred, result); napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; napi_value NAPI_GetWantWrap( napi_env env, napi_callback_info info, bool callBackMode, AsyncGetWantCallbackInfo &asyncCallbackInfo) @@ -630,19 +605,17 @@ void DeleteRecordByCode(const int32_t code) } } -void NAPI_CancelWrapExecuteCallBack(napi_env env, void *data) -{ +auto NAPI_CancelWrapExecuteCallBack = [](napi_env env, void *data) { HILOG_INFO("Cancel called(CallBack Mode)..."); - AsyncCancelCallbackInfo *asyncCallbackInfo = (AsyncCancelCallbackInfo *)data; + AsyncCancelCallbackInfo *asyncCallbackInfo = static_cast(data); int32_t code = WantAgentHelper::GetHashCode(asyncCallbackInfo->wantAgent); WantAgentHelper::Cancel(asyncCallbackInfo->wantAgent); DeleteRecordByCode(code); -} +}; -void NAPI_CancelWrapCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_CancelWrapCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("Cancel compeleted(CallBack Mode)..."); - AsyncCancelCallbackInfo *asyncCallbackInfo = (AsyncCancelCallbackInfo *)data; + AsyncCancelCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result[NUMBER_OF_PARAMETERS_TWO] = {nullptr}; napi_value callback = nullptr; napi_value undefined = nullptr; @@ -659,18 +632,17 @@ void NAPI_CancelWrapCompleteCallBack(napi_env env, napi_status status, void *dat } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; -void NAPI_CancelWrapPromiseCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_CancelWrapPromiseCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("Cancel compeleted(Promise Mode)..."); - AsyncCancelCallbackInfo *asyncCallbackInfo = (AsyncCancelCallbackInfo *)data; + AsyncCancelCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result = nullptr; napi_get_null(env, &result); napi_resolve_deferred(asyncCallbackInfo->env, asyncCallbackInfo->deferred, result); napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; napi_value NAPI_CancelWrap( napi_env env, napi_callback_info info, bool callBackMode, AsyncCancelCallbackInfo &asyncCallbackInfo) @@ -759,25 +731,23 @@ napi_value NAPI_Cancel(napi_env env, napi_callback_info info) return ((callBackMode) ? (NapiGetNull(env)) : (ret)); } -void NAPI_TriggerWrapExecuteCallBack(napi_env env, void *data) -{ +auto NAPI_TriggerWrapExecuteCallBack = [](napi_env env, void *data) { HILOG_INFO("Trigger called ..."); - AsyncTriggerCallbackInfo *asyncCallbackInfo = (AsyncTriggerCallbackInfo *)data; + AsyncTriggerCallbackInfo *asyncCallbackInfo = static_cast(data); asyncCallbackInfo->triggerObj->SetCallbackInfo(env, asyncCallbackInfo->callback[0]); asyncCallbackInfo->triggerObj->SetWantAgentInstance(asyncCallbackInfo->wantAgent); WantAgentHelper::TriggerWantAgent(asyncCallbackInfo->context, asyncCallbackInfo->wantAgent, asyncCallbackInfo->triggerObj, asyncCallbackInfo->triggerInfo); -} +}; -void NAPI_TriggerWrapCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_TriggerWrapCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("Trigger compeleted ..."); - AsyncTriggerCallbackInfo *asyncCallbackInfo = (AsyncTriggerCallbackInfo *)data; + AsyncTriggerCallbackInfo *asyncCallbackInfo = static_cast(data); napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; napi_value NAPI_TriggerWrap(napi_env env, napi_callback_info info, AsyncTriggerCallbackInfo &asyncCallbackInfo) { @@ -800,9 +770,12 @@ napi_value NAPI_TriggerWrap(napi_env env, napi_callback_info info, AsyncTriggerC return ret; } -napi_value NAPI_GetTriggerInfo(napi_value argv[NUMBER_OF_PARAMETERS_THREE], napi_env env, napi_callback_info info, - Notification::WantAgent::TriggerInfo &triggerInfo) +napi_value NAPI_GetTriggerInfo(napi_value argv[NUMBER_OF_PARAMETERS_THREE], uint8_t argvLen, napi_env env, + napi_callback_info info, Notification::WantAgent::TriggerInfo &triggerInfo) { + if (argvLen < 1) { + return nullptr; + } // Get triggerInfo napi_value jsTriggerInfo = argv[1]; napi_valuetype valueType = napi_valuetype::napi_null; @@ -878,7 +851,7 @@ napi_value NAPI_Trigger(napi_env env, napi_callback_info info) } Notification::WantAgent::TriggerInfo triggerInfo; - napi_value ret = NAPI_GetTriggerInfo(argv, env, info, triggerInfo); + napi_value ret = NAPI_GetTriggerInfo(argv, NUMBER_OF_PARAMETERS_THREE, env, info, triggerInfo); if (ret == nullptr) { return NapiGetNull(env); } @@ -909,18 +882,16 @@ napi_value NAPI_Trigger(napi_env env, napi_callback_info info) return NapiGetNull(env); } -void NAPI_EqualWrapExecuteCallBack(napi_env env, void *data) -{ +auto NAPI_EqualWrapExecuteCallBack = [](napi_env env, void *data) { HILOG_INFO("Equal called(CallBack Mode)..."); - AsyncEqualCallbackInfo *asyncCallbackInfo = (AsyncEqualCallbackInfo *)data; + AsyncEqualCallbackInfo *asyncCallbackInfo = static_cast(data); asyncCallbackInfo->result = WantAgentHelper::JudgeEquality(asyncCallbackInfo->wantAgentFirst, asyncCallbackInfo->wantAgentSecond); -} +}; -void NAPI_EqualWrapCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_EqualWrapCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("Equal compeleted(CallBack Mode)..."); - AsyncEqualCallbackInfo *asyncCallbackInfo = (AsyncEqualCallbackInfo *)data; + AsyncEqualCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result[NUMBER_OF_PARAMETERS_TWO] = {}; napi_value callback = nullptr; napi_value undefined = nullptr; @@ -937,18 +908,17 @@ void NAPI_EqualWrapCompleteCallBack(napi_env env, napi_status status, void *data } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; -void NAPI_EqualWrapPromiseCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_EqualWrapPromiseCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("Equal compeleted(Promise Mode)..."); - AsyncEqualCallbackInfo *asyncCallbackInfo = (AsyncEqualCallbackInfo *)data; + AsyncEqualCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result = nullptr; napi_get_boolean(env, asyncCallbackInfo->result, &result); napi_resolve_deferred(asyncCallbackInfo->env, asyncCallbackInfo->deferred, result); napi_delete_async_work(env, asyncCallbackInfo->asyncWork); delete asyncCallbackInfo; -} +}; napi_value NAPI_EqualWrap( napi_env env, napi_callback_info info, bool callBackMode, AsyncEqualCallbackInfo &asyncCallbackInfo) @@ -1048,10 +1018,9 @@ napi_value NAPI_Equal(napi_env env, napi_callback_info info) return ((callBackMode) ? (NapiGetNull(env)) : (ret)); } -void NAPI_GetWantAgentWrapExecuteCallBack(napi_env env, void *data) -{ +auto NAPI_GetWantAgentWrapExecuteCallBack = [](napi_env env, void *data) { HILOG_INFO("GetWantAgent called(CallBack Mode)..."); - AsyncGetWantAgentCallbackInfo *asyncCallbackInfo = (AsyncGetWantAgentCallbackInfo *)data; + AsyncGetWantAgentCallbackInfo *asyncCallbackInfo = static_cast(data); Notification::WantAgent::WantAgentInfo wantAgentInfo(asyncCallbackInfo->requestCode, asyncCallbackInfo->operationType, asyncCallbackInfo->wantAgentFlags, @@ -1065,12 +1034,11 @@ void NAPI_GetWantAgentWrapExecuteCallBack(napi_env env, void *data) int32_t code = Notification::WantAgent::WantAgentHelper::GetHashCode(asyncCallbackInfo->wantAgent); std::lock_guard guard(g_mutex); g_WantAgentMap.emplace(asyncCallbackInfo, code); -} +}; -void NAPI_GetWantAgentWrapCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetWantAgentWrapCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetWantAgent compeleted(CallBack Mode)..."); - AsyncGetWantAgentCallbackInfo *asyncCallbackInfo = (AsyncGetWantAgentCallbackInfo *)data; + AsyncGetWantAgentCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value result[NUMBER_OF_PARAMETERS_TWO] = {0}; napi_value callback = nullptr; napi_value undefined = nullptr; @@ -1106,12 +1074,11 @@ void NAPI_GetWantAgentWrapCompleteCallBack(napi_env env, napi_status status, voi napi_delete_reference(env, asyncCallbackInfo->callback[0]); } napi_delete_async_work(env, asyncCallbackInfo->asyncWork); -} +}; -void NAPI_GetWantAgentWrapPromiseCompleteCallBack(napi_env env, napi_status status, void *data) -{ +auto NAPI_GetWantAgentWrapPromiseCompleteCallBack = [](napi_env env, napi_status status, void *data) { HILOG_INFO("GetWantAgent compeleted(Promise Mode)..."); - AsyncGetWantAgentCallbackInfo *asyncCallbackInfo = (AsyncGetWantAgentCallbackInfo *)data; + AsyncGetWantAgentCallbackInfo *asyncCallbackInfo = static_cast(data); napi_value wantAgentClass = nullptr; napi_define_class(env, "WantAgentClass", @@ -1135,7 +1102,7 @@ void NAPI_GetWantAgentWrapPromiseCompleteCallBack(napi_env env, napi_status stat nullptr); napi_resolve_deferred(asyncCallbackInfo->env, asyncCallbackInfo->deferred, result); napi_delete_async_work(env, asyncCallbackInfo->asyncWork); -} +}; napi_value NAPI_GetWantAgentWrap( napi_env env, napi_callback_info info, bool callBackMode, AsyncGetWantAgentCallbackInfo &asyncCallbackInfo) diff --git a/interfaces/kits/napi/wantagent/napi_want_agent.h b/interfaces/kits/napi/wantagent/napi_want_agent.h index f8c3f84646f19c6a887f1b814610db9aa61de72a..9b92bc02b16d7f83fdea0e1f6974549afaa7deae 100644 --- a/interfaces/kits/napi/wantagent/napi_want_agent.h +++ b/interfaces/kits/napi/wantagent/napi_want_agent.h @@ -159,8 +159,6 @@ public: private: CallbackInfo triggerCompleteInfo_; - - static void OnSendFinishedUvAfterWorkCallback(uv_work_t *work, int status); }; napi_value WantAgentInit(napi_env env, napi_value exports); diff --git a/services/ans/include/advanced_notification_service.h b/services/ans/include/advanced_notification_service.h index ef5a068b1d971c26339838723017af8f45915adf..67445a14771839cb95be63c93b71062d3ddace1b 100644 --- a/services/ans/include/advanced_notification_service.h +++ b/services/ans/include/advanced_notification_service.h @@ -150,7 +150,7 @@ private: std::list flowControlTimestampList_; std::shared_ptr recentInfo_ = nullptr; std::shared_ptr distributedKvStoreDeathRecipient_ = nullptr; - SystemEventObserver systemEventObserver_; + std::shared_ptr systemEventObserver_ = nullptr; DistributedKv::DistributedKvDataManager dataManager_; }; diff --git a/services/ans/src/advanced_notification_service.cpp b/services/ans/src/advanced_notification_service.cpp index 56bf45d3c0ba54ef6ddbbd7969f4b363e2f6375e..a73ec2d84a23ef0423967698c0793638b1167fd8 100644 --- a/services/ans/src/advanced_notification_service.cpp +++ b/services/ans/src/advanced_notification_service.cpp @@ -99,22 +99,14 @@ inline bool IsSystemApp() inline ErrCode AssignValidNotificationSlot(const std::shared_ptr &record) { sptr slot; - ErrCode result = NotificationPreferences::GetInstance().GetNotificationSlot( - record->bundleOption, record->request->GetSlotType(), slot); + NotificationConstant::SlotType slotType = record->request->GetSlotType(); + ErrCode result = NotificationPreferences::GetInstance().GetNotificationSlot(record->bundleOption, slotType, slot); if ((result == ERR_ANS_PREFERENCES_NOTIFICATION_BUNDLE_NOT_EXIST) || (result == ERR_ANS_PREFERENCES_NOTIFICATION_SLOT_TYPE_NOT_EXIST)) { - result = NotificationPreferences::GetInstance().GetNotificationSlot( - record->bundleOption, NotificationConstant::SlotType::OTHER, slot); - if ((result == ERR_ANS_PREFERENCES_NOTIFICATION_BUNDLE_NOT_EXIST) || - (result == ERR_ANS_PREFERENCES_NOTIFICATION_SLOT_TYPE_NOT_EXIST)) { - slot = new NotificationSlot(NotificationConstant::SlotType::OTHER); - std::vector> slots; - slots.push_back(slot); - result = NotificationPreferences::GetInstance().AddNotificationSlots(record->bundleOption, slots); - } - if (result == ERR_OK) { - record->request->SetSlotType(NotificationConstant::SlotType::OTHER); - } + slot = new NotificationSlot(slotType); + std::vector> slots; + slots.push_back(slot); + result = NotificationPreferences::GetInstance().AddNotificationSlots(record->bundleOption, slots); } if (result == ERR_OK) { record->slot = slot; @@ -182,9 +174,6 @@ sptr AdvancedNotificationService::GetInstance() } AdvancedNotificationService::AdvancedNotificationService() - : systemEventObserver_({ - std::bind(&AdvancedNotificationService::OnBundleRemoved, this, std::placeholders::_1), - }) { runner_ = OHOS::AppExecFwk::EventRunner::Create(); handler_ = std::make_shared(runner_); @@ -194,6 +183,11 @@ AdvancedNotificationService::AdvancedNotificationService() StartFilters(); + ISystemEvent iSystemEvent = { + std::bind(&AdvancedNotificationService::OnBundleRemoved, this, std::placeholders::_1), + }; + systemEventObserver_ = std::make_shared(iSystemEvent); + dataManager_.RegisterKvStoreServiceDeathRecipient(distributedKvStoreDeathRecipient_); } @@ -824,8 +818,8 @@ std::vector AdvancedNotificationService::GetNotificationKeys( std::vector keys; for (auto record : notificationList_) { - if ((bundleOption != nullptr) && (record->bundleOption->GetBundleName() != bundleOption->GetBundleName() && - (record->bundleOption->GetUid() != bundleOption->GetUid()))) { + if ((bundleOption != nullptr) && (record->bundleOption->GetBundleName() != bundleOption->GetBundleName()) && + (record->bundleOption->GetUid() != bundleOption->GetUid())) { continue; } keys.push_back(record->notification->GetKey()); diff --git a/services/ans/src/notification_preferences_database.cpp b/services/ans/src/notification_preferences_database.cpp index f8fb3183094504668cc0c098cba8a3b57cf9c68b..cdfdd9eeae4c7a31c397fdae5792143bc9827720 100644 --- a/services/ans/src/notification_preferences_database.cpp +++ b/services/ans/src/notification_preferences_database.cpp @@ -81,7 +81,8 @@ const std::map> @@ -115,7 +116,8 @@ const std::map +template OHOS::DistributedKv::Status NotificationPreferencesDatabase::PutBundlePropertyToDisturbeDB( const std::string &bundleKey, const BundleType &type, const T &t) { diff --git a/services/ans/test/unittest/advanced_notification_service_test.cpp b/services/ans/test/unittest/advanced_notification_service_test.cpp index 8d7d215f36c03b3d7733bebd0e46b67d119dad2e..f79dc6a38fbb6d3ca24a017f98a34403f8eb23e4 100644 --- a/services/ans/test/unittest/advanced_notification_service_test.cpp +++ b/services/ans/test/unittest/advanced_notification_service_test.cpp @@ -80,24 +80,24 @@ inline void SleepForFC() class TestAnsSubscriber : public NotificationSubscriber { public: - virtual void OnSubscribeResult(NotificationConstant::SubscribeResult result) override + void OnSubscribeResult(NotificationConstant::SubscribeResult result) override {} - virtual void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override + void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override {} - virtual void OnDied() override + void OnDied() override {} - virtual void OnUpdate(const std::shared_ptr &sortingMap) override + void OnUpdate(const std::shared_ptr &sortingMap) override {} - virtual void OnDisturbModeChanged(int disturbMode) override + void OnDisturbModeChanged(int disturbMode) override {} - virtual void OnCanceled(const std::shared_ptr &request) override + void OnCanceled(const std::shared_ptr &request) override {} - virtual void OnCanceled(const std::shared_ptr &request, + void OnCanceled(const std::shared_ptr &request, const std::shared_ptr &sortingMap, int deleteReason) override {} - virtual void OnConsumed(const std::shared_ptr &request) override + void OnConsumed(const std::shared_ptr &request) override {} - virtual void OnConsumed(const std::shared_ptr &request, + void OnConsumed(const std::shared_ptr &request, const std::shared_ptr &sortingMap) override {} }; @@ -1219,7 +1219,8 @@ HWTEST_F(AdvancedNotificationServiceTest, AdvancedNotificationServiceTest_09300, */ HWTEST_F(AdvancedNotificationServiceTest, AdvancedNotificationServiceTest_09600, Function | SmallTest | Level1) { - EXPECT_EQ((int)advancedNotificationService_->SetNotificationsEnabledForAllBundles(std::string(), true), (int)ERR_OK); + EXPECT_EQ( + (int)advancedNotificationService_->SetNotificationsEnabledForAllBundles(std::string(), true), (int)ERR_OK); bool allowed = false; EXPECT_EQ((int)advancedNotificationService_->IsAllowedNotify(allowed), (int)ERR_OK); EXPECT_TRUE(allowed); @@ -1270,6 +1271,9 @@ inline std::shared_ptr MakePixelMap(int32_t width, int32_t height) { const int32_t PIXEL_BYTES = 4; std::shared_ptr pixelMap = std::make_shared(); + if (pixelMap == nullptr) { + return nullptr; + } ImageInfo info; info.size.width = width; info.size.height = height; @@ -1279,8 +1283,9 @@ inline std::shared_ptr MakePixelMap(int32_t width, int32_t height) int32_t rowDataSize = width * PIXEL_BYTES; uint32_t bufferSize = rowDataSize * height; void *buffer = malloc(bufferSize); - EXPECT_NE(buffer, nullptr); - pixelMap->SetPixelsAddr(buffer, nullptr, bufferSize, AllocatorType::HEAP_ALLOC, nullptr); + if (buffer != nullptr) { + pixelMap->SetPixelsAddr(buffer, nullptr, bufferSize, AllocatorType::HEAP_ALLOC, nullptr); + } return pixelMap; } diff --git a/services/ans/test/unittest/notification_subscriber_manager_test.cpp b/services/ans/test/unittest/notification_subscriber_manager_test.cpp index c4367df55e131d86e90d4a5f0ab93c08de3cca4e..2c62f96f8bb643e9d1c1268b4736992d4db5c8d6 100644 --- a/services/ans/test/unittest/notification_subscriber_manager_test.cpp +++ b/services/ans/test/unittest/notification_subscriber_manager_test.cpp @@ -36,24 +36,24 @@ public: private: class TestAnsSubscriber : public NotificationSubscriber { public: - virtual void OnSubscribeResult(NotificationConstant::SubscribeResult result) override + void OnSubscribeResult(NotificationConstant::SubscribeResult result) override {} - virtual void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override + void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override {} - virtual void OnDied() override + void OnDied() override {} - virtual void OnUpdate(const std::shared_ptr &sortingMap) override + void OnUpdate(const std::shared_ptr &sortingMap) override {} - virtual void OnDisturbModeChanged(int disturbMode) override + void OnDisturbModeChanged(int disturbMode) override {} - virtual void OnCanceled(const std::shared_ptr &request) override + void OnCanceled(const std::shared_ptr &request) override {} - virtual void OnCanceled(const std::shared_ptr &request, + void OnCanceled(const std::shared_ptr &request, const std::shared_ptr &sortingMap, int deleteReason) override {} - virtual void OnConsumed(const std::shared_ptr &request) override + void OnConsumed(const std::shared_ptr &request) override {} - virtual void OnConsumed(const std::shared_ptr &request, + void OnConsumed(const std::shared_ptr &request, const std::shared_ptr &sortingMap) override {} }; diff --git a/services/test/moduletest/ans_module_test.cpp b/services/test/moduletest/ans_module_test.cpp index fa3d4c13052a8a2860b152116d12fc381a7ad261..3ad7baf332ca2bc922f983e884500ff1b2278476 100644 --- a/services/test/moduletest/ans_module_test.cpp +++ b/services/test/moduletest/ans_module_test.cpp @@ -35,36 +35,36 @@ class TestAnsSubscriber : public NotificationSubscriber { public: ~TestAnsSubscriber(){}; - virtual void OnSubscribeResult(NotificationConstant::SubscribeResult result) override + void OnSubscribeResult(NotificationConstant::SubscribeResult result) override { if (subscriberCb_ != nullptr) { subscriberCb_(result); } } - virtual void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override + void OnUnsubscribeResult(NotificationConstant::SubscribeResult result) override { if (unSubscriberCb_ != nullptr) { unSubscriberCb_(result); } } - virtual void OnDied() override + void OnDied() override {} - virtual void OnUpdate(const std::shared_ptr &sortingMap) override + void OnUpdate(const std::shared_ptr &sortingMap) override {} - virtual void OnDisturbModeChanged(int disturbMode) override + void OnDisturbModeChanged(int disturbMode) override {} - virtual void OnCanceled(const std::shared_ptr &request) override + void OnCanceled(const std::shared_ptr &request) override {} - virtual void OnCanceled(const std::shared_ptr &request, + void OnCanceled(const std::shared_ptr &request, const std::shared_ptr &sortingMap, int deleteReason) override { if (canceledCb_ != nullptr) { canceledCb_(request, sortingMap, deleteReason); } } - virtual void OnConsumed(const std::shared_ptr &request) override + void OnConsumed(const std::shared_ptr &request) override {} - virtual void OnConsumed(const std::shared_ptr &request, + void OnConsumed(const std::shared_ptr &request, const std::shared_ptr &sortingMap) override { if (consumedCb_ != nullptr) {