komikku/domain/src/main/java/tachiyomi/domain/source/model/StubSource.kt
AntsyLich 066660a743
Remove usage of .not() where possible
# Conflicts:
#	app/src/main/java/eu/kanade/domain/extension/interactor/GetExtensionsByType.kt
#	app/src/main/java/eu/kanade/tachiyomi/ui/reader/viewer/pager/PagerViewer.kt
2024-02-08 00:25:30 +07:00

34 lines
1.1 KiB
Kotlin

package tachiyomi.domain.source.model
import eu.kanade.tachiyomi.source.Source
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
class StubSource(
override val id: Long,
override val lang: String,
override val name: String,
) : Source {
private val isInvalid: Boolean = name.isBlank() || lang.isBlank()
override suspend fun getMangaDetails(manga: SManga): SManga =
throw SourceNotInstalledException()
override suspend fun getChapterList(manga: SManga): List<SChapter> =
throw SourceNotInstalledException()
override suspend fun getPageList(chapter: SChapter): List<Page> =
throw SourceNotInstalledException()
override fun toString(): String =
if (!isInvalid) "$name (${lang.uppercase()})" else id.toString()
companion object {
fun from(source: Source): StubSource {
return StubSource(id = source.id, lang = source.lang, name = source.name)
}
}
}
class SourceNotInstalledException : Exception()