compacting Contacts model comparing a bit
This commit is contained in:
parent
2bafac3ca9
commit
31b3e49031
1 changed files with 7 additions and 17 deletions
|
|
@ -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 {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue