X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/a4ba6170ea7696e085b07adfef73eeb8b77cb8e2..ba148a82782bba94b95b8acd2ecb19af797fa84a:/src/com/owncloud/android/datamodel/FileDataStorageManager.java diff --git a/src/com/owncloud/android/datamodel/FileDataStorageManager.java b/src/com/owncloud/android/datamodel/FileDataStorageManager.java index 49a88c36..244d6d1d 100644 --- a/src/com/owncloud/android/datamodel/FileDataStorageManager.java +++ b/src/com/owncloud/android/datamodel/FileDataStorageManager.java @@ -72,7 +72,7 @@ public class FileDataStorageManager implements DataStorageManager { c.close(); return file; } - + @Override public OCFile getFileById(long id) { Cursor c = getCursorForValue(ProviderTableMeta._ID, String.valueOf(id)); @@ -83,6 +83,16 @@ public class FileDataStorageManager implements DataStorageManager { c.close(); return file; } + + public OCFile getFileByLocalPath(String path) { + Cursor c = getCursorForValue(ProviderTableMeta.FILE_STORAGE_PATH, path); + OCFile file = null; + if (c.moveToFirst()) { + file = createFileInstance(c); + } + c.close(); + return file; + } @Override public boolean fileExists(long id) { @@ -399,7 +409,7 @@ public class FileDataStorageManager implements DataStorageManager { return file; } - public void removeFile(OCFile file) { + public void removeFile(OCFile file, boolean removeLocalCopy) { Uri file_uri = Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_FILE, ""+file.getFileId()); if (getContentProvider() != null) { try { @@ -414,7 +424,7 @@ public class FileDataStorageManager implements DataStorageManager { ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?", new String[]{mAccount.name}); } - if (file.isDown()) { + if (file.isDown() && removeLocalCopy) { new File(file.getStoragePath()).delete(); } }