From ac20c38ce79c5a927526fa07da6280f5f17fcf3e Mon Sep 17 00:00:00 2001
From: Piotr Kosko
Date: Tue, 14 Jul 2015 10:31:53 +0200
Subject: [PATCH] [Notification] Changed implementation of getAll()
[Featrue] Usage of notification_get_grouping_list() was changed to notification_get_detail_list().
[Verification] Code compiles without errors.
TCT passrate 100%.
Change-Id: I93afcf1e73099f03fc42add75320faf0bb3135fa
Signed-off-by: Piotr Kosko
---
src/notification/notification_manager.cc | 85 +++++++-------------------------
1 file changed, 17 insertions(+), 68 deletions(-)
diff --git a/src/notification/notification_manager.cc b/src/notification/notification_manager.cc
index 89179a8..6fe98ed 100644
--- a/src/notification/notification_manager.cc
+++ b/src/notification/notification_manager.cc
@@ -128,77 +128,26 @@ PlatformResult NotificationManager::Get(const picojson::object& args,
return PlatformResult(ErrorCode::NO_ERROR);
}
-bool NotificationPackageEqual(notification_h handle) {
- LoggerD("Entered");
- char* package = NULL;
- char* handle_package = NULL;
- char cmdline[512] = {0,};
- char buf[64] = {0,};
-
- if (notification_get_pkgname(handle, &handle_package))
- {
- return false;
- }
-
- LoggerD("handle package = %s", handle_package);
-
- if (app_get_id(&package))
- {
-
- int ret = 0;
- int fd = -1;
- int pid = getpid();
-
- snprintf(buf, sizeof(buf), "/proc/%d/cmdline", pid);
-
- fd = open(buf, O_RDONLY);
- if (fd < 0) {
- return false;
- }
-
- ret = read(fd, cmdline, sizeof(cmdline) - 1);
- if (ret <= 0) {
- close(fd);
- return false;
- }
-
- cmdline[ret] = 0;
- close(fd);
-
- if (strlen(cmdline) == strlen(handle_package))
- {
- if (!strncmp(cmdline, handle_package, strlen(cmdline)))
- {
- return true;
- }
- }
- }
- else
- {
- LoggerD("package = %s", package);
-
- if (strlen(package) == strlen(handle_package))
- {
- if (!strncmp(package, handle_package, strlen(package)))
- {
- free(package);
- return true;
- }
- }
- }
- free(package);
- return false;
-}
-
PlatformResult NotificationManager::GetAll(picojson::array& out) {
LoggerD("Enter");
notification_h noti = nullptr;
notification_list_h noti_list = nullptr;
notification_list_h noti_list_iter = nullptr;
+ char* package = nullptr;
- int ret =
- notification_get_grouping_list(NOTIFICATION_TYPE_NONE, -1, ¬i_list);
- if (ret != NOTIFICATION_ERROR_NONE) {
+ if (APP_ERROR_NONE == app_get_id(&package)) {
+ LoggerD("Package id: %s", package);
+ } else {
+ LoggerD("Could not get package id");
+ return PlatformResult(ErrorCode::UNKNOWN_ERR,
+ "Could not get package id");
+ }
+ const std::string package_str = package;
+ free(package);
+
+ int ret = notification_get_detail_list(package_str.c_str(), NOTIFICATION_GROUP_ID_NONE,
+ NOTIFICATION_PRIV_ID_NONE, -1, ¬i_list);
+ if (NOTIFICATION_ERROR_NONE != ret) {
LoggerD("Get notification list error: %d", ret);
return PlatformResult(ErrorCode::UNKNOWN_ERR,
"Get notification list error");
@@ -208,12 +157,12 @@ PlatformResult NotificationManager::GetAll(picojson::array& out) {
noti_list_iter = notification_list_get_head(noti_list);
- while (noti_list_iter != nullptr) {
+ while (nullptr != noti_list_iter) {
noti = notification_list_get_data(noti_list_iter);
- if (noti != nullptr && NotificationPackageEqual(noti)) {
+ if (nullptr != noti) {
int noti_priv = -1;
ret = notification_get_id(noti, NULL, ¬i_priv);
- if (ret != NOTIFICATION_ERROR_NONE) {
+ if (NOTIFICATION_ERROR_NONE != ret) {
LoggerE("Cannot get notification id, error: %d", ret);
return PlatformResult(ErrorCode::UNKNOWN_ERR,
"Cannot get notification id error");
--
2.7.4