From b715debefcf8eda336c67bcfdd5a9ca674c0bf33 Mon Sep 17 00:00:00 2001 From: Jake McGinty Date: Thu, 3 Apr 2014 16:20:23 -0700 Subject: [PATCH] mark auto-fallback to sms as forcedSms // FREEBIE --- src/org/thoughtcrime/securesms/ConversationAdapter.java | 9 +++------ src/org/thoughtcrime/securesms/ConversationFragment.java | 2 +- src/org/thoughtcrime/securesms/database/MmsDatabase.java | 5 +++-- .../securesms/transport/UniversalTransport.java | 2 ++ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ConversationAdapter.java b/src/org/thoughtcrime/securesms/ConversationAdapter.java index 47fca0532..064b472bf 100644 --- a/src/org/thoughtcrime/securesms/ConversationAdapter.java +++ b/src/org/thoughtcrime/securesms/ConversationAdapter.java @@ -23,9 +23,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; -import android.widget.CursorAdapter; +import android.support.v4.widget.CursorAdapter; -import org.thoughtcrime.securesms.util.GroupUtil; import org.whispersystems.textsecure.crypto.MasterSecret; import org.thoughtcrime.securesms.database.DatabaseFactory; import org.thoughtcrime.securesms.database.MmsSmsColumns; @@ -33,7 +32,6 @@ import org.thoughtcrime.securesms.database.MmsSmsDatabase; import org.thoughtcrime.securesms.database.SmsDatabase; import org.thoughtcrime.securesms.database.model.MessageRecord; import org.thoughtcrime.securesms.util.LRUCache; -import org.whispersystems.textsecure.push.PushMessageProtos.PushMessageContent.GroupContext; import java.lang.ref.SoftReference; import java.util.Collections; @@ -67,14 +65,13 @@ public class ConversationAdapter extends CursorAdapter implements AbsListView.Re public ConversationAdapter(Context context, MasterSecret masterSecret, Handler failedIconClickHandler, boolean groupThread, boolean pushDestination) { - super(context, null); + super(context, null, true); this.context = context; this.masterSecret = masterSecret; this.failedIconClickHandler = failedIconClickHandler; this.groupThread = groupThread; this.pushDestination = pushDestination; - this.inflater = (LayoutInflater)context - .getSystemService(Context.LAYOUT_INFLATER_SERVICE); + this.inflater = LayoutInflater.from(context); } @Override diff --git a/src/org/thoughtcrime/securesms/ConversationFragment.java b/src/org/thoughtcrime/securesms/ConversationFragment.java index 9517d0fc1..8f2208a8c 100644 --- a/src/org/thoughtcrime/securesms/ConversationFragment.java +++ b/src/org/thoughtcrime/securesms/ConversationFragment.java @@ -16,7 +16,7 @@ import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; -import android.widget.CursorAdapter; +import android.support.v4.widget.CursorAdapter; import android.widget.ListView; import com.actionbarsherlock.app.SherlockListFragment; diff --git a/src/org/thoughtcrime/securesms/database/MmsDatabase.java b/src/org/thoughtcrime/securesms/database/MmsDatabase.java index 7ba85c4a3..c70eaa867 100644 --- a/src/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/src/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -281,8 +281,9 @@ public class MmsDatabase extends Database implements MmsSmsColumns { notifyConversationListeners(getThreadIdForMessage(messageId)); } - public void markAsForcedSms(long id) { - updateMailboxBitmask(id, 0, Types.MESSAGE_FORCE_SMS_BIT); + public void markAsForcedSms(long messageId) { + updateMailboxBitmask(messageId, 0, Types.MESSAGE_FORCE_SMS_BIT); + notifyConversationListeners(getThreadIdForMessage(messageId)); } public void markAsPendingSecureSmsFallback(long messageId) { diff --git a/src/org/thoughtcrime/securesms/transport/UniversalTransport.java b/src/org/thoughtcrime/securesms/transport/UniversalTransport.java index 80c84dba1..eff7cc51e 100644 --- a/src/org/thoughtcrime/securesms/transport/UniversalTransport.java +++ b/src/org/thoughtcrime/securesms/transport/UniversalTransport.java @@ -167,6 +167,7 @@ public class UniversalTransport { if (!isSmsFallbackApprovalRequired) { Log.w("UniversalTransport", "Falling back to MMS"); + DatabaseFactory.getMmsDatabase(context).markAsForcedSms(mediaMessage.getDatabaseMessageId()); return mmsTransport.deliver(mediaMessage); } else if (!Session.hasEncryptCapableSession(context, masterSecret, recipient)) { Log.w("UniversalTransport", "Marking message as pending insecure SMS fallback"); @@ -188,6 +189,7 @@ public class UniversalTransport { if (!isSmsFallbackApprovalRequired) { Log.w("UniversalTransport", "Falling back to SMS"); + DatabaseFactory.getSmsDatabase(context).markAsForcedSms(smsMessage.getId()); smsTransport.deliver(smsMessage); } else if (!Session.hasEncryptCapableSession(context, masterSecret, recipient)) { Log.w("UniversalTransport", "Marking message as pending insecure fallback.");