# 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
34 lines
1.1 KiB
Kotlin
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()
|