From 024a39d06b65a28d8a19839884a3e108c7dde2b3 Mon Sep 17 00:00:00 2001 From: Jobobby04 Date: Sat, 24 Oct 2020 13:38:45 -0400 Subject: [PATCH] Lets try this for sort by tag performance --- .../eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt index f7d251be0..9f673300d 100755 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.kt @@ -312,14 +312,15 @@ class LibraryPresenter( // SY --> val listOfTags by lazy { - preferences.sortTagsForLibrary().get().toList() + preferences.sortTagsForLibrary().get() + .asSequence() .mapNotNull { val list = it.split("|") (list.getOrNull(0)?.toIntOrNull() ?: return@mapNotNull null) to (list.getOrNull(1) ?: return@mapNotNull null) } .sortedBy { it.first } .map { it.second } - .map { ("(, |^)$it").toRegex(RegexOption.IGNORE_CASE) } + .toList() } // SY <-- @@ -352,8 +353,8 @@ class LibraryPresenter( 0 } LibrarySort.TAG_LIST -> { - val manga1IndexOfTag = listOfTags.indexOfFirst { i1.manga.genre?.let { tagString -> it.containsMatchIn(tagString) } ?: false } - val manga2IndexOfTag = listOfTags.indexOfFirst { i2.manga.genre?.let { tagString -> it.containsMatchIn(tagString) } ?: false } + val manga1IndexOfTag = listOfTags.indexOfFirst { i1.manga.getGenres()?.contains(it) ?: false } + val manga2IndexOfTag = listOfTags.indexOfFirst { i2.manga.getGenres()?.contains(it) ?: false } manga1IndexOfTag.compareTo(manga2IndexOfTag) } // SY <--