diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt index f15b5b5e..c80d712b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/activities/SettingsActivity.kt @@ -38,7 +38,6 @@ class SettingsActivity : SimpleActivity() { setupMonospacedFont() setupShowKeyboard() setupShowNotePicker() - setupMoveUndoneChecklistItems() setupShowWordCount() setupEnableLineWrap() setupFontSize() @@ -133,14 +132,6 @@ class SettingsActivity : SimpleActivity() { } } - private fun setupMoveUndoneChecklistItems() { - settings_move_undone_checklist_items.isChecked = config.moveDoneChecklistItems - settings_move_undone_checklist_items_holder.setOnClickListener { - settings_move_undone_checklist_items.toggle() - config.moveDoneChecklistItems = settings_move_undone_checklist_items.isChecked - } - } - private fun setupShowWordCount() { settings_show_word_count.isChecked = config.showWordCount settings_show_word_count_holder.setOnClickListener { diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/WidgetAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/WidgetAdapter.kt index 1877c768..eac07966 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/WidgetAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/adapters/WidgetAdapter.kt @@ -106,9 +106,6 @@ class WidgetAdapter(val context: Context, val intent: Intent) : RemoteViewsServi // checklist title can be null only because of the glitch in upgrade to 6.6.0, remove this check in the future checklistItems = checklistItems.filter { it.title != null }.toMutableList() as ArrayList<ChecklistItem> - if (context.config.moveDoneChecklistItems) { - checklistItems.sortBy { it.isDone } - } } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/SortChecklistDialog.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/SortChecklistDialog.kt index 202e61fa..11a55fcf 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/SortChecklistDialog.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/dialogs/SortChecklistDialog.kt @@ -18,6 +18,7 @@ class SortChecklistDialog(private val activity: SimpleActivity, private val call init { setupSortRadio() setupOrderRadio() + setupMoveUndoneChecklistItems() AlertDialog.Builder(activity) .setPositiveButton(R.string.ok) { _, _ -> dialogConfirmed() } .setNegativeButton(R.string.cancel, null) @@ -48,6 +49,13 @@ class SortChecklistDialog(private val activity: SimpleActivity, private val call orderBtn.isChecked = true } + private fun setupMoveUndoneChecklistItems() { + view.settings_move_undone_checklist_items.isChecked = config.moveDoneChecklistItems + view.settings_move_undone_checklist_items_holder.setOnClickListener { + view.settings_move_undone_checklist_items.toggle() + } + } + private fun dialogConfirmed() { val sortingRadio = view.sorting_dialog_radio_sorting var sorting = when (sortingRadio.checkedRadioButtonId) { @@ -61,7 +69,9 @@ class SortChecklistDialog(private val activity: SimpleActivity, private val call if (currSorting != sorting) { config.sorting = sorting - callback() } + + config.moveDoneChecklistItems = view.settings_move_undone_checklist_items.isChecked + callback() } } diff --git a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt index 8a36a75c..6e5b2e9c 100644 --- a/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/notes/pro/fragments/ChecklistFragment.kt @@ -160,6 +160,9 @@ class ChecklistFragment : NoteFragment(), ChecklistItemsListener { updateUIVisibility() ChecklistItem.sorting = requireContext().config.sorting items.sort() + if (context?.config?.moveDoneChecklistItems == true) { + items.sortBy { it.isDone } + } ChecklistAdapter( activity = activity as SimpleActivity, items = items, diff --git a/app/src/main/res/layout/activity_settings.xml b/app/src/main/res/layout/activity_settings.xml index 9e696cee..5827636a 100644 --- a/app/src/main/res/layout/activity_settings.xml +++ b/app/src/main/res/layout/activity_settings.xml @@ -346,29 +346,6 @@ </RelativeLayout> - <RelativeLayout - android:id="@+id/settings_move_undone_checklist_items_holder" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:layout_marginTop="@dimen/medium_margin" - android:background="?attr/selectableItemBackground" - android:paddingStart="@dimen/normal_margin" - android:paddingTop="@dimen/activity_margin" - android:paddingEnd="@dimen/normal_margin" - android:paddingBottom="@dimen/activity_margin"> - - <com.simplemobiletools.commons.views.MySwitchCompat - android:id="@+id/settings_move_undone_checklist_items" - android:layout_width="match_parent" - android:layout_height="wrap_content" - android:background="@null" - android:clickable="false" - android:paddingStart="@dimen/medium_margin" - android:text="@string/move_done_checklist_items" - app:switchPadding="@dimen/medium_margin" /> - - </RelativeLayout> - <com.simplemobiletools.commons.views.MyTextView android:id="@+id/saving_label" android:layout_width="wrap_content" diff --git a/app/src/main/res/layout/dialog_sort_checklist.xml b/app/src/main/res/layout/dialog_sort_checklist.xml index a8d7e200..2fab5eb2 100644 --- a/app/src/main/res/layout/dialog_sort_checklist.xml +++ b/app/src/main/res/layout/dialog_sort_checklist.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/dialog_holder" android:layout_width="match_parent" android:layout_height="match_parent" @@ -59,4 +60,24 @@ android:text="@string/descending" /> </RadioGroup> + + <RelativeLayout + android:id="@+id/settings_move_undone_checklist_items_holder" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="@dimen/medium_margin" + android:background="?attr/selectableItemBackground" + android:paddingTop="@dimen/activity_margin" + android:paddingBottom="@dimen/activity_margin"> + + <com.simplemobiletools.commons.views.MyAppCompatCheckbox + android:id="@+id/settings_move_undone_checklist_items" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:background="@null" + android:clickable="false" + android:text="@string/move_done_checklist_items" + app:switchPadding="@dimen/medium_margin" /> + + </RelativeLayout> </LinearLayout>