Lets try this for sort by tag performance
This commit is contained in:
parent
01496ab34c
commit
024a39d06b
@ -312,14 +312,15 @@ class LibraryPresenter(
|
|||||||
|
|
||||||
// SY -->
|
// SY -->
|
||||||
val listOfTags by lazy {
|
val listOfTags by lazy {
|
||||||
preferences.sortTagsForLibrary().get().toList()
|
preferences.sortTagsForLibrary().get()
|
||||||
|
.asSequence()
|
||||||
.mapNotNull {
|
.mapNotNull {
|
||||||
val list = it.split("|")
|
val list = it.split("|")
|
||||||
(list.getOrNull(0)?.toIntOrNull() ?: return@mapNotNull null) to (list.getOrNull(1) ?: return@mapNotNull null)
|
(list.getOrNull(0)?.toIntOrNull() ?: return@mapNotNull null) to (list.getOrNull(1) ?: return@mapNotNull null)
|
||||||
}
|
}
|
||||||
.sortedBy { it.first }
|
.sortedBy { it.first }
|
||||||
.map { it.second }
|
.map { it.second }
|
||||||
.map { ("(, |^)$it").toRegex(RegexOption.IGNORE_CASE) }
|
.toList()
|
||||||
}
|
}
|
||||||
// SY <--
|
// SY <--
|
||||||
|
|
||||||
@ -352,8 +353,8 @@ class LibraryPresenter(
|
|||||||
0
|
0
|
||||||
}
|
}
|
||||||
LibrarySort.TAG_LIST -> {
|
LibrarySort.TAG_LIST -> {
|
||||||
val manga1IndexOfTag = listOfTags.indexOfFirst { i1.manga.genre?.let { tagString -> it.containsMatchIn(tagString) } ?: false }
|
val manga1IndexOfTag = listOfTags.indexOfFirst { i1.manga.getGenres()?.contains(it) ?: false }
|
||||||
val manga2IndexOfTag = listOfTags.indexOfFirst { i2.manga.genre?.let { tagString -> it.containsMatchIn(tagString) } ?: false }
|
val manga2IndexOfTag = listOfTags.indexOfFirst { i2.manga.getGenres()?.contains(it) ?: false }
|
||||||
manga1IndexOfTag.compareTo(manga2IndexOfTag)
|
manga1IndexOfTag.compareTo(manga2IndexOfTag)
|
||||||
}
|
}
|
||||||
// SY <--
|
// SY <--
|
||||||
|
Loading…
x
Reference in New Issue
Block a user