X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/51302a638677b16c5faac6242da44080794f537e..a2a8dc1ee6681d641a4316dccaacca6751c32a6a:/src/eu/alefzero/owncloud/datamodel/FileDataStorageManager.java diff --git a/src/eu/alefzero/owncloud/datamodel/FileDataStorageManager.java b/src/eu/alefzero/owncloud/datamodel/FileDataStorageManager.java index 38212785..7ecb4915 100644 --- a/src/eu/alefzero/owncloud/datamodel/FileDataStorageManager.java +++ b/src/eu/alefzero/owncloud/datamodel/FileDataStorageManager.java @@ -53,17 +53,23 @@ public class FileDataStorageManager implements DataStorageManager { @Override public OCFile getFileByPath(String path) { Cursor c = getCursorForValue(ProviderTableMeta.FILE_PATH, path); - if (c.moveToFirst()) - return createFileInstance(c); - return null; + OCFile file = null; + if (c.moveToFirst()) { + file = createFileInstance(c); + c.close(); + } + return file; } @Override public OCFile getFileById(long id) { Cursor c = getCursorForValue(ProviderTableMeta._ID, String.valueOf(id)); - if (c.moveToFirst()) - return createFileInstance(c); - return null; + OCFile file = null; + if (c.moveToFirst()) { + file = createFileInstance(c); + c.close(); + } + return file; } @Override @@ -92,6 +98,7 @@ public class FileDataStorageManager implements DataStorageManager { cv.put(ProviderTableMeta.FILE_ACCOUNT_OWNER, mAccount.name); if (fileExists(file.getPath())) { + file.setFileId(getFileByPath(file.getPath()).getFileId()); overriden = true; if (getContentResolver() != null) { getContentResolver().update(ProviderTableMeta.CONTENT_URI, @@ -124,7 +131,7 @@ public class FileDataStorageManager implements DataStorageManager { file.setFileId(new_id); } } - + if (file.isDirectory() && file.needsUpdatingWhileSaving()) for (OCFile f : getDirectoryContent(file)) saveFile(f); @@ -157,7 +164,7 @@ public class FileDataStorageManager implements DataStorageManager { } public Vector getDirectoryContent(OCFile f) { - if (f.isDirectory() && f.getFileId() != -1) { + if (f != null && f.isDirectory() && f.getFileId() != -1) { Vector ret = new Vector(); Uri req_uri = Uri.withAppendedPath(