feat: batch processing for recommendations & sort by relevancy (#1383)

* 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
This commit is contained in:
Tim Schneeberger
2025-03-02 17:36:07 +01:00
committed by GitHub
parent 28cca49635
commit 254980695b
37 changed files with 1028 additions and 167 deletions
@@ -0,0 +1,13 @@
package exh.metadata.metadata
import android.content.Context
import eu.kanade.tachiyomi.source.model.SManga
import kotlinx.serialization.Serializable
@Serializable
class RankedSearchMetadata : RaisedSearchMetadata() {
var rank: Int? = null
override fun createMangaInfo(manga: SManga) = manga
override fun getExtraInfoPairs(context: Context): List<Pair<String, String>> = emptyList()
}