Skip to content

Commit 10ddac1

Browse files
committed
fix #570, allow sorting by full name
1 parent 1a478dc commit 10ddac1

File tree

3 files changed

+24
-12
lines changed

3 files changed

+24
-12
lines changed

app/src/main/kotlin/com/simplemobiletools/contacts/pro/dialogs/ChangeSortingDialog.kt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ package com.simplemobiletools.contacts.pro.dialogs
33
import androidx.appcompat.app.AlertDialog
44
import com.simplemobiletools.commons.activities.BaseSimpleActivity
55
import com.simplemobiletools.commons.extensions.setupDialogStuff
6-
import com.simplemobiletools.commons.helpers.SORT_BY_FIRST_NAME
7-
import com.simplemobiletools.commons.helpers.SORT_BY_MIDDLE_NAME
8-
import com.simplemobiletools.commons.helpers.SORT_BY_SURNAME
9-
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
6+
import com.simplemobiletools.commons.helpers.*
107
import com.simplemobiletools.contacts.pro.R
118
import com.simplemobiletools.contacts.pro.extensions.config
129
import kotlinx.android.synthetic.main.dialog_change_sorting.view.*
@@ -18,11 +15,11 @@ class ChangeSortingDialog(val activity: BaseSimpleActivity, private val callback
1815

1916
init {
2017
AlertDialog.Builder(activity)
21-
.setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
22-
.setNegativeButton(R.string.cancel, null)
23-
.create().apply {
24-
activity.setupDialogStuff(view, this, R.string.sort_by)
25-
}
18+
.setPositiveButton(R.string.ok) { dialog, which -> dialogConfirmed() }
19+
.setNegativeButton(R.string.cancel, null)
20+
.create().apply {
21+
activity.setupDialogStuff(view, this, R.string.sort_by)
22+
}
2623

2724
currSorting = config.sorting
2825
setupSortRadio()
@@ -34,7 +31,8 @@ class ChangeSortingDialog(val activity: BaseSimpleActivity, private val callback
3431
val sortBtn = when {
3532
currSorting and SORT_BY_FIRST_NAME != 0 -> sortingRadio.sorting_dialog_radio_first_name
3633
currSorting and SORT_BY_MIDDLE_NAME != 0 -> sortingRadio.sorting_dialog_radio_middle_name
37-
else -> sortingRadio.sorting_dialog_radio_surname
34+
currSorting and SORT_BY_SURNAME != 0 -> sortingRadio.sorting_dialog_radio_surname
35+
else -> sortingRadio.sorting_dialog_radio_full_name
3836
}
3937
sortBtn.isChecked = true
4038
}
@@ -54,7 +52,8 @@ class ChangeSortingDialog(val activity: BaseSimpleActivity, private val callback
5452
var sorting = when (sortingRadio.checkedRadioButtonId) {
5553
R.id.sorting_dialog_radio_first_name -> SORT_BY_FIRST_NAME
5654
R.id.sorting_dialog_radio_middle_name -> SORT_BY_MIDDLE_NAME
57-
else -> SORT_BY_SURNAME
55+
R.id.sorting_dialog_radio_surname -> SORT_BY_SURNAME
56+
else -> SORT_BY_FULL_NAME
5857
}
5958

6059
if (view.sorting_dialog_radio_order.checkedRadioButtonId == R.id.sorting_dialog_radio_descending) {

app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/Contact.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import com.simplemobiletools.commons.extensions.normalizePhoneNumber
66
import com.simplemobiletools.commons.extensions.normalizeString
77
import com.simplemobiletools.commons.helpers.SORT_BY_FIRST_NAME
88
import com.simplemobiletools.commons.helpers.SORT_BY_MIDDLE_NAME
9+
import com.simplemobiletools.commons.helpers.SORT_BY_SURNAME
910
import com.simplemobiletools.commons.helpers.SORT_DESCENDING
1011
import com.simplemobiletools.contacts.pro.helpers.SMT_PRIVATE
1112

@@ -32,10 +33,14 @@ data class Contact(var id: Int, var prefix: String, var firstName: String, var m
3233
firstString = middleName.normalizeString()
3334
secondString = other.middleName.normalizeString()
3435
}
35-
else -> {
36+
sorting and SORT_BY_SURNAME != 0 -> {
3637
firstString = surname.normalizeString()
3738
secondString = other.surname.normalizeString()
3839
}
40+
else -> {
41+
firstString = getNameToDisplay().normalizeString()
42+
secondString = other.getNameToDisplay().normalizeString()
43+
}
3944
}
4045

4146
if (firstString.isEmpty() && firstName.isEmpty() && middleName.isEmpty() && surname.isEmpty()) {

app/src/main/res/layout/dialog_change_sorting.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,14 @@
4444
android:paddingTop="@dimen/medium_margin"
4545
android:text="@string/surname"/>
4646

47+
<com.simplemobiletools.commons.views.MyCompatRadioButton
48+
android:id="@+id/sorting_dialog_radio_full_name"
49+
android:layout_width="match_parent"
50+
android:layout_height="wrap_content"
51+
android:paddingBottom="@dimen/medium_margin"
52+
android:paddingTop="@dimen/medium_margin"
53+
android:text="@string/full_name"/>
54+
4755
</RadioGroup>
4856

4957
<include

0 commit comments

Comments
 (0)