Fixed can not install to sdcard
[framework/web/wrt-installer.git] / src / jobs / widget_uninstall / task_remove_files.cpp
index d000f4a..7d501be 100644 (file)
@@ -48,11 +48,7 @@ TaskRemoveFiles::TaskRemoveFiles(UninstallerContext& context) :
     DPL::TaskDecl<TaskRemoveFiles>(this),
     m_context(context)
 {
-    if (!m_context.isExternalWidget) {
-        AddStep(&TaskRemoveFiles::StepRemoveInstallationDirectory);
-    } else {
-        AddStep(&TaskRemoveFiles::StepRemoveExternalWidget);
-    }
+    AddStep(&TaskRemoveFiles::StepRemoveInstallationDirectory);
     AddStep(&TaskRemoveFiles::StepRemoveManifest);
     AddStep(&TaskRemoveFiles::StepRemoveExternalLocations);
     AddStep(&TaskRemoveFiles::StepRemoveVconf);
@@ -65,16 +61,32 @@ TaskRemoveFiles::~TaskRemoveFiles()
 void TaskRemoveFiles::StepRemoveInstallationDirectory()
 {
     LogInfo("StepRemoveInstallationDirectory started");
-
-    m_context.removeStarted = true;
-    std::string widgetDir =
-        m_context.locations->getPackageInstallationDir();
-    if (!WrtUtilRemove(widgetDir)) {
-        LogWarning("Removing widget installation directory failed");
-    }
-    std::string dataDir = m_context.locations->getUserDataRootDir();
-    if (!WrtUtilRemove(dataDir)) {
-        LogWarning(dataDir + " is already removed");
+    if (APP2EXT_SD_CARD !=
+            app2ext_get_app_location(m_context.tzPkgid.c_str()))
+    {
+        LogDebug("Removing directory");
+        m_context.removeStarted = true;
+        std::string widgetDir =
+            m_context.locations->getPackageInstallationDir();
+        if (!WrtUtilRemove(widgetDir)) {
+            LogWarning("Removing widget installation directory failed");
+        }
+        std::string dataDir = m_context.locations->getUserDataRootDir();
+        if (!WrtUtilRemove(dataDir)) {
+            LogWarning(dataDir + " is already removed");
+        }
+    } else {
+        LogDebug("Removing sdcard directory");
+        Try {
+            WidgetInstallToExtSingleton::Instance().initialize(m_context.tzPkgid);
+            WidgetInstallToExtSingleton::Instance().uninstallation();
+            WidgetInstallToExtSingleton::Instance().deinitialize();
+        }
+        Catch(WidgetInstallToExt::Exception::ErrorInstallToExt)
+        {
+            Throw(Jobs::WidgetUninstall::TaskRemoveFiles::Exception::
+                    RemoveFilesFailed);
+        }
     }
     m_context.job->UpdateProgress(
         UninstallerContext::UNINSTALL_REMOVE_WIDGETDIR,
@@ -154,20 +166,5 @@ void TaskRemoveFiles::StepRemoveVconf()
         }
     }
 }
-
-void TaskRemoveFiles::StepRemoveExternalWidget()
-{
-    Try {
-        WidgetInstallToExtSingleton::Instance().initialize(m_context.tzPkgid);
-        WidgetInstallToExtSingleton::Instance().uninstallation();
-        WidgetInstallToExtSingleton::Instance().deinitialize();
-    }
-    Catch(WidgetInstallToExt::Exception::ErrorInstallToExt)
-    {
-        Throw(
-            Jobs::WidgetUninstall::TaskRemoveFiles::Exception::
-                RemoveFilesFailed);
-    }
-}
 } //namespace WidgetUninstall
 } //namespace Jobs