mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-25 13:39:24 +00:00
Filter out bad E164s from GV1 groups.
This commit is contained in:
committed by
Cody Henthorne
parent
e45eabc714
commit
a2a10fb0c1
@@ -5,6 +5,7 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.annimon.stream.Stream;
|
||||
|
||||
import org.signal.core.util.E164Util;
|
||||
import org.signal.libsignal.zkgroup.InvalidInputException;
|
||||
import org.signal.libsignal.zkgroup.groups.GroupMasterKey;
|
||||
import org.signal.storageservice.protos.groups.local.DecryptedGroup;
|
||||
@@ -16,6 +17,7 @@ import org.thoughtcrime.securesms.messages.SignalServiceProtoUtil;
|
||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.signal.core.util.Base64;
|
||||
import org.thoughtcrime.securesms.util.SignalE164Util;
|
||||
import org.whispersystems.signalservice.api.groupsv2.DecryptedGroupUtil;
|
||||
import org.whispersystems.signalservice.api.push.ServiceId;
|
||||
import org.whispersystems.signalservice.api.push.ServiceId.ACI;
|
||||
@@ -128,6 +130,7 @@ public final class MessageGroupContext {
|
||||
RecipientId selfId = Recipient.self().getId();
|
||||
|
||||
return Stream.of(groupContext.members)
|
||||
.filter(m -> SignalE164Util.isPotentialE164(m.e164))
|
||||
.map(m -> m.e164)
|
||||
.withoutNulls()
|
||||
.map(RecipientId::fromE164)
|
||||
|
||||
@@ -53,6 +53,14 @@ object SignalE164Util {
|
||||
return getFormatter().formatAsE164(input)
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the input string can be considered an E164. Specifically, it returns true if we could figure out how to format it as an E164.
|
||||
*/
|
||||
@JvmStatic
|
||||
fun isPotentialE164(input: String): Boolean {
|
||||
return formatAsE164(input) != null
|
||||
}
|
||||
|
||||
private fun getFormatter(): E164Util.Formatter {
|
||||
val localNumber = SignalStore.account.e164 ?: return defaultFormatter
|
||||
val formatter = cachedFormatters[localNumber]
|
||||
|
||||
Reference in New Issue
Block a user