fixed uninstallation if web app is installed sd card.
authorSoyoung Kim <sy037.kim@samsung.com>
Tue, 25 Jun 2013 06:36:07 +0000 (15:36 +0900)
committerSoyoung Kim <sy037.kim@samsung.com>
Tue, 25 Jun 2013 06:39:33 +0000 (15:39 +0900)
[Issue#] N_SE-42628
[Problem] web app installed sd card uninstallation should be failed if sd card removed.
[Cause] condition check failed.
[Solution] fixed check condition app location.
[SCMRequest] N/A

Change-Id: Ic5568675225df60a8f8c6f120d8e6d5fada5ff23

src/jobs/widget_uninstall/task_remove_files.cpp

index 4a5122f..911b1bd 100644 (file)
@@ -58,9 +58,9 @@ void TaskRemoveFiles::StepRemoveInstallationDirectory()
 {
     LogInfo("StepRemoveInstallationDirectory started");
     Try {
-        if (APP2EXT_SD_CARD !=
-                app2ext_get_app_location(m_context.tzPkgid.c_str()))
-        {
+        int ret = app2ext_get_app_location(m_context.tzPkgid.c_str());
+
+        if (APP2EXT_INTERNAL_MEM == ret) {
             LogDebug("Removing directory");
             m_context.removeStarted = true;
             DPL::Utils::Path widgetDir= m_context.installedPath;
@@ -76,7 +76,7 @@ void TaskRemoveFiles::StepRemoveInstallationDirectory()
             } Catch(DPL::Utils::Path::BaseException){
                 LogWarning(dataDir.Fullpath() << " is already removed");
             }
-        } else {
+        } else if (APP2EXT_SD_CARD == ret) {
             LogDebug("Removing sdcard directory");
             Try {
                 WidgetInstallToExtSingleton::Instance().initialize(m_context.tzPkgid);
@@ -88,10 +88,12 @@ void TaskRemoveFiles::StepRemoveInstallationDirectory()
                 Throw(Jobs::WidgetUninstall::TaskRemoveFiles::Exception::
                         RemoveFilesFailed);
             }
+        } else {
+            LogError("app is not installed");
+            ThrowMsg(Exceptions::WidgetNotExist, "failed to get app location");
         }
     } Catch(Exception::RemoveFilesFailed) {
         ThrowMsg(Exceptions::RemoveFileFailure, "Cann't remove directory");
-
     }
     m_context.job->UpdateProgress(
         UninstallerContext::UNINSTALL_REMOVE_WIDGETDIR,