mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-06-05 21:59:27 +02:00
compacting Contacts model comparing a bit
This commit is contained in:
@ -19,36 +19,28 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun compareTo(other: Contact): Int {
|
override fun compareTo(other: Contact): Int {
|
||||||
var result: Int
|
var result = when {
|
||||||
|
|
||||||
when {
|
|
||||||
sorting and SORT_BY_FIRST_NAME != 0 -> {
|
sorting and SORT_BY_FIRST_NAME != 0 -> {
|
||||||
val firstString = firstName.normalizeString()
|
val firstString = firstName.normalizeString()
|
||||||
val secondString = other.firstName.normalizeString()
|
val secondString = other.firstName.normalizeString()
|
||||||
|
compareUsingStrings(firstString, secondString, other)
|
||||||
result = compareUsingStrings(firstString, secondString, other)
|
|
||||||
}
|
}
|
||||||
sorting and SORT_BY_MIDDLE_NAME != 0 -> {
|
sorting and SORT_BY_MIDDLE_NAME != 0 -> {
|
||||||
val firstString = middleName.normalizeString()
|
val firstString = middleName.normalizeString()
|
||||||
val secondString = other.middleName.normalizeString()
|
val secondString = other.middleName.normalizeString()
|
||||||
|
compareUsingStrings(firstString, secondString, other)
|
||||||
result = compareUsingStrings(firstString, secondString, other)
|
|
||||||
}
|
}
|
||||||
sorting and SORT_BY_SURNAME != 0 -> {
|
sorting and SORT_BY_SURNAME != 0 -> {
|
||||||
val firstString = surname.normalizeString()
|
val firstString = surname.normalizeString()
|
||||||
val secondString = other.surname.normalizeString()
|
val secondString = other.surname.normalizeString()
|
||||||
|
compareUsingStrings(firstString, secondString, other)
|
||||||
result = compareUsingStrings(firstString, secondString, other)
|
|
||||||
}
|
}
|
||||||
sorting and SORT_BY_FULL_NAME != 0 -> {
|
sorting and SORT_BY_FULL_NAME != 0 -> {
|
||||||
val firstString = getNameToDisplay().normalizeString()
|
val firstString = getNameToDisplay().normalizeString()
|
||||||
val secondString = other.getNameToDisplay().normalizeString()
|
val secondString = other.getNameToDisplay().normalizeString()
|
||||||
|
compareUsingStrings(firstString, secondString, other)
|
||||||
result = compareUsingStrings(firstString, secondString, other)
|
|
||||||
}
|
|
||||||
else -> {
|
|
||||||
result = compareUsingIds(other)
|
|
||||||
}
|
}
|
||||||
|
else -> compareUsingIds(other)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sorting and SORT_DESCENDING != 0) {
|
if (sorting and SORT_DESCENDING != 0) {
|
||||||
@ -80,7 +72,7 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val result = if (firstValue.firstOrNull()?.isLetter() == true && secondValue.firstOrNull()?.isLetter() == false) {
|
return if (firstValue.firstOrNull()?.isLetter() == true && secondValue.firstOrNull()?.isLetter() == false) {
|
||||||
-1
|
-1
|
||||||
} else if (firstValue.firstOrNull()?.isLetter() == false && secondValue.firstOrNull()?.isLetter() == true) {
|
} else if (firstValue.firstOrNull()?.isLetter() == false && secondValue.firstOrNull()?.isLetter() == true) {
|
||||||
1
|
1
|
||||||
@ -97,8 +89,6 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun compareUsingIds(other: Contact): Int {
|
private fun compareUsingIds(other: Contact): Int {
|
||||||
|
Reference in New Issue
Block a user