Skip to content

Commit 69f6336

Browse files
committed
Upload file
1 parent 93db9f0 commit 69f6336

1 file changed

Lines changed: 16 additions & 8 deletions

File tree

krscript/src/main/java/com/omarea/krscript/ui/ParamsAppChooserRender.kt

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,15 +80,23 @@ class ParamsAppChooserRender(
8080
list: MutableList<AdapterAppChooser.AppInfo>,
8181
item: AdapterAppChooser.AppInfo
8282
) {
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)
83+
var low = 0
84+
var high = list.size
85+
86+
val itemName = item.appName ?: ""
87+
88+
while (low < high) {
89+
val mid = (low + high) ushr 1
90+
val midName = list[mid].appName ?: ""
91+
92+
if (collator.compare(midName, itemName) < 0) {
93+
low = mid + 1
94+
} else {
95+
high = mid
96+
}
9197
}
98+
99+
list.add(low, item)
92100
}
93101

94102
// =======================

0 commit comments

Comments
 (0)