Filter out invalid phone numbers from system contacts.

Some phones are putting UUIDs in phone number fields. Who knows why.

Fixes #12191
fork-5.53.8
Greyson Parrelli 2022-04-25 08:41:48 -04:00 zatwierdzone przez Cody Henthorne
rodzic 2a086ad574
commit b8c42fa57e
1 zmienionych plików z 4 dodań i 1 usunięć

Wyświetl plik

@ -33,6 +33,7 @@ import org.thoughtcrime.securesms.util.Stopwatch
import org.thoughtcrime.securesms.util.TextSecurePreferences
import org.thoughtcrime.securesms.util.Util
import org.whispersystems.signalservice.api.push.SignalServiceAddress
import org.whispersystems.signalservice.api.util.UuidUtil
import java.io.IOException
import java.util.Calendar
@ -299,7 +300,9 @@ object ContactDiscovery {
contactsProvider().use { iterator ->
while (iterator.hasNext()) {
val details = iterator.next()
val phoneDetailsWithoutSelf: List<ContactPhoneDetails> = details.numbers.filter { it.number != localNumber }
val phoneDetailsWithoutSelf: List<ContactPhoneDetails> = details.numbers
.filter { it.number != localNumber }
.filterNot { UuidUtil.isUuid(it.number) }
for (phoneDetails in phoneDetailsWithoutSelf) {
val realNumber: String = Util.getFirstNonEmpty(rewrites[phoneDetails.number], phoneDetails.number)