summaryrefslogtreecommitdiffstats
path: root/src/com/android/messaging/datamodel
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/messaging/datamodel')
-rw-r--r--src/com/android/messaging/datamodel/action/MarkAsReadAction.java3
-rw-r--r--src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java6
-rw-r--r--src/com/android/messaging/datamodel/action/ReceiveMmsMessageAction.java3
-rw-r--r--src/com/android/messaging/datamodel/data/MessageData.java3
4 files changed, 14 insertions, 1 deletions
diff --git a/src/com/android/messaging/datamodel/action/MarkAsReadAction.java b/src/com/android/messaging/datamodel/action/MarkAsReadAction.java
index 31bc59d..2e45fb5 100644
--- a/src/com/android/messaging/datamodel/action/MarkAsReadAction.java
+++ b/src/com/android/messaging/datamodel/action/MarkAsReadAction.java
@@ -28,6 +28,7 @@ import com.android.messaging.datamodel.DatabaseHelper.MessageColumns;
import com.android.messaging.datamodel.DatabaseWrapper;
import com.android.messaging.datamodel.MessagingContentProvider;
import com.android.messaging.sms.MmsUtils;
+import com.android.messaging.mmslib.pdu.PduHeaders;
import com.android.messaging.util.LogUtil;
/**
@@ -60,9 +61,9 @@ public class MarkAsReadAction extends Action implements Parcelable {
// Mark all messages in thread as read in telephony
final long threadId = BugleDatabaseOperations.getThreadId(db, conversationId);
if (threadId != -1) {
+ MmsUtils.sendMmsReadReport(threadId, PduHeaders.READ_STATUS_READ);
MmsUtils.updateSmsReadStatus(threadId, Long.MAX_VALUE);
}
-
// Update local db
db.beginTransaction();
try {
diff --git a/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java b/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java
index 93f738f..7332153 100644
--- a/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java
+++ b/src/com/android/messaging/datamodel/action/ProcessDownloadedMmsAction.java
@@ -464,6 +464,9 @@ public class ProcessDownloadedMmsAction extends Action {
// TODO: Also write these values to the telephony provider
mms.mRead = messageInFocusedConversation;
mms.mSeen = messageInObservableConversation;
+ if (messageInFocusedConversation) {
+ MmsUtils.sendMmsReadReport(mms.mThreadId, PduHeaders.READ_STATUS_READ);
+ }
// Translate to our format
message = MmsUtils.createMmsMessage(mms, conversationId, senderParticipantId,
@@ -534,6 +537,9 @@ public class ProcessDownloadedMmsAction extends Action {
values.put(Mms.READ, messageInFocusedConversation);
SqliteWrapper.update(context, context.getContentResolver(), mmsUri, values,
null, null);
+ if (messageInFocusedConversation) {
+ MmsUtils.sendMmsReadReport(mms.mThreadId, PduHeaders.READ_STATUS_READ);
+ }
}
// Show a notification to let the user know a new message has arrived
diff --git a/src/com/android/messaging/datamodel/action/ReceiveMmsMessageAction.java b/src/com/android/messaging/datamodel/action/ReceiveMmsMessageAction.java
index 4ebc8b4..f21e062 100644
--- a/src/com/android/messaging/datamodel/action/ReceiveMmsMessageAction.java
+++ b/src/com/android/messaging/datamodel/action/ReceiveMmsMessageAction.java
@@ -101,6 +101,9 @@ public class ReceiveMmsMessageAction extends Action implements Parcelable {
// TODO: Also write these values to the telephony provider
mms.mRead = messageInFocusedConversation;
mms.mSeen = messageInObservableConversation || blocked;
+ if (messageInFocusedConversation) {
+ MmsUtils.sendMmsReadReport(mms.mThreadId, PduHeaders.READ_STATUS_READ);
+ }
// Write received placeholder message to our DB
db.beginTransaction();
diff --git a/src/com/android/messaging/datamodel/data/MessageData.java b/src/com/android/messaging/datamodel/data/MessageData.java
index a3698a9..01bb382 100644
--- a/src/com/android/messaging/datamodel/data/MessageData.java
+++ b/src/com/android/messaging/datamodel/data/MessageData.java
@@ -130,6 +130,7 @@ public class MessageData implements Parcelable {
public static final int BUGLE_STATUS_OUTGOING_AWAITING_RETRY = 7;
public static final int BUGLE_STATUS_OUTGOING_FAILED = 8;
public static final int BUGLE_STATUS_OUTGOING_FAILED_EMERGENCY_NUMBER = 9;
+ public static final int BUGLE_STATUS_OUTGOING_COMPLETE_AND_READ = 10;
// Incoming
public static final int BUGLE_STATUS_INCOMING_COMPLETE = 100;
@@ -179,6 +180,8 @@ public class MessageData implements Parcelable {
return "INCOMING_DOWNLOAD_FAILED";
case BUGLE_STATUS_INCOMING_EXPIRED_OR_NOT_AVAILABLE:
return "INCOMING_EXPIRED_OR_NOT_AVAILABLE";
+ case BUGLE_STATUS_OUTGOING_COMPLETE_AND_READ:
+ return "OUTGOING_COMPLETE_AND_READ";
default:
return String.valueOf(status) + " (check MessageData)";
}