From 2bfbc09eb9a2e8a2162e91c2ae6fdc4cbce8d71c Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Tue, 13 Sep 2016 10:37:47 +0900 Subject: [PATCH] Get actucal pkgid first and then send signal For sending pkgid, appid pair correctly, get pkgid from appid first. Change-Id: I72f682b2e519ebd96d5d812d3fb05256a2eb0277 Signed-off-by: Sangyoon Jang --- src/pkgmgr-server.c | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/src/pkgmgr-server.c b/src/pkgmgr-server.c index 061c2b8..505c874 100644 --- a/src/pkgmgr-server.c +++ b/src/pkgmgr-server.c @@ -923,19 +923,22 @@ static int __process_enable_app(pm_dbus_msg *item) int ret = -1; bool is_global = false; - __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, - PKGMGR_INSTALLER_START_KEY_STR, - PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR, item->req_type); - /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */ ret = __change_item_info(item, item->uid, &is_global); if (ret != PMINFO_R_OK || strlen(item->appid) == 0) { __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR, item->req_type); + __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR, item->req_type); return ret; } + __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR, item->req_type); + ret = pkgmgr_parser_update_app_disable_info_in_usr_db(item->appid, item->uid, 0); if (ret != PMINFO_R_OK) __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid, @@ -955,19 +958,22 @@ static int __process_disable_app(pm_dbus_msg *item) int ret = -1; bool is_global = false; - __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, - PKGMGR_INSTALLER_START_KEY_STR, - PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR, item->req_type); - /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */ ret = __change_item_info(item, item->uid, &is_global); if (ret != PMINFO_R_OK || strlen(item->appid) == 0) { __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR, item->req_type); + __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR, item->req_type); return ret; } + __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR, item->req_type); + ret = __kill_app(item->appid, item->uid); if (ret != PMINFO_R_OK) { __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid, @@ -993,19 +999,22 @@ static int __process_enable_global_app_for_uid(pm_dbus_msg *item) int ret = -1; bool is_global = true; - __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, - PKGMGR_INSTALLER_START_KEY_STR, - PKGMGR_INSTALLER_GLOBAL_APP_ENABLE_FOR_UID, item->req_type); - /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */ ret = __change_item_info(item, item->uid, &is_global); if (ret != PMINFO_R_OK || strlen(item->appid) == 0) { __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_GLOBAL_APP_ENABLE_FOR_UID, item->req_type); + __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR, item->req_type); return ret; } + __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_GLOBAL_APP_ENABLE_FOR_UID, item->req_type); + ret = pkgmgr_parser_update_global_app_disable_for_uid_info_in_db(item->appid, item->uid, 0); if (ret != PMINFO_R_OK) __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid, @@ -1024,20 +1033,24 @@ static int __process_disable_global_app_for_uid(pm_dbus_msg *item) int ret = -1; bool is_global = true; - __send_app_signal(item->uid, item->req_id, - item->pkgid, item->pkgid, - PKGMGR_INSTALLER_START_KEY_STR, - PKGMGR_INSTALLER_GLOBAL_APP_DISABLE_FOR_UID, item->req_type); - /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */ ret = __change_item_info(item, GLOBAL_USER, &is_global); if (ret != PMINFO_R_OK || strlen(item->appid) == 0) { + __send_app_signal(item->uid, item->req_id, + item->pkgid, item->pkgid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_GLOBAL_APP_DISABLE_FOR_UID, item->req_type); __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid, PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR, item->req_type); return ret; } + __send_app_signal(item->uid, item->req_id, + item->pkgid, item->appid, + PKGMGR_INSTALLER_START_KEY_STR, + PKGMGR_INSTALLER_GLOBAL_APP_DISABLE_FOR_UID, item->req_type); + ret = __kill_app(item->appid, item->uid); ret = pkgmgr_parser_update_global_app_disable_for_uid_info_in_db(item->appid, item->uid, 1); -- 2.7.4