From ef0c0f481b237aab9cd6ef1d60fa7e78913bea6c Mon Sep 17 00:00:00 2001 From: Ilho Kim Date: Thu, 8 Sep 2022 20:18:28 +0900 Subject: [PATCH] Run MountInstall when xml file is not exist Change-Id: If5af96808e4bb5bd37ad92e91adcec237af2e9db Signed-off-by: Ilho Kim --- src/common/pkgmgr_interface.cc | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) 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; } -- 2.7.4