diff --git a/app/build.gradle b/app/build.gradle index a73bb305..75390a84 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -57,7 +57,7 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:5.27.18' + implementation 'com.simplemobiletools:commons:5.27.20' implementation 'joda-time:joda-time:2.10.1' implementation 'com.googlecode.ez-vcard:ez-vcard:0.10.5' implementation 'com.github.tibbi:IndicatorFastScroll:08f512858a' diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt index 0c561e04..e95350fa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/EditContactActivity.kt @@ -911,7 +911,7 @@ class EditContactActivity : ContactActivity() { val numberLabel = if (numberType == Phone.TYPE_CUSTOM) numberHolder.contact_number_type.value else "" if (number.isNotEmpty()) { - phoneNumbers.add(PhoneNumber(number, numberType, numberLabel, number.normalizeNumber())) + phoneNumbers.add(PhoneNumber(number, numberType, numberLabel, number.normalizePhoneNumber())) } } return phoneNumbers diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt index 124f15aa..08b10cd8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/adapters/ContactsAdapter.kt @@ -15,10 +15,7 @@ import com.bumptech.glide.signature.ObjectKey import com.simplemobiletools.commons.adapters.MyRecyclerViewAdapter import com.simplemobiletools.commons.dialogs.ConfirmationDialog import com.simplemobiletools.commons.dialogs.RadioGroupDialog -import com.simplemobiletools.commons.extensions.beVisibleIf -import com.simplemobiletools.commons.extensions.getAdjustedPrimaryColor -import com.simplemobiletools.commons.extensions.getTextSize -import com.simplemobiletools.commons.extensions.highlightTextPart +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.SimpleContactsHelper import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.models.RadioItem @@ -273,7 +270,7 @@ class ContactsAdapter(activity: SimpleActivity, var contactItems: ArrayList val id = cursor.getIntValue(Data.RAW_CONTACT_ID) val number = cursor.getStringValue(Phone.NUMBER) ?: return@queryCursor - val normalizedNumber = cursor.getStringValue(Phone.NORMALIZED_NUMBER) ?: number.normalizeNumber() + val normalizedNumber = cursor.getStringValue(Phone.NORMALIZED_NUMBER) ?: number.normalizePhoneNumber() val type = cursor.getIntValue(Phone.TYPE) val label = cursor.getStringValue(Phone.LABEL) ?: "" diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/VcfImporter.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/VcfImporter.kt index fedde9e3..58d219d5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/VcfImporter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/VcfImporter.kt @@ -5,12 +5,12 @@ import android.graphics.BitmapFactory import android.provider.ContactsContract.CommonDataKinds import android.provider.ContactsContract.CommonDataKinds.* import android.widget.Toast +import com.simplemobiletools.commons.extensions.normalizePhoneNumber import com.simplemobiletools.commons.extensions.showErrorToast import com.simplemobiletools.contacts.pro.activities.SimpleActivity import com.simplemobiletools.contacts.pro.extensions.getCachePhoto import com.simplemobiletools.contacts.pro.extensions.getCachePhotoUri import com.simplemobiletools.contacts.pro.extensions.groupsDB -import com.simplemobiletools.contacts.pro.extensions.normalizeNumber import com.simplemobiletools.contacts.pro.helpers.VcfImporter.ImportResult.* import com.simplemobiletools.contacts.pro.models.* import com.simplemobiletools.contacts.pro.models.Email @@ -60,7 +60,7 @@ class VcfImporter(val activity: SimpleActivity) { "" } - phoneNumbers.add(PhoneNumber(number, type, label, number.normalizeNumber())) + phoneNumbers.add(PhoneNumber(number, type, label, number.normalizePhoneNumber())) } val emails = ArrayList() diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt index cbe82e81..ab8eba32 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt @@ -2,11 +2,11 @@ package com.simplemobiletools.contacts.pro.models import android.graphics.Bitmap import android.telephony.PhoneNumberUtils +import com.simplemobiletools.commons.extensions.normalizePhoneNumber import com.simplemobiletools.commons.extensions.normalizeString import com.simplemobiletools.commons.helpers.SORT_BY_FIRST_NAME import com.simplemobiletools.commons.helpers.SORT_BY_MIDDLE_NAME import com.simplemobiletools.commons.helpers.SORT_DESCENDING -import com.simplemobiletools.contacts.pro.extensions.normalizeNumber import com.simplemobiletools.contacts.pro.helpers.SMT_PRIVATE data class Contact(var id: Int, var prefix: String, var firstName: String, var middleName: String, var surname: String, var suffix: String, var nickname: String, @@ -109,8 +109,8 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m fun getStringToCompare(): String { return copy(id = 0, prefix = "", firstName = getNameToDisplay().toLowerCase(), middleName = "", surname = "", suffix = "", nickname = "", photoUri = "", - phoneNumbers = ArrayList(), emails = ArrayList(), events = ArrayList(), source = "", addresses = ArrayList(), starred = 0, contactId = 0, - thumbnailUri = "", notes = "", groups = ArrayList(), websites = ArrayList(), organization = Organization("", ""), IMs = ArrayList()).toString() + phoneNumbers = ArrayList(), emails = ArrayList(), events = ArrayList(), source = "", addresses = ArrayList(), starred = 0, contactId = 0, + thumbnailUri = "", notes = "", groups = ArrayList(), websites = ArrayList(), organization = Organization("", ""), IMs = ArrayList()).toString() } fun getHashToCompare() = getStringToCompare().hashCode() @@ -125,12 +125,12 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m fun doesContainPhoneNumber(text: String, convertLetters: Boolean): Boolean { return if (text.isNotEmpty()) { - val normalizedText = if (convertLetters) text.normalizeNumber() else text + val normalizedText = if (convertLetters) text.normalizePhoneNumber() else text phoneNumbers.any { PhoneNumberUtils.compare(it.normalizedNumber, normalizedText) || it.value.contains(text) || it.normalizedNumber?.contains(normalizedText) == true || - it.value.normalizeNumber().contains(normalizedText) + it.value.normalizePhoneNumber().contains(normalizedText) } } else { false