Add DownloadDisabledSource interface
To disallow downloading on sources.
This commit is contained in:
parent
71fc5d6d35
commit
e37de9df32
@ -0,0 +1,6 @@
|
||||
package eu.kanade.tachiyomi.source
|
||||
|
||||
/**
|
||||
* Source for which downloading is disabled.
|
||||
*/
|
||||
interface DownloadDisabledSource
|
@ -40,7 +40,7 @@ import java.util.zip.ZipFile
|
||||
|
||||
class LocalSource(
|
||||
private val context: Context,
|
||||
) : CatalogueSource, UnmeteredSource {
|
||||
) : CatalogueSource, UnmeteredSource, DownloadDisabledSource {
|
||||
|
||||
private val json: Json by injectLazy()
|
||||
|
||||
|
@ -122,4 +122,4 @@ fun Source.getNameForMangaInfo(): String {
|
||||
}
|
||||
}
|
||||
|
||||
fun Source.isLocalOrStub(): Boolean = id == LocalSource.ID || this is SourceManager.StubSource
|
||||
fun Source.downloadingAllowed(): Boolean = this is DownloadDisabledSource
|
||||
|
@ -107,7 +107,7 @@ class SourceManager(
|
||||
}
|
||||
|
||||
@Suppress("OverridingDeprecatedMember")
|
||||
open inner class StubSource(val sourceData: SourceData) : Source {
|
||||
open inner class StubSource(val sourceData: SourceData) : Source, DownloadDisabledSource {
|
||||
|
||||
override val id: Long = sourceData.id
|
||||
|
||||
|
@ -32,7 +32,7 @@ import eu.kanade.tachiyomi.data.download.DownloadService
|
||||
import eu.kanade.tachiyomi.data.download.model.Download
|
||||
import eu.kanade.tachiyomi.data.track.model.TrackSearch
|
||||
import eu.kanade.tachiyomi.network.HttpException
|
||||
import eu.kanade.tachiyomi.source.isLocalOrStub
|
||||
import eu.kanade.tachiyomi.source.downloadingAllowed
|
||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||
import eu.kanade.tachiyomi.ui.base.controller.FullComposeController
|
||||
import eu.kanade.tachiyomi.ui.base.controller.pushController
|
||||
@ -121,7 +121,7 @@ class MangaController :
|
||||
windowWidthSizeClass = calculateWindowWidthSizeClass(),
|
||||
onBackClicked = router::popCurrentController,
|
||||
onChapterClicked = this::openChapter,
|
||||
onDownloadChapter = this::onDownloadChapters.takeIf { !successState.source.isLocalOrStub() },
|
||||
onDownloadChapter = this::onDownloadChapters.takeIf { successState.source.downloadingAllowed() },
|
||||
onAddToLibraryClicked = this::onFavoriteClick,
|
||||
onWebViewClicked = this::openMangaInWebView.takeIf { isHttpSource },
|
||||
onTrackingClicked = trackSheet::show.takeIf { successState.trackingAvailable },
|
||||
@ -132,7 +132,7 @@ class MangaController :
|
||||
onSearch = this::performSearch,
|
||||
onCoverClicked = this::openCoverDialog,
|
||||
onShareClicked = this::shareManga.takeIf { isHttpSource },
|
||||
onDownloadActionClicked = this::runDownloadChapterAction.takeIf { !successState.source.isLocalOrStub() },
|
||||
onDownloadActionClicked = this::runDownloadChapterAction.takeIf { successState.source.downloadingAllowed() },
|
||||
onEditCategoryClicked = this::onCategoriesClick.takeIf { successState.manga.favorite },
|
||||
onMigrateClicked = this::migrateManga.takeIf { successState.manga.favorite },
|
||||
onMultiBookmarkClicked = presenter::bookmarkChapters,
|
||||
|
Loading…
x
Reference in New Issue
Block a user