Strongly type UUIDs as ACIs.

This commit is contained in:
Greyson Parrelli
2021-10-28 15:39:36 -04:00
parent 6c7d837964
commit 5bb48caafd
120 changed files with 1020 additions and 947 deletions

View File

@@ -249,7 +249,6 @@ import org.thoughtcrime.securesms.search.MessageResult;
import org.thoughtcrime.securesms.service.KeyCachingService;
import org.thoughtcrime.securesms.sms.MessageSender;
import org.thoughtcrime.securesms.sms.OutgoingEncryptedMessage;
import org.thoughtcrime.securesms.sms.OutgoingEndSessionMessage;
import org.thoughtcrime.securesms.sms.OutgoingTextMessage;
import org.thoughtcrime.securesms.stickers.StickerEventListener;
import org.thoughtcrime.securesms.stickers.StickerLocator;
@@ -1521,7 +1520,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
sendButton.resetAvailableTransports(isMediaMessage);
if (!isSecureText && !isPushGroupConversation() && !recipient.get().isUuidOnly()) {
if (!isSecureText && !isPushGroupConversation() && !recipient.get().isAciOnly()) {
sendButton.disableTransport(Type.TEXTSECURE);
}
@@ -1532,7 +1531,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
if (!recipient.get().isPushGroup() && recipient.get().isForceSmsSelection()) {
sendButton.setDefaultTransport(Type.SMS);
} else {
if (isSecureText || isPushGroupConversation() || recipient.get().isUuidOnly()) {
if (isSecureText || isPushGroupConversation() || recipient.get().isAciOnly()) {
sendButton.setDefaultTransport(Type.TEXTSECURE);
} else {
sendButton.setDefaultTransport(Type.SMS);
@@ -2942,7 +2941,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
return new SettableFuture<>(null);
}
final boolean sendPush = (isSecureText && !forceSms) || recipient.get().isUuidOnly();
final boolean sendPush = (isSecureText && !forceSms) || recipient.get().isAciOnly();
final long thread = this.threadId;
if (sendPush) {
@@ -3005,7 +3004,7 @@ public class ConversationActivity extends PassphraseRequiredActivity
final long thread = this.threadId;
final Context context = getApplicationContext();
final String messageBody = getMessage();
final boolean sendPush = (isSecureText && !forceSms) || recipient.get().isUuidOnly();
final boolean sendPush = (isSecureText && !forceSms) || recipient.get().isAciOnly();
OutgoingTextMessage message;

View File

@@ -47,10 +47,9 @@ import org.thoughtcrime.securesms.util.ViewUtil;
import org.thoughtcrime.securesms.util.concurrent.ListenableFuture;
import org.thoughtcrime.securesms.util.livedata.LiveDataUtil;
import org.whispersystems.libsignal.util.guava.Optional;
import org.whispersystems.signalservice.api.push.ACI;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.Set;
@@ -343,11 +342,11 @@ public final class ConversationUpdateItem extends FrameLayout
});
} else if (conversationMessage.getMessageRecord().isGroupCall()) {
UpdateDescription updateDescription = MessageRecord.getGroupCallUpdateDescription(getContext(), conversationMessage.getMessageRecord().getBody(), true);
Collection<UUID> uuids = updateDescription.getMentioned();
Collection<ACI> acis = updateDescription.getMentioned();
int text = 0;
if (Util.hasItems(uuids)) {
if (uuids.contains(TextSecurePreferences.getLocalUuid(getContext()))) {
if (Util.hasItems(acis)) {
if (acis.contains(TextSecurePreferences.getLocalAci(getContext()))) {
text = R.string.ConversationUpdateItem_return_to_call;
} else if (GroupCallUpdateDetailsUtil.parse(conversationMessage.getMessageRecord().getBody()).getIsCallFull()) {
text = R.string.ConversationUpdateItem_call_is_full;