We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 93db9f0 commit 69f6336Copy full SHA for 69f6336
1 file changed
krscript/src/main/java/com/omarea/krscript/ui/ParamsAppChooserRender.kt
@@ -80,15 +80,23 @@ class ParamsAppChooserRender(
80
list: MutableList<AdapterAppChooser.AppInfo>,
81
item: AdapterAppChooser.AppInfo
82
) {
83
- val index = list.binarySearch(item) { a, b ->
84
- collator.compare(a.appName ?: "", b.appName ?: "")
85
- }
86
-
87
- if (index < 0) {
88
- list.add(-index - 1, item)
89
- } else {
90
- list.add(index, item)
+ var low = 0
+ var high = list.size
+
+ val itemName = item.appName ?: ""
+ while (low < high) {
+ val mid = (low + high) ushr 1
+ val midName = list[mid].appName ?: ""
91
92
+ if (collator.compare(midName, itemName) < 0) {
93
+ low = mid + 1
94
+ } else {
95
+ high = mid
96
+ }
97
}
98
99
+ list.add(low, item)
100
101
102
// =======================
0 commit comments