diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt
index 99223039..91cef212 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt
@@ -36,7 +36,7 @@ fun Context.getEmptyContact(): Contact {
val originalContactSource = if (hasContactPermissions()) config.lastUsedContactSource else SMT_PRIVATE
val organization = Organization("", "")
return Contact(0, "", "", "", "", "", "", "", ArrayList(), ArrayList(), ArrayList(), ArrayList(), originalContactSource, 0, 0, "",
- null, "", ArrayList(), organization, ArrayList(), ArrayList(), DEFAULT_MIMETYPE)
+ null, "", ArrayList(), organization, ArrayList(), ArrayList(), DEFAULT_MIMETYPE, null)
}
fun Context.viewContact(contact: Contact) {
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/Constants.kt
index 2713b1d8..3d5f4aaf 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/Constants.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/Constants.kt
@@ -93,6 +93,7 @@ const val SHOW_CONTACT_SOURCE_FIELD = 4096
const val SHOW_WEBSITES_FIELD = 8192
const val SHOW_NICKNAME_FIELD = 16384
const val SHOW_IMS_FIELD = 32768
+const val SHOW_RINGTONE = 65536
const val DEFAULT_EMAIL_TYPE = CommonDataKinds.Email.TYPE_HOME
const val DEFAULT_PHONE_NUMBER_TYPE = CommonDataKinds.Phone.TYPE_MOBILE
diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt
index 44337c93..e26afa4a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/ContactsHelper.kt
@@ -169,6 +169,7 @@ class ContactsHelper(val context: Context) {
val addresses = ArrayList
()
val events = ArrayList()
val starred = cursor.getIntValue(StructuredName.STARRED)
+ val ringtone = cursor.getStringValue(StructuredName.CUSTOM_RINGTONE)
val contactId = cursor.getIntValue(Data.CONTACT_ID)
val thumbnailUri = cursor.getStringValue(StructuredName.PHOTO_THUMBNAIL_URI) ?: ""
val notes = ""
@@ -177,7 +178,7 @@ class ContactsHelper(val context: Context) {
val websites = ArrayList()
val ims = ArrayList()
val contact = Contact(id, prefix, firstName, middleName, surname, suffix, nickname, photoUri, numbers, emails, addresses,
- events, accountName, starred, contactId, thumbnailUri, null, notes, groups, organization, websites, ims, mimetype)
+ events, accountName, starred, contactId, thumbnailUri, null, notes, groups, organization, websites, ims, mimetype, ringtone)
contacts.put(id, contact)
}
@@ -717,6 +718,7 @@ class ContactsHelper(val context: Context) {
val notes = getNotes(id)[id] ?: ""
val accountName = cursor.getStringValue(RawContacts.ACCOUNT_NAME) ?: ""
val starred = cursor.getIntValue(StructuredName.STARRED)
+ val ringtone = cursor.getStringValue(StructuredName.CUSTOM_RINGTONE)
val contactId = cursor.getIntValue(Data.CONTACT_ID)
val groups = getContactGroups(storedGroups, contactId)[contactId] ?: ArrayList()
val thumbnailUri = cursor.getStringValue(StructuredName.PHOTO_THUMBNAIL_URI) ?: ""
@@ -724,7 +726,7 @@ class ContactsHelper(val context: Context) {
val websites = getWebsites(id)[id] ?: ArrayList()
val ims = getIMs(id)[id] ?: ArrayList()
return Contact(id, prefix, firstName, middleName, surname, suffix, nickname, photoUri, number, emails, addresses, events,
- accountName, starred, contactId, thumbnailUri, null, notes, groups, organization, websites, ims, mimetype)
+ accountName, starred, contactId, thumbnailUri, null, notes, groups, organization, websites, ims, mimetype, ringtone)
}
}
@@ -823,6 +825,7 @@ class ContactsHelper(val context: Context) {
StructuredName.PHOTO_URI,
StructuredName.PHOTO_THUMBNAIL_URI,
StructuredName.STARRED,
+ StructuredName.CUSTOM_RINGTONE,
RawContacts.ACCOUNT_NAME,
RawContacts.ACCOUNT_TYPE
)
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 766de166..f7b7bab6 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
@@ -115,6 +115,7 @@ class VcfImporter(val activity: SimpleActivity) {
val photoData = ezContact.photos.firstOrNull()?.data
val photo = null
val thumbnailUri = savePhoto(photoData)
+ val ringtone = null
val IMs = ArrayList()
ezContact.impps.forEach {
@@ -138,7 +139,7 @@ class VcfImporter(val activity: SimpleActivity) {
}
val contact = Contact(0, prefix, firstName, middleName, surname, suffix, nickname, photoUri, phoneNumbers, emails, addresses, events,
- targetContactSource, starred, contactId, thumbnailUri, photo, notes, groups, organization, websites, IMs, DEFAULT_MIMETYPE)
+ targetContactSource, starred, contactId, thumbnailUri, photo, notes, groups, organization, websites, IMs, DEFAULT_MIMETYPE, ringtone)
// if there is no N and ORG fields at the given contact, only FN, treat it as an organization
if (contact.getNameToDisplay().isEmpty() && contact.organization.isEmpty() && ezContact.formattedName?.value?.isNotEmpty() == true) {
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 76889cfe..9df71878 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
@@ -13,8 +13,9 @@ 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,
var photoUri: String, var phoneNumbers: ArrayList, var emails: ArrayList, var addresses: ArrayList,
var events: ArrayList, var source: String, var starred: Int, var contactId: Int, var thumbnailUri: String, var photo: Bitmap?, var notes: String,
- var groups: ArrayList, var organization: Organization, var websites: ArrayList, var IMs: ArrayList, var mimetype: String) :
- Comparable {
+ var groups: ArrayList, var organization: Organization, var websites: ArrayList, var IMs: ArrayList, var mimetype: String,
+ var ringtone: String?) :
+ Comparable {
companion object {
var sorting = 0
var startWithSurname = false
@@ -71,7 +72,7 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m
} else if (firstString.isNotEmpty() && secondString.isEmpty()) {
-1
} else {
- if (firstString.toLowerCase() == secondString.toLowerCase()) {
+ if (firstString.equals(secondString, ignoreCase = true)) {
getNameToDisplay().compareTo(other.getNameToDisplay(), true)
} else {
firstString.compareTo(secondString, true)
@@ -130,9 +131,9 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m
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.normalizePhoneNumber().contains(normalizedText)
+ it.value.contains(text) ||
+ it.normalizedNumber?.contains(normalizedText) == true ||
+ it.value.normalizePhoneNumber().contains(normalizedText)
}
} else {
false
diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml
index 86048aec..e79a2bd3 100644
--- a/app/src/main/res/values-ar/strings.xml
+++ b/app/src/main/res/values-ar/strings.xml
@@ -105,6 +105,7 @@
مجموعات
مصدر الاتصال
المراسلة الفورية (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-az/strings.xml b/app/src/main/res/values-az/strings.xml
index 329b2c51..f37ceb11 100644
--- a/app/src/main/res/values-az/strings.xml
+++ b/app/src/main/res/values-az/strings.xml
@@ -105,6 +105,7 @@
Qruplar
Kontakt kökü
Instant messaging (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml
index 88c7b64c..a141450b 100644
--- a/app/src/main/res/values-cs/strings.xml
+++ b/app/src/main/res/values-cs/strings.xml
@@ -105,6 +105,7 @@
Skupiny
Zdroje kontaktů
Rychlé zprávy (IM)
+ Ringtone
Kontakt bude vymazán ze všech zdrojů kontaktů.
diff --git a/app/src/main/res/values-cy/strings.xml b/app/src/main/res/values-cy/strings.xml
index 7c5cce09..402964ee 100644
--- a/app/src/main/res/values-cy/strings.xml
+++ b/app/src/main/res/values-cy/strings.xml
@@ -105,6 +105,7 @@
Grwpiau
Ffynhonnell gyswllt
Negesu ar unwaith (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml
index 19785552..2c307eb6 100644
--- a/app/src/main/res/values-da/strings.xml
+++ b/app/src/main/res/values-da/strings.xml
@@ -105,6 +105,7 @@
Groupper
Kontaktkilde
Instant messaging (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 65b9d889..9dcaf9f6 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -105,6 +105,7 @@
Gruppen
Kontaktquelle
Instant messaging (IM)
+ Ringtone
Der Kontakt wird von allen Kontaktquellen entfernt.
diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml
index 5e770876..c0ae7376 100644
--- a/app/src/main/res/values-el/strings.xml
+++ b/app/src/main/res/values-el/strings.xml
@@ -105,6 +105,7 @@
Ομάδες
Προέλευση επαφής
Αμεσο μήνυμα (IM)
+ Ringtone
Η επαφή θα καταργηθεί από όλες τις πηγές επαφών.
diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml
index a1d506cd..867df01c 100644
--- a/app/src/main/res/values-es/strings.xml
+++ b/app/src/main/res/values-es/strings.xml
@@ -105,6 +105,7 @@
Grupos
Orígenes de contacto
Mensaje instantáneo (IM)
+ Ringtone
El contacto será eliminado de todos los orígenes de contactos.
diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml
index 35204c41..3489b55a 100644
--- a/app/src/main/res/values-eu/strings.xml
+++ b/app/src/main/res/values-eu/strings.xml
@@ -105,6 +105,7 @@
Taldeak
Kontaktu jatorria
Instant messaging (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index 64cb67f0..9addd99a 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -105,6 +105,7 @@
Ryhmät
Yhteystiedon lähde
Pikaviestin
+ Ringtone
Yhteystieto poistetaan kaikista lähteistä.
diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml
index 081fe49f..c09bbb23 100644
--- a/app/src/main/res/values-fr/strings.xml
+++ b/app/src/main/res/values-fr/strings.xml
@@ -103,6 +103,7 @@
Groupe
Source du contact
Messagerie instantanée (MI)
+ Ringtone
Le contact sera supprimé de toutes les sources de contacts.
diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml
index 472de9c3..4f813d53 100644
--- a/app/src/main/res/values-hr/strings.xml
+++ b/app/src/main/res/values-hr/strings.xml
@@ -105,6 +105,7 @@
Grupe
Izvori kontakata
Brzo slanje poruka (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml
index 208eb685..ad093db1 100644
--- a/app/src/main/res/values-hu/strings.xml
+++ b/app/src/main/res/values-hu/strings.xml
@@ -105,6 +105,7 @@
Csoportok
Névjegy account
Instant messaging (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-id/strings.xml b/app/src/main/res/values-id/strings.xml
index b83035cb..bebecc6a 100644
--- a/app/src/main/res/values-id/strings.xml
+++ b/app/src/main/res/values-id/strings.xml
@@ -105,6 +105,7 @@
Grup
Sumber kontak
Pesan singkat (IM)
+ Ringtone
Kontak akan dihapus dari semua sumber kontak.
diff --git a/app/src/main/res/values-in/strings.xml b/app/src/main/res/values-in/strings.xml
index b83035cb..bebecc6a 100644
--- a/app/src/main/res/values-in/strings.xml
+++ b/app/src/main/res/values-in/strings.xml
@@ -105,6 +105,7 @@
Grup
Sumber kontak
Pesan singkat (IM)
+ Ringtone
Kontak akan dihapus dari semua sumber kontak.
diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml
index 23518958..4f63a7a3 100644
--- a/app/src/main/res/values-it/strings.xml
+++ b/app/src/main/res/values-it/strings.xml
@@ -105,6 +105,7 @@
Gruppi
Provenienza del contatto
Messaggistica istantanea (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml
index 9b0f201d..894e501c 100644
--- a/app/src/main/res/values-ja/strings.xml
+++ b/app/src/main/res/values-ja/strings.xml
@@ -105,6 +105,7 @@
グループ
インポート元
インスタントメッセージ(IM)
+ Ringtone
全ての連絡先ソースから連絡先を消去します
diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/app/src/main/res/values-ko-rKR/strings.xml
index ddbe3720..4f73d699 100644
--- a/app/src/main/res/values-ko-rKR/strings.xml
+++ b/app/src/main/res/values-ko-rKR/strings.xml
@@ -105,6 +105,7 @@
Groups
Contact source
Instant messaging (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml
index 082f2ee6..e005659b 100644
--- a/app/src/main/res/values-lt/strings.xml
+++ b/app/src/main/res/values-lt/strings.xml
@@ -105,6 +105,7 @@
Grupės
Kontakto šaltinis
Instant messaging (IM)
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-ml/strings.xml b/app/src/main/res/values-ml/strings.xml
index b4a7910a..d8b9fb1d 100644
--- a/app/src/main/res/values-ml/strings.xml
+++ b/app/src/main/res/values-ml/strings.xml
@@ -105,6 +105,7 @@
ഗ്രൂപ്പുകൾ
കോൺടാക്റ്റ് ഉറവിടം
തത്സമയ സന്ദേശം അയക്കൽ
+ Ringtone
എല്ലാ കോൺടാക്റ്റ് ഉറവിടങ്ങളിൽ നിന്നും ഈ കോൺടാക്റ്റ് നീക്കംചെയ്യും.
diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml
index 3a02468d..3e1cf44c 100644
--- a/app/src/main/res/values-nl/strings.xml
+++ b/app/src/main/res/values-nl/strings.xml
@@ -105,6 +105,7 @@
Groepen
Account
Instant messaging (IM)
+ Ringtone
De contactpersoon zal worden verwijderd uit alle accounts.
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index fc65632b..08882179 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -105,6 +105,7 @@
Grupy
Miejsce przechowywania kontaktu
Komunikator
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml
index e0385213..a77eb898 100644
--- a/app/src/main/res/values-pt-rBR/strings.xml
+++ b/app/src/main/res/values-pt-rBR/strings.xml
@@ -105,6 +105,7 @@
Grupos
Origem do contato
Mensageiro instantâneo (MI)
+ Ringtone
O contato será removido de todas removido de todas as fontes de contato.
diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml
index a309c527..fe1bbc63 100644
--- a/app/src/main/res/values-pt/strings.xml
+++ b/app/src/main/res/values-pt/strings.xml
@@ -105,6 +105,7 @@
Grupos
Origem do contacto
Mensagem instantânea (IM)
+ Ringtone
O contacto será apagado de todas as origens.
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index d9460fd7..730a71c1 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -105,6 +105,7 @@
Группы
Источник контакта
Мессенджеры
+ Ringtone
Контакт будет удалён из всех источников контактов.
diff --git a/app/src/main/res/values-sk/strings.xml b/app/src/main/res/values-sk/strings.xml
index 7768b1ab..98a31b04 100644
--- a/app/src/main/res/values-sk/strings.xml
+++ b/app/src/main/res/values-sk/strings.xml
@@ -105,6 +105,7 @@
Skupiny
Zdroje kontaktov
Rýchle správy (IM)
+ Zvonenie
Kontakt bude vymazaný zo všetkých zdrojov kontaktov.
diff --git a/app/src/main/res/values-sv/strings.xml b/app/src/main/res/values-sv/strings.xml
index e95df35f..858798db 100644
--- a/app/src/main/res/values-sv/strings.xml
+++ b/app/src/main/res/values-sv/strings.xml
@@ -105,6 +105,7 @@
Grupper
Kontaktkälla
Snabbmeddelanden (IM)
+ Ringtone
Kontakten kommer att tas bort från alla kontaktkällor.
diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml
index 86616fc0..5a58c634 100644
--- a/app/src/main/res/values-tr/strings.xml
+++ b/app/src/main/res/values-tr/strings.xml
@@ -105,6 +105,7 @@
Gruplar
Kişi kaynağı
Anlık mesajlaşma (IM)
+ Ringtone
Kişi tüm kişi kaynaklarından kaldırılacak.
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 62f701c0..a31d5ab6 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -105,6 +105,7 @@
Групи
Походження контакту
Мессенджери
+ Ringtone
The contact will be removed from all contact sources.
diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml
index c2f885da..995fbd6a 100644
--- a/app/src/main/res/values-zh-rCN/strings.xml
+++ b/app/src/main/res/values-zh-rCN/strings.xml
@@ -105,6 +105,7 @@
群组
联系人来源
即时通讯 (IM)
+ Ringtone
该联系人将会被从所有联系人来源移除。
diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml
index e739f373..08cf9aa9 100644
--- a/app/src/main/res/values-zh-rTW/strings.xml
+++ b/app/src/main/res/values-zh-rTW/strings.xml
@@ -105,6 +105,7 @@
群組
聯絡人來源
即時通訊 (IM)
+ Ringtone
這聯絡人將從全部通訊錄來源移除。
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 209bf69c..9f72e262 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -105,6 +105,7 @@
Groups
Contact source
Instant messaging (IM)
+ Ringtone
The contact will be removed from all contact sources.