Jelajahi Sumber

Improve message timestamps

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 6 tahun lalu
induk
melakukan
9cb72de8e8

+ 4 - 2
app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.java

@@ -203,6 +203,8 @@ public class NotificationWorker extends Worker {
                         HashMap<String, HashMap<String, String>> subjectRichParameters = notification
                                 .getSubjectRichParameters();
 
+                        decryptedPushMessage.setTimestamp(notification.getDatetime().getTime();
+
                         if (subjectRichParameters != null && subjectRichParameters.size() > 0) {
                             HashMap<String, String> callHashMap = subjectRichParameters.get("call");
                             HashMap<String, String> userHashMap = subjectRichParameters.get("user");
@@ -286,7 +288,7 @@ public class NotificationWorker extends Worker {
                 .setCategory(category)
                 .setPriority(priority)
                 .setSubText(baseUrl)
-                .setWhen(Calendar.getInstance().getTimeInMillis())
+                .setWhen(decryptedPushMessage.getTimestamp())
                 .setShowWhen(true)
                 .setContentTitle(decryptedPushMessage.getSubject())
                 .setContentIntent(pendingIntent)
@@ -426,7 +428,7 @@ public class NotificationWorker extends Worker {
                 style.getMessages().forEach(message -> newStyle.addMessage(new NotificationCompat.MessagingStyle.Message(message.getText(), message.getTimestamp(), message.getPerson())));
             }
 
-            newStyle.addMessage(decryptedPushMessage.getText(), System.currentTimeMillis(), person);
+            newStyle.addMessage(decryptedPushMessage.getText(), decryptedPushMessage.getTimestamp(), person);
             return newStyle;
         }
 

+ 3 - 0
app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.java

@@ -56,4 +56,7 @@ public class DecryptedPushMessage {
 
     @JsonIgnore
     String text;
+
+    @JsonIgnore
+    long timestamp;
 }