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.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Message.java b/src/main/java/de/pixart/messenger/entities/Message.java
index 828d810bf..8a59b4cf4 100644
--- a/src/main/java/de/pixart/messenger/entities/Message.java
+++ b/src/main/java/de/pixart/messenger/entities/Message.java
@@ -70,6 +70,7 @@ public class Message extends AbstractEntity {
public static final String READ = "read";
public static final String ERROR_MESSAGE = "errorMsg";
public static final String READ_BY_MARKERS = "readByMarkers";
+ public static final String MARKABLE = "markable";
public static final String ME_COMMAND = "/me ";
@@ -96,7 +97,7 @@ public class Message extends AbstractEntity {
private Message mPreviousMessage = null;
private String axolotlFingerprint = null;
private String errorMessage = null;
- protected Set<ReadByMarker> readByMarkers = new HashSet<>();
+ private Set<ReadByMarker> readByMarkers = new HashSet<>();
private Boolean isGeoUri = null;
private Boolean isXmppUri = null;
@@ -132,7 +133,8 @@ public class Message extends AbstractEntity {
null,
false,
null,
- null);
+ null,
+ false);
}
private Message(final Conversation conversation, final String uuid, final String conversationUUid, final Jid counterpart,
@@ -140,7 +142,8 @@ public class Message extends AbstractEntity {
final int encryption, final int status, final int type, final boolean carbon,
final String remoteMsgId, final String relativeFilePath,
final String serverMsgId, final String fingerprint, final boolean read,
- final String edited, final boolean oob, final String errorMessage, final Set<ReadByMarker> readByMarkers) {
+ final String edited, final boolean oob, final String errorMessage, final Set<ReadByMarker> readByMarkers,
+ final boolean markable) {
this.conversation = conversation;
this.uuid = uuid;
this.conversationUuid = conversationUUid;
@@ -160,7 +163,8 @@ public class Message extends AbstractEntity {
this.edited = edited;
this.oob = oob;
this.errorMessage = errorMessage;
- this.readByMarkers = new HashSet<>();
+ this.readByMarkers = readByMarkers == null ? new HashSet<ReadByMarker>() : readByMarkers;
+ this.markable = markable;
}
public static Message fromCursor(Cursor cursor, Conversation conversation) {
@@ -207,7 +211,8 @@ public class Message extends AbstractEntity {
cursor.getString(cursor.getColumnIndex(EDITED)),
cursor.getInt(cursor.getColumnIndex(OOB)) > 0,
cursor.getString(cursor.getColumnIndex(ERROR_MESSAGE)),
- ReadByMarker.fromJsonString(cursor.getString(cursor.getColumnIndex(READ_BY_MARKERS))));
+ ReadByMarker.fromJsonString(cursor.getString(cursor.getColumnIndex(READ_BY_MARKERS))),
+ cursor.getInt(cursor.getColumnIndex(MARKABLE)) > 0);
}
public static Message createStatusMessage(Conversation conversation, String body) {
@@ -263,6 +268,7 @@ public class Message extends AbstractEntity {
values.put(OOB, oob ? 1 : 0);
values.put(ERROR_MESSAGE, errorMessage);
values.put(READ_BY_MARKERS, ReadByMarker.toJson(readByMarkers).toString());
+ values.put(MARKABLE, markable ? 1 : 0);
return values;
}