From: Ilho Kim Date: Thu, 8 Sep 2022 11:18:28 +0000 (+0900) Subject: Run MountInstall when xml file is not exist X-Git-Tag: accepted/tizen/unified/20220915.173213~3 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fappfw%2Fapp-installers.git;a=commitdiff_plain;h=ef0c0f481b237aab9cd6ef1d60fa7e78913bea6c Run MountInstall when xml file is not exist Change-Id: If5af96808e4bb5bd37ad92e91adcec237af2e9db Signed-off-by: Ilho Kim --- diff --git a/src/common/pkgmgr_interface.cc b/src/common/pkgmgr_interface.cc index 3586684..184dfaf 100644 --- a/src/common/pkgmgr_interface.cc +++ b/src/common/pkgmgr_interface.cc @@ -246,11 +246,22 @@ RequestType PkgMgrInterface::GetRequestType(int idx) const { else return RequestType::ManifestDirectUpdate; } - case PKGMGR_REQ_MOUNT_INSTALL: - if (!is_app_installed_.get()) + case PKGMGR_REQ_MOUNT_INSTALL: { + if (!is_app_installed_.get()) { return RequestType::MountInstall; - else - return RequestType::MountUpdate; + } else { + std::string pkgid = query_interface->GetPkgId(GetRequestInfo(idx)); + uid_t uid = GetUid(); + ci::PkgQueryInterface pkg_query(pkgid, uid); + if (CheckIfAppFilesExists(pkgid, uid, pkg_query.IsReadonlyPackage())) { + return RequestType::MountUpdate; + } else { + RequestMode request_mode = GetRequestMode(uid); + UnregisterAppInPkgmgrForPkgId(pkgid, uid, request_mode); + return RequestType::MountInstall; + } + } + } default: return RequestType::Unknown; }