From: David A. Velasco Date: Tue, 2 Dec 2014 10:17:47 +0000 (+0100) Subject: Bug fixed (and some refactoring): crash on local removal of a folder X-Git-Tag: oc-android-1.7.0_signed~90^2~3 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/0f39ff841a65d49778abf915b8730bce734bd960?ds=inline Bug fixed (and some refactoring): crash on local removal of a folder --- diff --git a/src/com/owncloud/android/datamodel/FileDataStorageManager.java b/src/com/owncloud/android/datamodel/FileDataStorageManager.java index b1f266ae..3f0d69f2 100644 --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -486,8 +486,12 @@ public class FileDataStorageManager { } success &= (deleted > 0); } - if (removeLocalCopy && file.isDown() && file.getStoragePath() != null && success) { - success = new File(file.getStoragePath()).delete(); + String localPath = file.getStoragePath(); + if (removeLocalCopy && file.isDown() && localPath != null && success) { + success = new File(localPath).delete(); + if (success) { + triggerMediaScan(localPath); + } if (!removeDBData && success) { // maybe unnecessary, but should be checked TODO remove if unnecessary file.setStoragePath(null); diff --git a/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java b/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java index b6ecd1a3..24534047 100644 --- a/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java +++ b/src/com/owncloud/android/ui/dialog/RemoveFileDialogFragment.java @@ -96,7 +96,6 @@ implements ConfirmationDialogFragmentListener { FileDataStorageManager storageManager = cg.getStorageManager(); if (storageManager.getFileById(mTargetFile.getFileId()) != null) { cg.getFileOperationsHelper().removeFile(mTargetFile, false); - storageManager.triggerMediaScan(mTargetFile.getStoragePath()); } } @@ -105,7 +104,6 @@ implements ConfirmationDialogFragmentListener { */ @Override public void onNeutral(String callerTag) { - String path = mTargetFile.getStoragePath(); ComponentsGetter cg = (ComponentsGetter)getSherlockActivity(); cg.getFileOperationsHelper().removeFile(mTargetFile, true); @@ -135,9 +133,6 @@ implements ConfirmationDialogFragmentListener { folder.setEtag(""); storageManager.saveFile(folder); } - - // Trigger MediaScan - storageManager.triggerMediaScan(path); } @Override