X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/87814cec4292fee1303c85dfce68b2d122ffb6b2..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 e862a5a3..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, @@ -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(