X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/4f3267b3fae8c4320c93bc3f1e48ce022a716ad7..30c2ede8e5334cb26b7ad0fa69b7a254fab5afc5:/src/eu/alefzero/owncloud/datamodel/OCFile.java diff --git a/src/eu/alefzero/owncloud/datamodel/OCFile.java b/src/eu/alefzero/owncloud/datamodel/OCFile.java index bfa99631..045e9fa7 100644 --- a/src/eu/alefzero/owncloud/datamodel/OCFile.java +++ b/src/eu/alefzero/owncloud/datamodel/OCFile.java @@ -59,6 +59,7 @@ public class OCFile { path}, null); if (c.moveToFirst()) new_file.setFileData(c); + c.close(); } catch (RemoteException e) { Log.e(TAG, e.getMessage()); } @@ -69,11 +70,32 @@ public class OCFile { new_file.modified_timestamp_ = modified_timestamp; new_file.mimetype_ = mimetype; new_file.parent_id_ = parent_id; - Log.e(TAG, parent_id+""); return new_file; } + public static OCFile createNewFile(ContentResolver contentResolver, Account a, + String path, int length, int creation_timestamp, int modified_timestamp, + String mimetype, long parent_id) { + OCFile new_file = new OCFile(contentResolver, a); + Cursor c = new_file.cr_.query(ProviderTableMeta.CONTENT_URI_FILE, null, + ProviderTableMeta.FILE_ACCOUNT_OWNER + "=? AND " + + ProviderTableMeta.FILE_PATH + "=?", new String[]{new_file.account_.name, + path}, null); + if (c.moveToFirst()) + new_file.setFileData(c); + c.close(); + + new_file.path_ = path; + new_file.length_ = length; + new_file.creation_timestamp_ = creation_timestamp; + new_file.modified_timestamp_ = modified_timestamp; + new_file.mimetype_ = mimetype; + new_file.parent_id_ = parent_id; + + return new_file; + } + public OCFile(ContentResolver cr, Account account, long id) { cr_ = cr; account_ = account; @@ -228,6 +250,7 @@ public class OCFile { ret.add(child); } while (c.moveToNext()); + c.close(); return ret; } return null; @@ -243,7 +266,7 @@ public class OCFile { cp_ = cp; resetData(); } - + private OCFile(ContentResolver cr, Account account) { account_ = account; cr_ = cr;