From 0e93e310bf16660e00cfa4fd644f2abe54e471b8 Mon Sep 17 00:00:00 2001 From: Johan von Forstner Date: Sun, 26 Sep 2021 15:53:05 +0200 Subject: [PATCH] MultiSelectDialog: move selected entries to the top fixes #126 --- .../java/net/vonforst/evmap/fragment/MultiSelectDialog.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/net/vonforst/evmap/fragment/MultiSelectDialog.kt b/app/src/main/java/net/vonforst/evmap/fragment/MultiSelectDialog.kt index 212d1b63..150ad081 100644 --- a/app/src/main/java/net/vonforst/evmap/fragment/MultiSelectDialog.kt +++ b/app/src/main/java/net/vonforst/evmap/fragment/MultiSelectDialog.kt @@ -79,7 +79,13 @@ class MultiSelectDialog : AppCompatDialogFragment() { items = data.entries.toList() .sortedBy { it.value.toLowerCase(Locale.getDefault()) } - .sortedByDescending { commonChoices?.contains(it.key) == true } + .sortedBy { + when { + selected.contains(it.key) -> 0 + commonChoices?.contains(it.key) == true -> 1 + else -> 2 + } + } .map { MultiSelectItem(it.key, it.value, it.key in selected) } adapter.submitList(items)