summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaesu Lee <taesu82.lee@samsung.com>2021-01-12 20:46:50 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2021-01-12 20:46:50 +0000
commit6af322161911262e1dc26f040e3c777e1e6c9155 (patch)
tree1edc43b70fac809f679aec98467d309e34f5c02e
parent89efbab65dd1ba2d978bb7d593fa7e9601e6af72 (diff)
parentbccecb639356481c793a2b7f1aa0f14aa802ad5d (diff)
downloadplatform_packages_apps_Messaging-6af322161911262e1dc26f040e3c777e1e6c9155.tar.gz
platform_packages_apps_Messaging-6af322161911262e1dc26f040e3c777e1e6c9155.tar.bz2
platform_packages_apps_Messaging-6af322161911262e1dc26f040e3c777e1e6c9155.zip
Fix wrong sync message issue for pending outgoing messages am: bccecb6393
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Messaging/+/1547734 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Id836b2cb21964189880a56c4747b1903907631b6
-rw-r--r--src/com/android/messaging/datamodel/action/ResendMessageAction.java2
-rw-r--r--src/com/android/messaging/datamodel/action/SendMessageAction.java17
2 files changed, 13 insertions, 6 deletions
diff --git a/src/com/android/messaging/datamodel/action/ResendMessageAction.java b/src/com/android/messaging/datamodel/action/ResendMessageAction.java
index 0943f72..b442ae6 100644
--- a/src/com/android/messaging/datamodel/action/ResendMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/ResendMessageAction.java
@@ -80,8 +80,6 @@ public class ResendMessageAction extends Action implements Parcelable {
final ContentValues values = new ContentValues();
values.put(MessageColumns.STATUS, MessageData.BUGLE_STATUS_OUTGOING_YET_TO_SEND);
- values.put(MessageColumns.RECEIVED_TIMESTAMP, timestamp);
- values.put(MessageColumns.SENT_TIMESTAMP, timestamp);
values.put(MessageColumns.RETRY_START_TIMESTAMP, timestamp);
// Row must exist as was just loaded above (on ActionService thread)
diff --git a/src/com/android/messaging/datamodel/action/SendMessageAction.java b/src/com/android/messaging/datamodel/action/SendMessageAction.java
index 35e6280..44c661d 100644
--- a/src/com/android/messaging/datamodel/action/SendMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/SendMessageAction.java
@@ -95,13 +95,17 @@ public class SendMessageAction extends Action implements Parcelable {
private boolean queueAction(final String messageId, final Action processingAction) {
actionParameters.putString(KEY_MESSAGE_ID, messageId);
- final long timestamp = System.currentTimeMillis();
final DatabaseWrapper db = DataModel.get().getDatabase();
final MessageData message = BugleDatabaseOperations.readMessage(db, messageId);
// Check message can be resent
if (message != null && message.canSendMessage()) {
- final boolean isSms = (message.getProtocol() == MessageData.PROTOCOL_SMS);
+ final boolean isSms = message.getIsSms();
+ long timestamp = System.currentTimeMillis();
+ if (!isSms) {
+ // MMS expects timestamp rounded to nearest second
+ timestamp = 1000 * ((timestamp + 500) / 1000);
+ }
final ParticipantData self = BugleDatabaseOperations.getExistingParticipant(
db, message.getSelfId());
@@ -110,8 +114,13 @@ public class SendMessageAction extends Action implements Parcelable {
// Update message status
if (message.getYetToSend()) {
- // Initial sending of message
- message.markMessageSending(timestamp);
+ if (message.getReceivedTimeStamp() == message.getRetryStartTimestamp()) {
+ // Initial sending of message
+ message.markMessageSending(timestamp);
+ } else {
+ // Manual resend of message
+ message.markMessageManualResend(timestamp);
+ }
} else {
// Automatic resend of message
message.markMessageResending(timestamp);