From 031b739af8122e0c6a2926c3f9db78e207560f64 Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Tue, 14 Oct 2014 18:26:45 +0200 Subject: catch can't open database exception --- src/eu/siacs/conversations/persistance/DatabaseBackend.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/eu/siacs/conversations/persistance/DatabaseBackend.java') diff --git a/src/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/eu/siacs/conversations/persistance/DatabaseBackend.java index 0991dd2d8..091c00bd4 100644 --- a/src/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -11,6 +11,7 @@ import eu.siacs.conversations.entities.Message; import eu.siacs.conversations.entities.Roster; import android.content.Context; import android.database.Cursor; +import android.database.sqlite.SQLiteCantOpenDatabaseException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; @@ -231,10 +232,14 @@ public class DatabaseBackend extends SQLiteOpenHelper { SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery("select count(" + Account.UUID + ") from " + Account.TABLENAME + " where not options & (1 <<1)", null); - cursor.moveToFirst(); - int count = cursor.getInt(0); - cursor.close(); - return (count > 0); + try { + cursor.moveToFirst(); + int count = cursor.getInt(0); + cursor.close(); + return (count > 0); + } catch (SQLiteCantOpenDatabaseException e) { + return true; //better safe than sorry + } } @Override -- cgit v1.2.3 From cb4069f0f213ed1a38ce074d981b0c367dc2cdfd Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Wed, 15 Oct 2014 19:32:12 +0200 Subject: refactored file download status. make image http download available for carbon copied (sent) messages as well --- src/eu/siacs/conversations/persistance/DatabaseBackend.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/eu/siacs/conversations/persistance/DatabaseBackend.java') diff --git a/src/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/eu/siacs/conversations/persistance/DatabaseBackend.java index 091c00bd4..d90b5c622 100644 --- a/src/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -238,7 +238,7 @@ public class DatabaseBackend extends SQLiteOpenHelper { cursor.close(); return (count > 0); } catch (SQLiteCantOpenDatabaseException e) { - return true; //better safe than sorry + return true; // better safe than sorry } } -- cgit v1.2.3 From a201f9e53f33109836a690488b9f8a98db4f5249 Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Sun, 19 Oct 2014 23:13:55 +0200 Subject: got rid of copyonwrite array list for messages --- src/eu/siacs/conversations/persistance/DatabaseBackend.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/eu/siacs/conversations/persistance/DatabaseBackend.java') diff --git a/src/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/eu/siacs/conversations/persistance/DatabaseBackend.java index d90b5c622..d3d6ccf2a 100644 --- a/src/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -152,14 +152,14 @@ public class DatabaseBackend extends SQLiteOpenHelper { return list; } - public CopyOnWriteArrayList getMessages( + public ArrayList getMessages( Conversation conversations, int limit) { return getMessages(conversations, limit, -1); } - public CopyOnWriteArrayList getMessages(Conversation conversation, + public ArrayList getMessages(Conversation conversation, int limit, long timestamp) { - CopyOnWriteArrayList list = new CopyOnWriteArrayList(); + ArrayList list = new ArrayList(); SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor; if (timestamp == -1) { @@ -178,7 +178,9 @@ public class DatabaseBackend extends SQLiteOpenHelper { if (cursor.getCount() > 0) { cursor.moveToLast(); do { - list.add(Message.fromCursor(cursor)); + Message message = Message.fromCursor(cursor); + message.setConversation(conversation); + list.add(message); } while (cursor.moveToPrevious()); } return list; -- cgit v1.2.3 From 21961673cbcb3132d2405c3d276058b94cbdbbfc Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Mon, 20 Oct 2014 21:08:33 +0200 Subject: refactored avatar generation. first step --- src/eu/siacs/conversations/persistance/DatabaseBackend.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/eu/siacs/conversations/persistance/DatabaseBackend.java') diff --git a/src/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/eu/siacs/conversations/persistance/DatabaseBackend.java index d3d6ccf2a..b49cf4e61 100644 --- a/src/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -152,13 +152,12 @@ public class DatabaseBackend extends SQLiteOpenHelper { return list; } - public ArrayList getMessages( - Conversation conversations, int limit) { + public ArrayList getMessages(Conversation conversations, int limit) { return getMessages(conversations, limit, -1); } - public ArrayList getMessages(Conversation conversation, - int limit, long timestamp) { + public ArrayList getMessages(Conversation conversation, int limit, + long timestamp) { ArrayList list = new ArrayList(); SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor; -- cgit v1.2.3 From e4567e7a62b4ae4773844b47a6a945aa7565f5b9 Mon Sep 17 00:00:00 2001 From: iNPUTmice Date: Thu, 30 Oct 2014 00:31:44 +0100 Subject: cleanup for clear conversation history. small otr fixes --- .../conversations/persistance/DatabaseBackend.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/eu/siacs/conversations/persistance/DatabaseBackend.java') diff --git a/src/eu/siacs/conversations/persistance/DatabaseBackend.java b/src/eu/siacs/conversations/persistance/DatabaseBackend.java index b49cf4e61..12e5e2510 100644 --- a/src/eu/siacs/conversations/persistance/DatabaseBackend.java +++ b/src/eu/siacs/conversations/persistance/DatabaseBackend.java @@ -332,4 +332,22 @@ public class DatabaseBackend extends SQLiteOpenHelper { cursor.moveToFirst(); return Account.fromCursor(cursor); } + + public List getImageMessages(Conversation conversation) { + ArrayList list = new ArrayList(); + SQLiteDatabase db = this.getReadableDatabase(); + Cursor cursor; + String[] selectionArgs = { conversation.getUuid(), String.valueOf(Message.TYPE_IMAGE) }; + cursor = db.query(Message.TABLENAME, null, Message.CONVERSATION + + "=? AND "+Message.TYPE+"=?", selectionArgs, null, null,null); + if (cursor.getCount() > 0) { + cursor.moveToLast(); + do { + Message message = Message.fromCursor(cursor); + message.setConversation(conversation); + list.add(message); + } while (cursor.moveToPrevious()); + } + return list; + } } -- cgit v1.2.3