diff --git a/services/ans/src/clone/notification_clone_manager.cpp b/services/ans/src/clone/notification_clone_manager.cpp index d2bde8c4c014160c8b25d4b1fc8105ed87f925f5..1a448dd02c28892e78a8b190d0457bd7176eaaa4 100644 --- a/services/ans/src/clone/notification_clone_manager.cpp +++ b/services/ans/src/clone/notification_clone_manager.cpp @@ -36,6 +36,7 @@ namespace Notification { const int ANS_CLONE_ERROR = -1; const int32_t DEFAULT_APP_INDEX = -1; +constexpr int32_t DEFAULT_ANCO_APP_INDEX = 0; constexpr uint64_t NOTIFICATION_FDSAN_TAG = 0xD001203; constexpr uint64_t COMMON_FDSAN_TAG = 0; constexpr const char *CLONE_ITEM_BUNDLE_INFO = "notificationBundle"; @@ -309,6 +310,9 @@ void NotificationCloneManager::OnDhRestoreStart(const std::string bundleName, co if (iter->second != nullptr && iter->second->isDhSource()) { iter->second->OnRestoreStart(bundleName, DEFAULT_APP_INDEX, ZERO_USERID, uid); } + if (iter->first == CLONE_ITEM_DISTURB && iter->second != nullptr) { + iter->second->OnRestoreStart(bundleName, DEFAULT_ANCO_APP_INDEX, DEFAULT_USER_ID, uid); + } } } } diff --git a/services/ans/src/notification_preferences_database.cpp b/services/ans/src/notification_preferences_database.cpp index ea04217b4e52879ed998fe3b7c801f8f2510b6cb..53f9126001d57f30ba884a66404cd95993bff756 100644 --- a/services/ans/src/notification_preferences_database.cpp +++ b/services/ans/src/notification_preferences_database.cpp @@ -977,7 +977,7 @@ bool NotificationPreferencesDatabase::HandleDataBaseMap( if (result != ERR_OK) { return false; } - if (userid != currentUserId) { + if (userid != currentUserId && !(currentUserId == DEFAULT_USER_ID && userid == ZERO_USER_ID)) { continue; } NotificationBundleOption obj(value, StringToInt(uidItem->second));