Fully remove usages of RxJava from tracker classes

TODO: refactor usages to coroutines as well
This commit is contained in:
arkon 2021-01-03 23:41:36 -05:00
parent b1167146c5
commit 7d713b87b1
7 changed files with 13 additions and 24 deletions

View File

@ -8,7 +8,6 @@ import eu.kanade.tachiyomi.data.preference.PreferencesHelper
import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch
import eu.kanade.tachiyomi.network.NetworkHelper import eu.kanade.tachiyomi.network.NetworkHelper
import okhttp3.OkHttpClient import okhttp3.OkHttpClient
import rx.Observable
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
abstract class TrackService(val id: Int) { abstract class TrackService(val id: Int) {
@ -48,7 +47,7 @@ abstract class TrackService(val id: Int) {
abstract suspend fun bind(track: Track): Track abstract suspend fun bind(track: Track): Track
abstract fun search(query: String): Observable<List<TrackSearch>> abstract suspend fun search(query: String): List<TrackSearch>
abstract suspend fun refresh(track: Track): Track abstract suspend fun refresh(track: Track): Track

View File

@ -6,11 +6,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch
import eu.kanade.tachiyomi.util.lang.runAsObservable
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import rx.Observable
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
class Anilist(private val context: Context, id: Int) : TrackService(id) { class Anilist(private val context: Context, id: Int) : TrackService(id) {
@ -160,8 +158,8 @@ class Anilist(private val context: Context, id: Int) : TrackService(id) {
} }
} }
override fun search(query: String): Observable<List<TrackSearch>> { override suspend fun search(query: String): List<TrackSearch> {
return runAsObservable({ api.search(query) }) return api.search(query)
} }
override suspend fun refresh(track: Track): Track { override suspend fun refresh(track: Track): Track {

View File

@ -6,11 +6,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch
import eu.kanade.tachiyomi.util.lang.runAsObservable
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import rx.Observable
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
class Bangumi(private val context: Context, id: Int) : TrackService(id) { class Bangumi(private val context: Context, id: Int) : TrackService(id) {
@ -57,8 +55,8 @@ class Bangumi(private val context: Context, id: Int) : TrackService(id) {
} }
} }
override fun search(query: String): Observable<List<TrackSearch>> { override suspend fun search(query: String): List<TrackSearch> {
return runAsObservable({ api.search(query) }) return api.search(query)
} }
override suspend fun refresh(track: Track): Track { override suspend fun refresh(track: Track): Track {

View File

@ -6,11 +6,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch
import eu.kanade.tachiyomi.util.lang.runAsObservable
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import rx.Observable
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
import java.text.DecimalFormat import java.text.DecimalFormat
@ -91,8 +89,8 @@ class Kitsu(private val context: Context, id: Int) : TrackService(id) {
} }
} }
override fun search(query: String): Observable<List<TrackSearch>> { override suspend fun search(query: String): List<TrackSearch> {
return runAsObservable({ api.search(query) }) return api.search(query)
} }
override suspend fun refresh(track: Track): Track { override suspend fun refresh(track: Track): Track {

View File

@ -6,11 +6,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch
import eu.kanade.tachiyomi.util.lang.runAsObservable
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import rx.Observable
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
class MyAnimeList(private val context: Context, id: Int) : TrackService(id) { class MyAnimeList(private val context: Context, id: Int) : TrackService(id) {
@ -83,14 +81,14 @@ class MyAnimeList(private val context: Context, id: Int) : TrackService(id) {
} }
} }
override fun search(query: String): Observable<List<TrackSearch>> { override suspend fun search(query: String): List<TrackSearch> {
if (query.startsWith(SEARCH_ID_PREFIX)) { if (query.startsWith(SEARCH_ID_PREFIX)) {
query.substringAfter(SEARCH_ID_PREFIX).toIntOrNull()?.let { id -> query.substringAfter(SEARCH_ID_PREFIX).toIntOrNull()?.let { id ->
return runAsObservable({ listOf(api.getMangaDetails(id)) }) return listOf(api.getMangaDetails(id))
} }
} }
return runAsObservable({ api.search(query) }) return api.search(query)
} }
override suspend fun refresh(track: Track): Track { override suspend fun refresh(track: Track): Track {

View File

@ -6,11 +6,9 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.database.models.Track import eu.kanade.tachiyomi.data.database.models.Track
import eu.kanade.tachiyomi.data.track.TrackService import eu.kanade.tachiyomi.data.track.TrackService
import eu.kanade.tachiyomi.data.track.model.TrackSearch import eu.kanade.tachiyomi.data.track.model.TrackSearch
import eu.kanade.tachiyomi.util.lang.runAsObservable
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.encodeToString import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import rx.Observable
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
class Shikimori(private val context: Context, id: Int) : TrackService(id) { class Shikimori(private val context: Context, id: Int) : TrackService(id) {
@ -65,8 +63,8 @@ class Shikimori(private val context: Context, id: Int) : TrackService(id) {
} }
} }
override fun search(query: String): Observable<List<TrackSearch>> { override suspend fun search(query: String): List<TrackSearch> {
return runAsObservable({ api.search(query) }) return api.search(query)
} }
override suspend fun refresh(track: Track): Track { override suspend fun refresh(track: Track): Track {

View File

@ -79,7 +79,7 @@ class TrackPresenter(
fun search(query: String, service: TrackService) { fun search(query: String, service: TrackService) {
searchSubscription?.let { remove(it) } searchSubscription?.let { remove(it) }
searchSubscription = service.search(query) searchSubscription = runAsObservable({ service.search(query) })
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.subscribeLatestCache( .subscribeLatestCache(