Indicate a message was delivered via push in its delivery status.

This commit is contained in:
Moxie Marlinspike
2014-02-20 16:14:58 -08:00
parent 918f223149
commit ff238a1ce9
16 changed files with 65 additions and 29 deletions

View File

@@ -31,17 +31,17 @@ import org.thoughtcrime.securesms.notifications.MessageNotifier;
import org.thoughtcrime.securesms.recipients.Recipients;
import org.thoughtcrime.securesms.service.SendReceiveService.ToastHandler;
import org.thoughtcrime.securesms.sms.IncomingIdentityUpdateMessage;
import org.thoughtcrime.securesms.sms.IncomingTextMessage;
import org.thoughtcrime.securesms.transport.RetryLaterException;
import org.thoughtcrime.securesms.transport.UndeliverableMessageException;
import org.thoughtcrime.securesms.transport.UniversalTransport;
import org.thoughtcrime.securesms.transport.UntrustedIdentityException;
import org.whispersystems.textsecure.crypto.MasterSecret;
import org.whispersystems.textsecure.util.Base64;
import ws.com.google.android.mms.MmsException;
import ws.com.google.android.mms.pdu.SendReq;
import static org.thoughtcrime.securesms.database.SmsDatabase.Status;
public class MmsSender {
private final Context context;
@@ -78,9 +78,9 @@ public class MmsSender {
database.markAsSending(message.getDatabaseMessageId());
MmsSendResult result = transport.deliver(message, threadId);
if (result.isUpgradedSecure()) {
database.markAsSecure(message.getDatabaseMessageId());
}
if (result.isUpgradedSecure()) database.markAsSecure(message.getDatabaseMessageId());
if (result.isPush()) database.markDeliveryStatus(message.getDatabaseMessageId(),
Status.STATUS_SENT_PUSH);
database.markAsSent(message.getDatabaseMessageId(), result.getMessageId(),
result.getResponseStatus());

View File

@@ -108,6 +108,7 @@ public class SmsSender {
long messageId = intent.getLongExtra("message_id", -1);
int result = intent.getIntExtra("ResultCode", -31337);
boolean upgraded = intent.getBooleanExtra("upgraded", false);
boolean push = intent.getBooleanExtra("push", false);
Log.w("SMSReceiverService", "Intent resultcode: " + result);
Log.w("SMSReceiverService", "Running sent callback: " + messageId);
@@ -119,9 +120,8 @@ public class SmsSender {
database.markAsSent(messageId);
if (upgraded) {
database.markAsSecure(messageId);
}
if (upgraded) database.markAsSecure(messageId);
if (push) database.markStatus(messageId, SmsDatabase.Status.STATUS_SENT_PUSH);
SmsMessageRecord record = reader.getNext();