#include <app2ext_interface.h>
#include <FIoDirectory.h>
-#include <FAppPkgPackageInfo.h>
-#include <FAppPkgPackageAppInfo.h>
#include <FIo_FileImpl.h>
#include <FBase_StringConverter.h>
-#include <FAppPkg_PackageManagerImpl.h>
#include <FAppPkg_PackageInfoImpl.h>
-#include <FAppPkg_PackageAppInfoImpl.h>
#include "InstallationContext.h"
#include "UninstallStep.h"
#include "InstallerUtil.h"
+#include "CompatibilityManager.h"
using namespace Tizen::Base;
using namespace Tizen::Base::Collection;
UninstallStep::OnStateTerminateApp(void)
{
InstallerError error = INSTALLER_ERROR_NONE;
- std::unique_ptr< PackageInfo > pPackageInfo(_PackageManagerImpl::GetInstance()->GetPackageInfoN(__pContext->__packageId));
- _PackageInfoImpl* pPackageInfoImpl = _PackageInfoImpl::GetInstance(pPackageInfo.get());
- TryReturn(pPackageInfoImpl, INSTALLER_ERROR_INTERNAL_STATE, "GetInstance() failed.");
-
- std::unique_ptr< IList > pPackageAppList(pPackageInfoImpl->GetPackageAppInfoListN());
- TryReturn(pPackageAppList, INSTALLER_ERROR_INTERNAL_STATE, "GetPackageAppInfoListN() failed.");
-
- for (int i = 0; i < pPackageAppList->GetCount(); i++)
- {
- PackageAppInfo* pPackageAppInfo = dynamic_cast < PackageAppInfo* >(pPackageAppList->GetAt(i));
- TryReturn(pPackageAppInfo, INSTALLER_ERROR_INTERNAL_STATE, "pPackageAppList->GetAt(%d) failed.", i);
-
- AppId appId = pPackageAppInfo->GetAppId();
- InstallerUtil::TerminateApp(appId);
- }
+ InstallerUtil::TerminateApps(__pContext->__packageId);
GoNextState();
return error;
UninstallStep::OnStateRemoveDir(void)
{
InstallerError error = INSTALLER_ERROR_NONE;
+ bool res = true;
String rootPath;
rootPath = __pContext->__rootPath;
result r = GetLastResult();
if (r == E_SUCCESS && ospCompat == true)
{
- if (_FileImpl::FinalizeDataCaging(rootPath) == false)
+ if (CompatibilityManager::FinalizeDataCaging(rootPath) == false)
{
AppLog("[Tizen::Io] Failed to unmount directories for 2.0 application, appRootPath: %ls",
rootPath.GetPointer());
return INSTALLER_ERROR_UNMOUNT_FAILED;
}
+ CompatibilityManager::CleanDirectories(rootPath, __pContext->__packageId);
+
+ String virtualRoot = rootPath + DIR_VIRTUAL_ROOT;
+ if (File::IsFileExist(virtualRoot) == true)
+ {
+ res = CompatibilityManager::FinalizeVirtualRoot(rootPath, __pContext->__packageId);
+ TryReturn(res == true, INSTALLER_ERROR_UNMOUNT_FAILED, "CompatibilityManager::FinalizeVirtualRoot(%ls) failed.", rootPath.GetPointer());
+ }
+
AppLog("Directory::Remove - START");
if (__pContext->__isHybridService == true)