From: Duyoung Jang Date: Mon, 23 Sep 2013 05:24:05 +0000 (+0900) Subject: Modify IsAppInstalled() API X-Git-Tag: submit/tizen/20131210.080830^2^2~98 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2fa34b79333f171ee463570067495e92685b8048;hp=0e268e44d66de1c7df6d60e50514a0f31652d644;p=platform%2Fframework%2Fnative%2Fappfw.git Modify IsAppInstalled() API Change-Id: Iecb190ef0aaa2be278c4178f75d90db9db4a7918 Signed-off-by: Duyoung Jang --- diff --git a/src/app/package/FAppPkg_PackageManagerImpl.cpp b/src/app/package/FAppPkg_PackageManagerImpl.cpp index 59064c0..ce53d24 100755 --- a/src/app/package/FAppPkg_PackageManagerImpl.cpp +++ b/src/app/package/FAppPkg_PackageManagerImpl.cpp @@ -128,32 +128,24 @@ _PackageManagerImpl::GetPackageIdByAppId(const AppId& appId) { SysTryReturn(NID_APP, appId.IsEmpty() == false, L"", E_INVALID_ARG, "appId is empty"); - String packageId; - - if (appId.StartsWith(L".", 10) == true) - { - appId.SubString(0, 10, packageId); - } - else - { - int result = 0; - char* pPackageId = null; - pkgmgrinfo_appinfo_h pAppInfoHandle = null; + PackageId packageId; + int result = 0; + char* pPackageId = null; + pkgmgrinfo_appinfo_h pAppInfoHandle = null; - std::unique_ptr pAppId(_StringConverter::CopyToCharArrayN(appId)); - SysTryReturn(NID_APP, pAppId, L"", E_OUT_OF_MEMORY, "pAppId is null"); + std::unique_ptr pAppId(_StringConverter::CopyToCharArrayN(appId)); + SysTryReturn(NID_APP, pAppId, L"", E_OUT_OF_MEMORY, "pAppId is null"); - result = pkgmgrinfo_appinfo_get_appinfo(pAppId.get(), &pAppInfoHandle); - SysTryReturn(NID_APP, result == 0, L"", E_PKG_NOT_INSTALLED, "pkgmgrinfo_appinfo_get_appinfo() failed. result=[%d], app=[%s]", result, pAppId.get()); + result = pkgmgrinfo_appinfo_get_appinfo(pAppId.get(), &pAppInfoHandle); + SysTryReturn(NID_APP, result == 0, L"", E_PKG_NOT_INSTALLED, "pkgmgrinfo_appinfo_get_appinfo() failed. result=[%d], app=[%s]", result, pAppId.get()); - result = pkgmgrinfo_appinfo_get_pkgname(pAppInfoHandle, &pPackageId); + result = pkgmgrinfo_appinfo_get_pkgname(pAppInfoHandle, &pPackageId); - packageId.Append(pPackageId); + packageId.Append(pPackageId); - if(pAppInfoHandle) - { - pkgmgrinfo_appinfo_destroy_appinfo(pAppInfoHandle); - } + if(pAppInfoHandle) + { + pkgmgrinfo_appinfo_destroy_appinfo(pAppInfoHandle); } SysLog(NID_APP, "app = [%ls], package = [%ls]", appId.GetPointer(), packageId.GetPointer()); @@ -1784,25 +1776,28 @@ CATCH: bool _PackageManagerImpl::IsAppInstalled(const AppId& appId) { - if (appId == _AppInfo::GetPackageId()) - { - return true; - } + SysTryReturn(NID_APP, appId.IsEmpty() == false, false, E_INVALID_ARG, "appId is empty."); int result = 0; - pkgmgrinfo_pkginfo_h pPackageInfoHandle = null; + pkgmgrinfo_appinfo_h pAppInfoHandle = null; - std::unique_ptr pPackageId(_StringConverter::CopyToCharArrayN(appId)); - SysTryReturn(NID_APP, pPackageId, false, E_OUT_OF_MEMORY, "pPackageId is null"); + std::unique_ptr pAppId(_StringConverter::CopyToCharArrayN(appId)); + SysTryReturn(NID_APP, pAppId, false, E_OUT_OF_MEMORY, "pAppId is null."); - result = pkgmgrinfo_pkginfo_get_pkginfo(pPackageId.get(), &pPackageInfoHandle); - SysTryReturn(NID_APP, result == 0, false, E_APP_NOT_INSTALLED, "pkgmgrinfo_pkginfo_get_pkginfo() failed. result=[%d], package=[%s]", result, pPackageId.get()); + result = pkgmgrinfo_appinfo_get_appinfo(pAppId.get(), &pAppInfoHandle); + if (result != 0) + { + SysLog(NID_APP, "pkgmgrinfo_appinfo_get_appinfo() failed. result=[%d], app=[%s]", result, pAppId.get()); + return false; + } - if(pPackageInfoHandle) + if(pAppInfoHandle) { - pkgmgrinfo_pkginfo_destroy_pkginfo(pPackageInfoHandle); + pkgmgrinfo_appinfo_destroy_appinfo(pAppInfoHandle); } + SysLog(NID_APP, "app = [%ls] is installed.", appId.GetPointer()); + return true; }