From ddeca24c35ba332d8c0d6ec7ccd4de663af7a760 Mon Sep 17 00:00:00 2001 From: Christoph <47949835+shtrophic@users.noreply.github.com> Date: Thu, 3 Apr 2025 22:09:23 +0200 Subject: [PATCH] Fix missing phone numbers (#1343) --- .../de/mm20/launcher2/contacts/ContactRepository.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/data/contacts/src/main/java/de/mm20/launcher2/contacts/ContactRepository.kt b/data/contacts/src/main/java/de/mm20/launcher2/contacts/ContactRepository.kt index 7fd7f2db..8af74d3a 100644 --- a/data/contacts/src/main/java/de/mm20/launcher2/contacts/ContactRepository.kt +++ b/data/contacts/src/main/java/de/mm20/launcher2/contacts/ContactRepository.kt @@ -166,7 +166,7 @@ internal class ContactRepository( } lookupKeyCursor.close() - val mainLocaleISO3 = context.resources.configuration.locales[0].isO3Country + val defaultCountryIso = context.resources.configuration.locales[0].country return@withContext AndroidContact( id = id, @@ -175,15 +175,17 @@ internal class ContactRepository( displayName = displayName, phoneNumbers = phoneNumbers.sortedByDescending { it.number.count { !PhoneNumberUtils.isReallyDialable(it) } + }.map { + val formattedNumber = + PhoneNumberUtils.formatNumber(it.number, defaultCountryIso) + ?: return@map it + it.copy(number = formattedNumber) }.distinctByEquality { a, b -> if (Build.VERSION.SDK_INT < 31) { PhoneNumberUtils.compare(context, a.number, b.number) } else { - PhoneNumberUtils.areSamePhoneNumber(a.number, b.number, mainLocaleISO3) + PhoneNumberUtils.areSamePhoneNumber(a.number, b.number, defaultCountryIso) } - }.mapNotNull { - val formattedNumber = PhoneNumberUtils.formatNumber(it.number, mainLocaleISO3) ?: return@mapNotNull null - it.copy(number = formattedNumber) }, emailAddresses = emailAddresses.distinct(), postalAddresses = postalAddresses.distinct(),