Improve default SMS subscription id intelligence

Fixes #5266
// FREEBIE
This commit is contained in:
Moxie Marlinspike
2017-02-17 20:43:24 -08:00
parent 1b1470aae2
commit acca4a72d3
5 changed files with 54 additions and 2 deletions

View File

@@ -10,6 +10,7 @@ import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import org.greenrobot.eventbus.EventBus;
import org.thoughtcrime.securesms.color.MaterialColor;
import org.thoughtcrime.securesms.recipients.RecipientFactory;
import org.thoughtcrime.securesms.recipients.Recipients;
@@ -140,6 +141,7 @@ public class RecipientPreferenceDatabase extends Database {
ContentValues values = new ContentValues();
values.put(DEFAULT_SUBSCRIPTION_ID, defaultSubscriptionId);
updateOrInsert(recipients, values);
EventBus.getDefault().post(new RecipientPreferenceEvent(recipients));
}
public void setBlocked(Recipients recipients, boolean blocked) {
@@ -284,4 +286,17 @@ public class RecipientPreferenceDatabase extends Database {
return getCurrent();
}
}
public static class RecipientPreferenceEvent {
private final Recipients recipients;
public RecipientPreferenceEvent(Recipients recipients) {
this.recipients = recipients;
}
public Recipients getRecipients() {
return recipients;
}
}
}

View File

@@ -567,6 +567,10 @@ public class SmsDatabase extends MessagingDatabase {
DatabaseFactory.getThreadDatabase(context).update(threadId, true);
}
if (message.getSubscriptionId() != -1) {
DatabaseFactory.getRecipientPreferenceDatabase(context).setDefaultSubscriptionId(recipients, message.getSubscriptionId());
}
notifyConversationListeners(threadId);
jobManager.add(new TrimThreadJob(context, threadId));