]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonTypingMessage.java
Add typing message to json output
[signal-cli] / src / main / java / org / asamk / signal / json / JsonTypingMessage.java
diff --git a/src/main/java/org/asamk/signal/json/JsonTypingMessage.java b/src/main/java/org/asamk/signal/json/JsonTypingMessage.java
new file mode 100644 (file)
index 0000000..18548ce
--- /dev/null
@@ -0,0 +1,28 @@
+package org.asamk.signal.json;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage;
+
+import java.util.Base64;
+
+class JsonTypingMessage {
+
+    @JsonProperty
+    final String action;
+
+    @JsonProperty
+    final long timestamp;
+
+    @JsonProperty
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    final String groupId;
+
+    JsonTypingMessage(SignalServiceTypingMessage typingMessage) {
+        this.action = typingMessage.getAction().name();
+        this.timestamp = typingMessage.getTimestamp();
+        final Base64.Encoder encoder = Base64.getEncoder();
+        this.groupId = typingMessage.getGroupId().transform(encoder::encodeToString).orNull();
+    }
+}