Skip to content

Commit 17473f6

Browse files
committed
Fix seeded MMS download messages being deleted by sync
1 parent c903788 commit 17473f6

3 files changed

Lines changed: 8 additions & 1 deletion

File tree

src/com/android/messaging/datamodel/action/DownloadMmsAction.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,11 @@ protected boolean queueAction(final String messageId, final Action processingAct
118118
final MessageData message = BugleDatabaseOperations.readMessage(db, messageId);
119119
if (message != null && message.canDownloadMessage()) {
120120
final Uri notificationUri = message.getSmsMessageUri();
121+
if (notificationUri == null) {
122+
LogUtil.w(TAG, "DownloadMmsAction: message " + messageId
123+
+ " has no notification uri; skipping download");
124+
return false;
125+
}
121126
final String conversationId = message.getConversationId();
122127
final int status = message.getStatus();
123128

src/com/android/messaging/debug/TestDataSeeder.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,6 @@ private fun insertMmsDownloadMessage(
957957
put(MessageColumns.RECEIVED_TIMESTAMP, timestamp)
958958
put(MessageColumns.SEEN, 1)
959959
put(MessageColumns.READ, 1)
960-
put(MessageColumns.SMS_MESSAGE_URI, "content://mms/${900_000 + seedIndex}")
961960
put(MessageColumns.SMS_PRIORITY, 0)
962961
put(MessageColumns.SMS_MESSAGE_SIZE, messageSizeBytes)
963962
put(MessageColumns.MMS_TRANSACTION_ID, "seeded-transaction-$seedIndex")

src/com/android/messaging/sms/MmsUtils.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1951,6 +1951,9 @@ public static StatusPlusUri updateSentMmsMessageStatus(final Context context,
19511951
}
19521952

19531953
public static void clearMmsStatus(final Context context, final Uri uri) {
1954+
if (uri == null) {
1955+
return;
1956+
}
19541957
// Messaging application can leave invalid values in STATUS field of M-Notification.ind
19551958
// messages. Take this opportunity to clear it.
19561959
// Downloading status just kept in local db and not reflected into telephony.

0 commit comments

Comments
 (0)