aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/entities/Message.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/pixart/messenger/entities/Message.java')
-rw-r--r--src/main/java/de/pixart/messenger/entities/Message.java39
1 files changed, 13 insertions, 26 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Message.java b/src/main/java/de/pixart/messenger/entities/Message.java
index 2a864f914..89236b0fd 100644
--- a/src/main/java/de/pixart/messenger/entities/Message.java
+++ b/src/main/java/de/pixart/messenger/entities/Message.java
@@ -186,35 +186,11 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
}
public static Message fromCursor(Cursor cursor, Conversation conversation) {
- Jid jid;
- try {
- String value = cursor.getString(cursor.getColumnIndex(COUNTERPART));
- if (value != null) {
- jid = Jid.of(value);
- } else {
- jid = null;
- }
- } catch (IllegalArgumentException e) {
- jid = null;
- } catch (IllegalStateException e) {
- return null; // message too long?
- }
- Jid trueCounterpart;
- try {
- String value = cursor.getString(cursor.getColumnIndex(TRUE_COUNTERPART));
- if (value != null) {
- trueCounterpart = Jid.of(value);
- } else {
- trueCounterpart = null;
- }
- } catch (IllegalArgumentException e) {
- trueCounterpart = null;
- }
return new Message(conversation,
cursor.getString(cursor.getColumnIndex(UUID)),
cursor.getString(cursor.getColumnIndex(CONVERSATION)),
- jid,
- trueCounterpart,
+ fromString(cursor.getString(cursor.getColumnIndex(COUNTERPART))),
+ fromString(cursor.getString(cursor.getColumnIndex(TRUE_COUNTERPART))),
cursor.getString(cursor.getColumnIndex(BODY)),
cursor.getLong(cursor.getColumnIndex(TIME_SENT)),
cursor.getInt(cursor.getColumnIndex(ENCRYPTION)),
@@ -235,6 +211,17 @@ public class Message extends AbstractEntity implements AvatarService.Avatarable
cursor.getInt(cursor.getColumnIndex(FILE_DELETED)) > 0);
}
+ private static Jid fromString(String value) {
+ try {
+ if (value != null) {
+ return Jid.of(value);
+ }
+ } catch (IllegalArgumentException e) {
+ return null;
+ }
+ return null;
+ }
+
public static Message createStatusMessage(Conversation conversation, String body) {
final Message message = new Message(conversation);
message.setType(Message.TYPE_STATUS);