correct non-nullable of TrackMangaMetadata & MUContext

This commit is contained in:
Cuong-Tran 2025-02-25 16:56:39 +07:00
parent a1a0d40e91
commit 931b7c8b8b
No known key found for this signature in database
GPG key ID: 733AA7624B9315C2
10 changed files with 16 additions and 16 deletions

View file

@ -121,7 +121,7 @@ abstract class BaseTracker(
updateRemote(track) updateRemote(track)
} }
override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? { override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata {
throw NotImplementedError("Not implemented.") throw NotImplementedError("Not implemented.")
} }

View file

@ -84,7 +84,7 @@ interface Tracker {
suspend fun setRemoteFinishDate(track: Track, epochMillis: Long) suspend fun setRemoteFinishDate(track: Track, epochMillis: Long)
suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata
// KMK --> // KMK -->
fun hasNotStartedReading(status: Long): Boolean fun hasNotStartedReading(status: Long): Boolean

View file

@ -13,7 +13,6 @@ import eu.kanade.tachiyomi.data.track.model.TrackSearch
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf import kotlinx.collections.immutable.persistentListOf
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import tachiyomi.i18n.MR import tachiyomi.i18n.MR
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
@ -233,7 +232,7 @@ class Anilist(id: Long) : BaseTracker(id, "AniList"), DeletableTracker {
interceptor.setAuth(null) interceptor.setAuth(null)
} }
override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? { override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata {
return api.getMangaMetadata(track) return api.getMangaMetadata(track)
} }

View file

@ -342,13 +342,15 @@ class AnilistApi(val client: OkHttpClient, interceptor: AnilistInterceptor) {
description = media.description?.htmlDecode()?.ifEmpty { null }, description = media.description?.htmlDecode()?.ifEmpty { null },
authors = media.staff.edges authors = media.staff.edges
.filter { it.role == "Story" || it.role == "Story & Art" } .filter { it.role == "Story" || it.role == "Story & Art" }
.map { it.node.name.userPreferred } // KMK -->
.joinToString(", ") .joinToString(", ") { it.node.name.userPreferred }
// KMK <--
.ifEmpty { null }, .ifEmpty { null },
artists = media.staff.edges artists = media.staff.edges
.filter { it.role == "Art" || it.role == "Story & Art" } .filter { it.role == "Art" || it.role == "Story & Art" }
.map { it.node.name.userPreferred } // KMK -->
.joinToString(", ") .joinToString(", ") { it.node.name.userPreferred }
// KMK <--
.ifEmpty { null }, .ifEmpty { null },
) )
} }

View file

@ -72,7 +72,7 @@ class Bangumi(id: Long) : BaseTracker(id, "Bangumi") {
return api.search(query) return api.search(query)
} }
override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? { override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata {
return api.getMangaMetadata(track) return api.getMangaMetadata(track)
} }

View file

@ -119,9 +119,9 @@ class MangaUpdates(id: Long) : BaseTracker(id, "MangaUpdates"), DeletableTracker
interceptor.newAuth(authenticated.sessionToken) interceptor.newAuth(authenticated.sessionToken)
} }
override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? { override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata {
val series = api.getSeries(track) val series = api.getSeries(track)
return series?.let { return series.let {
TrackMangaMetadata( TrackMangaMetadata(
it.seriesId, it.seriesId,
it.title?.htmlDecode(), it.title?.htmlDecode(),

View file

@ -172,7 +172,7 @@ class MangaUpdatesApi(
} }
} }
suspend fun authenticate(username: String, password: String): MUContext? { suspend fun authenticate(username: String, password: String): MUContext {
val body = buildJsonObject { val body = buildJsonObject {
put("username", username) put("username", username)
put("password", password) put("password", password)

View file

@ -172,7 +172,7 @@ class MdList(id: Long) : BaseTracker(id, "MDList") {
trackPreferences.trackToken(this).delete() trackPreferences.trackToken(this).delete()
} }
override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? { override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata {
return withIOContext { return withIOContext {
val mdex = mdex ?: throw MangaDexNotFoundException() val mdex = mdex ?: throw MangaDexNotFoundException()
val manga = mdex.getMangaMetadata(track.toDbTrack()) val manga = mdex.getMangaMetadata(track.toDbTrack())

View file

@ -11,7 +11,6 @@ import eu.kanade.tachiyomi.data.track.model.TrackSearch
import eu.kanade.tachiyomi.data.track.myanimelist.dto.MALOAuth import eu.kanade.tachiyomi.data.track.myanimelist.dto.MALOAuth
import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import tachiyomi.i18n.MR import tachiyomi.i18n.MR
import uy.kohesive.injekt.injectLazy import uy.kohesive.injekt.injectLazy
@ -157,7 +156,7 @@ class MyAnimeList(id: Long) : BaseTracker(id, "MyAnimeList"), DeletableTracker {
interceptor.setAuth(null) interceptor.setAuth(null)
} }
override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? { override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata {
return api.getMangaMetadata(track) return api.getMangaMetadata(track)
} }

View file

@ -99,7 +99,7 @@ class Shikimori(id: Long) : BaseTracker(id, "Shikimori"), DeletableTracker {
return track return track
} }
override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata? { override suspend fun getMangaMetadata(track: DomainTrack): TrackMangaMetadata {
return api.getMangaMetadata(track) return api.getMangaMetadata(track)
} }