Merge pull request #2270 from moparisthebest/master

Stop Conversations force closing over sqlite errors due to long messages
This commit is contained in:
Daniel Gultsch 2017-02-07 17:35:25 +01:00 committed by GitHub
commit 6313c3c92e
3 changed files with 8 additions and 2 deletions

View File

@ -154,6 +154,8 @@ public class Message extends AbstractEntity {
}
} catch (InvalidJidException e) {
jid = null;
} catch (IllegalStateException e) {
return null; // message too long?
}
Jid trueCounterpart;
try {

View File

@ -640,8 +640,10 @@ public class DatabaseBackend extends SQLiteOpenHelper {
cursor.moveToLast();
do {
Message message = Message.fromCursor(cursor);
message.setConversation(conversation);
list.add(message);
if (message != null) {
message.setConversation(conversation);
list.add(message);
}
} while (cursor.moveToPrevious());
}
cursor.close();

View File

@ -84,6 +84,8 @@ public class ExportLogsService extends Service {
BufferedWriter bw = null;
try {
for (Message message : mDatabaseBackend.getMessagesIterable(conversation)) {
if (message == null)
continue;
if (message.getType() == Message.TYPE_TEXT || message.hasFileOnRemoteHost()) {
String date = simpleDateFormat.format(new Date(message.getTimeSent()));
if (bw == null) {