From fe5e101463670041fe6923ff76e8ce7e35cd9d1d Mon Sep 17 00:00:00 2001 From: PurplePlatypus Date: Mon, 6 Jul 2015 17:14:57 -0500 Subject: [PATCH] Change TS Media message timestamp from received time to sent time Fix #3525 Closes #3535 //FREEBIE --- src/org/thoughtcrime/securesms/ConversationItem.java | 10 ++-------- .../securesms/database/ThreadDatabase.java | 7 +------ .../securesms/database/model/MessageRecord.java | 5 +++++ .../securesms/notifications/MessageNotifier.java | 6 ++---- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationItem.java b/src/org/thoughtcrime/securesms/ConversationItem.java index 0866bd7db1..d27fd577a6 100644 --- a/src/org/thoughtcrime/securesms/ConversationItem.java +++ b/src/org/thoughtcrime/securesms/ConversationItem.java @@ -311,13 +311,7 @@ public class ConversationItem extends LinearLayout secureImage.setVisibility(messageRecord.isSecure() ? View.VISIBLE : View.GONE); bodyText.setCompoundDrawablesWithIntrinsicBounds(0, 0, messageRecord.isKeyExchange() ? R.drawable.ic_menu_login : 0, 0); - - final long timestamp; - - if (messageRecord.isPush()) timestamp = messageRecord.getDateSent(); - else timestamp = messageRecord.getDateReceived(); - - dateText.setText(DateUtils.getExtendedRelativeTimeSpanString(getContext(), locale, timestamp)); + dateText.setText(DateUtils.getExtendedRelativeTimeSpanString(getContext(), locale, messageRecord.getTimestamp())); if (messageRecord.isFailed()) { setFailedStatusIcons(); @@ -471,7 +465,7 @@ public class ConversationItem extends LinearLayout intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setDataAndType(slide.getUri(), slide.getContentType()); if (!messageRecord.isOutgoing()) intent.putExtra(MediaPreviewActivity.RECIPIENT_EXTRA, recipient.getRecipientId()); - intent.putExtra(MediaPreviewActivity.DATE_EXTRA, messageRecord.getDateReceived()); + intent.putExtra(MediaPreviewActivity.DATE_EXTRA, messageRecord.getTimestamp()); context.startActivity(intent); } else { diff --git a/src/org/thoughtcrime/securesms/database/ThreadDatabase.java b/src/org/thoughtcrime/securesms/database/ThreadDatabase.java index f5afa1c67e..628cd74f04 100644 --- a/src/org/thoughtcrime/securesms/database/ThreadDatabase.java +++ b/src/org/thoughtcrime/securesms/database/ThreadDatabase.java @@ -482,13 +482,8 @@ public class ThreadDatabase extends Database { MessageRecord record; if (reader != null && (record = reader.getNext()) != null) { - final long timestamp; - - if (record.isPush()) timestamp = record.getDateSent(); - else timestamp = record.getDateReceived(); - updateThread(threadId, count, record.getBody().getBody(), getAttachmentUriFor(record), - timestamp, record.getDeliveryStatus(), record.getReceiptCount(), + record.getTimestamp(), record.getDeliveryStatus(), record.getReceiptCount(), record.getType(), unarchive); notifyConversationListListeners(); return false; diff --git a/src/org/thoughtcrime/securesms/database/model/MessageRecord.java b/src/org/thoughtcrime/securesms/database/model/MessageRecord.java index 1eb524daa0..dcba1fefbd 100644 --- a/src/org/thoughtcrime/securesms/database/model/MessageRecord.java +++ b/src/org/thoughtcrime/securesms/database/model/MessageRecord.java @@ -115,6 +115,11 @@ public abstract class MessageRecord extends DisplayRecord { return SmsDatabase.Types.isPushType(type) && !SmsDatabase.Types.isForcedSms(type); } + public long getTimestamp() { + if (isPush()) return getDateSent(); + else return getDateReceived(); + } + public boolean isForcedSms() { return SmsDatabase.Types.isForcedSms(type); } diff --git a/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java b/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java index c4956e10c2..b59df2370c 100644 --- a/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java +++ b/src/org/thoughtcrime/securesms/notifications/MessageNotifier.java @@ -349,10 +349,8 @@ public class MessageNotifier { CharSequence body = record.getDisplayBody(); Recipients threadRecipients = null; SlideDeck slideDeck = null; - long timestamp; - - if (record.isPush()) timestamp = record.getDateSent(); - else timestamp = record.getDateReceived(); + long timestamp = record.getTimestamp(); + if (threadId != -1) { threadRecipients = DatabaseFactory.getThreadDatabase(context).getRecipientsForThreadId(threadId);