From e47bfb54ee6afd0da38eb248eaae101e4e38c9e5 Mon Sep 17 00:00:00 2001 From: Moez Bhatti Date: Wed, 5 Feb 2020 22:52:29 -0500 Subject: [PATCH] Do a better job at filtering duplicate numbers --- .../com/moez/QKSMS/repository/SyncRepositoryImpl.kt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/data/src/main/java/com/moez/QKSMS/repository/SyncRepositoryImpl.kt b/data/src/main/java/com/moez/QKSMS/repository/SyncRepositoryImpl.kt index 8cb37238..eefe1b83 100644 --- a/data/src/main/java/com/moez/QKSMS/repository/SyncRepositoryImpl.kt +++ b/data/src/main/java/com/moez/QKSMS/repository/SyncRepositoryImpl.kt @@ -276,16 +276,16 @@ class SyncRepositoryImpl @Inject constructor( val uniqueNumbers = mutableListOf() contacts.value .flatMap { it.numbers } - .sortedBy { it.accountType } .forEach { number -> number.isDefault = defaultNumberIds.any { id -> id == number.id } - val duplicate = uniqueNumbers.any { other -> - number.accountType != other.accountType - && phoneNumberUtils.compare(number.address, other.address) + val duplicate = uniqueNumbers.find { other -> + phoneNumberUtils.compare(number.address, other.address) } - if (!duplicate) { + if (duplicate == null) { uniqueNumbers += number + } else if (!duplicate.isDefault && number.isDefault) { + duplicate.isDefault = true } }