From: Junghyun Yeon Date: Thu, 6 Oct 2016 05:39:39 +0000 (+0900) Subject: Change behavior of app_info_create correctly X-Git-Tag: submit/tizen/20161010.222621~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc6c6ae2937d59a66d5b3718747d77f909f97401;p=platform%2Fcore%2Fapi%2Fapp-manager.git Change behavior of app_info_create correctly - Changed to getting appinfo based on appid first - If it fails, treat appid as pkgid and try to get appinfo of mainapp of pkg Change-Id: I3785bd17f529dc11e3a39ae46b721be6aa44b1f1 Signed-off-by: Junghyun Yeon --- diff --git a/src/app_info.c b/src/app_info.c index 919e96d..7c89093 100644 --- a/src/app_info.c +++ b/src/app_info.c @@ -226,25 +226,29 @@ API int app_info_create(const char *app_id, app_info_h *app_info) if (info == NULL) return app_manager_error(APP_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); - retval = pkgmgrinfo_pkginfo_get_usr_pkginfo(app_id, getuid(), &pkginfo); - if (retval < 0) { - if (pkgmgrinfo_appinfo_get_usr_appinfo(app_id, getuid(), &appinfo)) { - free(info); - return app_manager_error(APP_MANAGER_ERROR_NO_SUCH_APP, __FUNCTION__, NULL); - } - + retval = pkgmgrinfo_appinfo_get_usr_appinfo(app_id, getuid(), &appinfo); + if (!retval) { info->app_id = strdup(app_id); info->pkg_app_info = appinfo; *app_info = info; return APP_MANAGER_ERROR_NONE; } + retval = pkgmgrinfo_pkginfo_get_usr_pkginfo(app_id, getuid(), &pkginfo); + if (retval < 0) { + free(info); + return app_manager_error(APP_MANAGER_ERROR_NO_SUCH_APP, __FUNCTION__, NULL); + } + retval = pkgmgrinfo_pkginfo_get_mainappid(pkginfo, &main_appid); - if (retval < 0) + if (retval < 0) { + free(info); + pkgmgrinfo_pkginfo_destroy_pkginfo(pkginfo); app_manager_error(APP_MANAGER_ERROR_NO_SUCH_APP, __FUNCTION__, NULL); - + } if (pkgmgrinfo_appinfo_get_usr_appinfo(main_appid, getuid(), &appinfo)) { free(info); + pkgmgrinfo_pkginfo_destroy_pkginfo(pkginfo); return app_manager_error(APP_MANAGER_ERROR_NO_SUCH_APP, __FUNCTION__, NULL); }