Get actucal pkgid first and then send signal 46/88046/1 accepted/tizen/common/20160919.154544 accepted/tizen/ivi/20160919.232046 accepted/tizen/mobile/20160919.231953 accepted/tizen/tv/20160919.232017 accepted/tizen/wearable/20160919.232031 submit/tizen/20160919.055034
authorSangyoon Jang <s89.jang@samsung.com>
Tue, 13 Sep 2016 01:37:47 +0000 (10:37 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Tue, 13 Sep 2016 01:37:47 +0000 (10:37 +0900)
For sending pkgid, appid pair correctly, get pkgid from appid first.

Change-Id: I72f682b2e519ebd96d5d812d3fb05256a2eb0277
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/pkgmgr-server.c

index 061c2b8..505c874 100644 (file)
@@ -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);