Albirew/tachiyomi
Archivé
1
0
Bifurcation 0

Move isLocal extension functions to LocalSource

Cette révision appartient à :
arkon 2023-03-20 08:41:44 -04:00
Parent 3cca460282
révision 7ec5a51eb8
6 fichiers modifiés avec 14 ajouts et 10 suppressions

Voir le fichier

@ -8,7 +8,7 @@ import tachiyomi.domain.source.model.Pin
import tachiyomi.domain.source.model.Pins import tachiyomi.domain.source.model.Pins
import tachiyomi.domain.source.model.Source import tachiyomi.domain.source.model.Source
import tachiyomi.domain.source.repository.SourceRepository import tachiyomi.domain.source.repository.SourceRepository
import tachiyomi.source.local.LocalSource import tachiyomi.source.local.isLocal
class GetEnabledSources( class GetEnabledSources(
private val repository: SourceRepository, private val repository: SourceRepository,
@ -24,7 +24,7 @@ class GetEnabledSources(
repository.getSources(), repository.getSources(),
) { pinnedSourceIds, enabledLanguages, disabledSources, lastUsedSource, sources -> ) { pinnedSourceIds, enabledLanguages, disabledSources, lastUsedSource, sources ->
sources sources
.filter { it.lang in enabledLanguages || it.id == LocalSource.ID } .filter { it.lang in enabledLanguages || it.isLocal() }
.filterNot { it.id.toString() in disabledSources } .filterNot { it.id.toString() in disabledSources }
.sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it.name }) .sortedWith(compareBy(String.CASE_INSENSITIVE_ORDER) { it.name })
.flatMap { .flatMap {

Voir le fichier

@ -5,7 +5,7 @@ import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine import kotlinx.coroutines.flow.combine
import tachiyomi.domain.source.model.Source import tachiyomi.domain.source.model.Source
import tachiyomi.domain.source.repository.SourceRepository import tachiyomi.domain.source.repository.SourceRepository
import tachiyomi.source.local.LocalSource import tachiyomi.source.local.isLocal
import java.text.Collator import java.text.Collator
import java.util.Collections import java.util.Collections
import java.util.Locale import java.util.Locale
@ -22,7 +22,7 @@ class GetSourcesWithFavoriteCount(
repository.getSourcesWithFavoriteCount(), repository.getSourcesWithFavoriteCount(),
) { direction, mode, list -> ) { direction, mode, list ->
list list
.filterNot { it.first.id == LocalSource.ID } .filterNot { it.first.isLocal() }
.sortedWith(sortFn(direction, mode)) .sortedWith(sortFn(direction, mode))
} }
} }

Voir le fichier

@ -35,7 +35,7 @@ import tachiyomi.presentation.core.screens.EmptyScreen
import tachiyomi.presentation.core.screens.LoadingScreen import tachiyomi.presentation.core.screens.LoadingScreen
import tachiyomi.presentation.core.theme.header import tachiyomi.presentation.core.theme.header
import tachiyomi.presentation.core.util.plus import tachiyomi.presentation.core.util.plus
import tachiyomi.source.local.LocalSource import tachiyomi.source.local.isLocal
@Composable @Composable
fun SourcesScreen( fun SourcesScreen(
@ -175,7 +175,7 @@ fun SourceOptionsDialog(
.fillMaxWidth() .fillMaxWidth()
.padding(vertical = 16.dp), .padding(vertical = 16.dp),
) )
if (source.id != LocalSource.ID) { if (source.isLocal()) {
Text( Text(
text = stringResource(R.string.action_disable), text = stringResource(R.string.action_disable),
modifier = Modifier modifier = Modifier

Voir le fichier

@ -33,7 +33,7 @@ import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.extension.model.Extension import eu.kanade.tachiyomi.extension.model.Extension
import tachiyomi.core.util.lang.withIOContext import tachiyomi.core.util.lang.withIOContext
import tachiyomi.domain.source.model.Source import tachiyomi.domain.source.model.Source
import tachiyomi.source.local.LocalSource import tachiyomi.source.local.isLocal
private val defaultModifier = Modifier private val defaultModifier = Modifier
.height(40.dp) .height(40.dp)
@ -62,7 +62,7 @@ fun SourceIcon(
modifier = modifier.then(defaultModifier), modifier = modifier.then(defaultModifier),
) )
} }
source.id == LocalSource.ID -> { source.isLocal() -> {
Image( Image(
painter = painterResource(R.mipmap.ic_local_source), painter = painterResource(R.mipmap.ic_local_source),
contentDescription = null, contentDescription = null,

Voir le fichier

@ -28,6 +28,7 @@ class AndroidSourceManager(
private val extensionManager: ExtensionManager, private val extensionManager: ExtensionManager,
private val sourceRepository: SourceDataRepository, private val sourceRepository: SourceDataRepository,
) : SourceManager { ) : SourceManager {
private val downloadManager: DownloadManager by injectLazy() private val downloadManager: DownloadManager by injectLazy()
private val scope = CoroutineScope(Job() + Dispatchers.IO) private val scope = CoroutineScope(Job() + Dispatchers.IO)

Voir le fichier

@ -38,9 +38,10 @@ import java.io.File
import java.io.FileInputStream import java.io.FileInputStream
import java.io.InputStream import java.io.InputStream
import java.nio.charset.StandardCharsets import java.nio.charset.StandardCharsets
import java.util.concurrent.TimeUnit
import java.util.zip.ZipFile import java.util.zip.ZipFile
import kotlin.time.Duration.Companion.days
import com.github.junrar.Archive as JunrarArchive import com.github.junrar.Archive as JunrarArchive
import tachiyomi.domain.source.model.Source as DomainSource
actual class LocalSource( actual class LocalSource(
private val context: Context, private val context: Context,
@ -348,10 +349,12 @@ actual class LocalSource(
const val ID = 0L const val ID = 0L
const val HELP_URL = "https://tachiyomi.org/help/guides/local-manga/" const val HELP_URL = "https://tachiyomi.org/help/guides/local-manga/"
private val LATEST_THRESHOLD = TimeUnit.MILLISECONDS.convert(7, TimeUnit.DAYS) private val LATEST_THRESHOLD = 7.days.inWholeMilliseconds
} }
} }
fun Manga.isLocal(): Boolean = source == LocalSource.ID fun Manga.isLocal(): Boolean = source == LocalSource.ID
fun Source.isLocal(): Boolean = id == LocalSource.ID fun Source.isLocal(): Boolean = id == LocalSource.ID
fun DomainSource.isLocal(): Boolean = id == LocalSource.ID