* refactor: use NoResultsException * refactor: cleanup RecommendationPagingSources * refactor: turn wake/wifi lock functions into reusable extensions * feat: implement batch recommendation (initial version) * fix: serialization issues * fix: wrong source id * refactor: increase performance using virtual paging * refactor: update string * refactor: handle 404 of MD source correctly * style: add newline * refactor: create universal throttle manager * refactor: throttle requests * chore: remove unused strings * feat: rank recommendations by match count * feat: add badges indicating match count to batch recommendations * fix: handle rec search with no results * fix: validate flags in pre-search bottom sheet * feat: implement 'hide library entries' for recommendation search using custom SmartSearchEngine for library items * style: run spotless * fix: cancel button * fix: racing condition causing loss of state * Avoid runBlocking in a property getter * Remove unnecessary `synchronized` * Fixes screen staying on in library tab. (jobobby04/TachiyomiSY#1451) (cherry picked from commit 254980695bc39fe064e7aeb181ecdbf70c1eff95) --------- Co-authored-by: Cuong-Tran <cuongtran.tm@gmail.com> Co-authored-by: NGB-Was-Taken <76197326+NGB-Was-Taken@users.noreply.github.com>
18 lines
540 B
Kotlin
18 lines
540 B
Kotlin
package exh.smartsearch
|
|
|
|
import tachiyomi.domain.library.model.LibraryManga
|
|
|
|
class SmartLibrarySearchEngine(
|
|
extraSearchParams: String? = null,
|
|
) : BaseSmartSearchEngine<LibraryManga>(extraSearchParams, 0.7) {
|
|
|
|
override fun getTitle(result: LibraryManga) = result.manga.ogTitle
|
|
|
|
suspend fun smartSearch(library: List<LibraryManga>, title: String): LibraryManga? =
|
|
smartSearch(
|
|
{ query ->
|
|
library.filter { it.manga.ogTitle.contains(query, true) }
|
|
},
|
|
title,
|
|
)
|
|
}
|