Last Commit Merged: bebd4be43d
This commit is contained in:
LuftVerbot 2023-07-07 22:19:06 +02:00
parent c0324ecfaa
commit 4f5ea9965c
119 changed files with 358 additions and 1090 deletions

View file

@ -1,15 +1,5 @@
package eu.kanade.domain
import eu.kanade.data.source.anime.AnimeSourceRepositoryImpl
import eu.kanade.data.source.manga.MangaSourceRepositoryImpl
import eu.kanade.domain.category.anime.interactor.CreateAnimeCategoryWithName
import eu.kanade.domain.category.anime.interactor.ResetAnimeCategoryFlags
import eu.kanade.domain.category.anime.interactor.SetDisplayModeForAnimeCategory
import eu.kanade.domain.category.anime.interactor.SetSortModeForAnimeCategory
import eu.kanade.domain.category.manga.interactor.CreateMangaCategoryWithName
import eu.kanade.domain.category.manga.interactor.ResetMangaCategoryFlags
import eu.kanade.domain.category.manga.interactor.SetDisplayModeForMangaCategory
import eu.kanade.domain.category.manga.interactor.SetSortModeForMangaCategory
import eu.kanade.domain.download.anime.interactor.DeleteAnimeDownload
import eu.kanade.domain.download.manga.interactor.DeleteChapterDownload
import eu.kanade.domain.entries.anime.interactor.SetAnimeViewerFlags
@ -22,31 +12,22 @@ import eu.kanade.domain.extension.anime.interactor.GetAnimeExtensionsByType
import eu.kanade.domain.extension.manga.interactor.GetExtensionSources
import eu.kanade.domain.extension.manga.interactor.GetMangaExtensionLanguages
import eu.kanade.domain.extension.manga.interactor.GetMangaExtensionsByType
import eu.kanade.domain.history.anime.interactor.GetNextEpisodes
import eu.kanade.domain.history.manga.interactor.GetNextChapters
import eu.kanade.domain.items.chapter.interactor.SetReadStatus
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithSource
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
import eu.kanade.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
import eu.kanade.domain.items.episode.interactor.SetSeenStatus
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithFavoriteCount
import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithNonLibraryAnime
import eu.kanade.domain.source.anime.interactor.GetEnabledAnimeSources
import eu.kanade.domain.source.anime.interactor.GetLanguagesWithAnimeSources
import eu.kanade.domain.source.anime.interactor.GetRemoteAnime
import eu.kanade.domain.source.anime.interactor.ToggleAnimeSource
import eu.kanade.domain.source.anime.interactor.ToggleAnimeSourcePin
import eu.kanade.domain.source.anime.repository.AnimeSourceRepository
import eu.kanade.domain.source.manga.interactor.GetEnabledMangaSources
import eu.kanade.domain.source.manga.interactor.GetLanguagesWithMangaSources
import eu.kanade.domain.source.manga.interactor.GetMangaSourcesWithFavoriteCount
import eu.kanade.domain.source.manga.interactor.GetMangaSourcesWithNonLibraryManga
import eu.kanade.domain.source.manga.interactor.GetRemoteManga
import eu.kanade.domain.source.manga.interactor.ToggleMangaSource
import eu.kanade.domain.source.manga.interactor.ToggleMangaSourcePin
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
import eu.kanade.domain.source.service.SetMigrateSorting
import eu.kanade.domain.source.service.ToggleLanguage
import tachiyomi.data.category.anime.AnimeCategoryRepositoryImpl
@ -58,23 +39,33 @@ import tachiyomi.data.history.manga.MangaHistoryRepositoryImpl
import tachiyomi.data.items.chapter.ChapterRepositoryImpl
import tachiyomi.data.items.episode.EpisodeRepositoryImpl
import tachiyomi.data.source.anime.AnimeSourceDataRepositoryImpl
import tachiyomi.data.source.anime.AnimeSourceRepositoryImpl
import tachiyomi.data.source.manga.MangaSourceDataRepositoryImpl
import tachiyomi.data.source.manga.MangaSourceRepositoryImpl
import tachiyomi.data.track.anime.AnimeTrackRepositoryImpl
import tachiyomi.data.track.manga.MangaTrackRepositoryImpl
import tachiyomi.data.updates.anime.AnimeUpdatesRepositoryImpl
import tachiyomi.data.updates.manga.MangaUpdatesRepositoryImpl
import tachiyomi.domain.category.anime.interactor.CreateAnimeCategoryWithName
import tachiyomi.domain.category.anime.interactor.DeleteAnimeCategory
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
import tachiyomi.domain.category.anime.interactor.RenameAnimeCategory
import tachiyomi.domain.category.anime.interactor.ReorderAnimeCategory
import tachiyomi.domain.category.anime.interactor.ResetAnimeCategoryFlags
import tachiyomi.domain.category.anime.interactor.SetAnimeCategories
import tachiyomi.domain.category.anime.interactor.SetDisplayModeForAnimeCategory
import tachiyomi.domain.category.anime.interactor.SetSortModeForAnimeCategory
import tachiyomi.domain.category.anime.interactor.UpdateAnimeCategory
import tachiyomi.domain.category.anime.repository.AnimeCategoryRepository
import tachiyomi.domain.category.manga.interactor.CreateMangaCategoryWithName
import tachiyomi.domain.category.manga.interactor.DeleteMangaCategory
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
import tachiyomi.domain.category.manga.interactor.RenameMangaCategory
import tachiyomi.domain.category.manga.interactor.ReorderMangaCategory
import tachiyomi.domain.category.manga.interactor.ResetMangaCategoryFlags
import tachiyomi.domain.category.manga.interactor.SetDisplayModeForMangaCategory
import tachiyomi.domain.category.manga.interactor.SetMangaCategories
import tachiyomi.domain.category.manga.interactor.SetSortModeForMangaCategory
import tachiyomi.domain.category.manga.interactor.UpdateMangaCategory
import tachiyomi.domain.category.manga.repository.MangaCategoryRepository
import tachiyomi.domain.entries.anime.interactor.GetAnime
@ -96,26 +87,36 @@ import tachiyomi.domain.entries.manga.interactor.ResetMangaViewerFlags
import tachiyomi.domain.entries.manga.interactor.SetMangaChapterFlags
import tachiyomi.domain.entries.manga.repository.MangaRepository
import tachiyomi.domain.history.anime.interactor.GetAnimeHistory
import tachiyomi.domain.history.anime.interactor.GetNextEpisodes
import tachiyomi.domain.history.anime.interactor.RemoveAnimeHistory
import tachiyomi.domain.history.anime.interactor.UpsertAnimeHistory
import tachiyomi.domain.history.anime.repository.AnimeHistoryRepository
import tachiyomi.domain.history.manga.interactor.GetMangaHistory
import tachiyomi.domain.history.manga.interactor.GetNextChapters
import tachiyomi.domain.history.manga.interactor.GetTotalReadDuration
import tachiyomi.domain.history.manga.interactor.RemoveMangaHistory
import tachiyomi.domain.history.manga.interactor.UpsertMangaHistory
import tachiyomi.domain.history.manga.repository.MangaHistoryRepository
import tachiyomi.domain.items.chapter.interactor.GetChapter
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
import tachiyomi.domain.items.chapter.interactor.SetMangaDefaultChapterFlags
import tachiyomi.domain.items.chapter.interactor.ShouldUpdateDbChapter
import tachiyomi.domain.items.chapter.interactor.UpdateChapter
import tachiyomi.domain.items.chapter.repository.ChapterRepository
import tachiyomi.domain.items.episode.interactor.GetEpisode
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
import tachiyomi.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
import tachiyomi.domain.items.episode.interactor.ShouldUpdateDbEpisode
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
import tachiyomi.domain.items.episode.repository.EpisodeRepository
import tachiyomi.domain.source.anime.interactor.GetAnimeSourcesWithNonLibraryAnime
import tachiyomi.domain.source.anime.interactor.GetRemoteAnime
import tachiyomi.domain.source.anime.repository.AnimeSourceDataRepository
import tachiyomi.domain.source.anime.repository.AnimeSourceRepository
import tachiyomi.domain.source.manga.interactor.GetMangaSourcesWithNonLibraryManga
import tachiyomi.domain.source.manga.interactor.GetRemoteManga
import tachiyomi.domain.source.manga.repository.MangaSourceDataRepository
import tachiyomi.domain.source.manga.repository.MangaSourceRepository
import tachiyomi.domain.track.anime.interactor.DeleteAnimeTrack
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
import tachiyomi.domain.track.anime.interactor.GetTracksPerAnime
@ -186,7 +187,7 @@ class DomainModule : InjektModule {
addFactory { ResetMangaViewerFlags(get()) }
addFactory { SetMangaChapterFlags(get()) }
addFactory {
eu.kanade.domain.items.chapter.interactor.SetMangaDefaultChapterFlags(
SetMangaDefaultChapterFlags(
get(),
get(),
get(),

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.source.anime.interactor
import eu.kanade.domain.source.anime.repository.AnimeSourceRepository
import eu.kanade.domain.source.service.SetMigrateSorting
import eu.kanade.domain.source.service.SourcePreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import tachiyomi.domain.source.anime.model.AnimeSource
import tachiyomi.domain.source.anime.repository.AnimeSourceRepository
import tachiyomi.source.local.entries.anime.LocalAnimeSource
import java.text.Collator
import java.util.Collections

View file

@ -1,6 +1,5 @@
package eu.kanade.domain.source.anime.interactor
import eu.kanade.domain.source.anime.repository.AnimeSourceRepository
import eu.kanade.domain.source.service.SourcePreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
@ -8,6 +7,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged
import tachiyomi.domain.source.anime.model.AnimeSource
import tachiyomi.domain.source.anime.model.Pin
import tachiyomi.domain.source.anime.model.Pins
import tachiyomi.domain.source.anime.repository.AnimeSourceRepository
import tachiyomi.source.local.entries.anime.LocalAnimeSource
class GetEnabledAnimeSources(

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.source.anime.interactor
import eu.kanade.domain.source.anime.repository.AnimeSourceRepository
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.util.system.LocaleHelper
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import tachiyomi.domain.source.anime.model.AnimeSource
import tachiyomi.domain.source.anime.repository.AnimeSourceRepository
class GetLanguagesWithAnimeSources(
private val repository: AnimeSourceRepository,

View file

@ -1,6 +1,5 @@
package eu.kanade.domain.source.manga.interactor
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
import eu.kanade.domain.source.service.SourcePreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
@ -8,6 +7,7 @@ import kotlinx.coroutines.flow.distinctUntilChanged
import tachiyomi.domain.source.manga.model.Pin
import tachiyomi.domain.source.manga.model.Pins
import tachiyomi.domain.source.manga.model.Source
import tachiyomi.domain.source.manga.repository.MangaSourceRepository
import tachiyomi.source.local.entries.manga.LocalMangaSource
class GetEnabledMangaSources(

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.source.manga.interactor
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.tachiyomi.util.system.LocaleHelper
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import tachiyomi.domain.source.manga.model.Source
import tachiyomi.domain.source.manga.repository.MangaSourceRepository
class GetLanguagesWithMangaSources(
private val repository: MangaSourceRepository,

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.source.manga.interactor
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
import eu.kanade.domain.source.service.SetMigrateSorting
import eu.kanade.domain.source.service.SourcePreferences
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.combine
import tachiyomi.domain.source.manga.model.Source
import tachiyomi.domain.source.manga.repository.MangaSourceRepository
import tachiyomi.source.local.entries.manga.LocalMangaSource
import java.text.Collator
import java.util.Collections

View file

@ -59,7 +59,7 @@ fun GlobalAnimeSearchScreen(
}
@Composable
fun GlobalAnimeSearchContent(
private fun GlobalAnimeSearchContent(
items: Map<AnimeCatalogueSource, AnimeSearchItemResult>,
contentPadding: PaddingValues,
getAnime: @Composable (AnimeCatalogueSource, Anime) -> State<Anime>,

View file

@ -58,7 +58,7 @@ fun BrowseAnimeSourceComfortableGrid(
}
@Composable
fun BrowseAnimeSourceComfortableGridItem(
private fun BrowseAnimeSourceComfortableGridItem(
anime: Anime,
onClick: () -> Unit = {},
onLongClick: () -> Unit = onClick,

View file

@ -53,7 +53,7 @@ fun BrowseAnimeSourceList(
}
@Composable
fun BrowseAnimeSourceListItem(
private fun BrowseAnimeSourceListItem(
anime: Anime,
onClick: () -> Unit = {},
onLongClick: () -> Unit = onClick,

View file

@ -59,7 +59,7 @@ fun GlobalMangaSearchScreen(
}
@Composable
fun GlobalSearchContent(
private fun GlobalSearchContent(
items: Map<CatalogueSource, MangaSearchItemResult>,
contentPadding: PaddingValues,
getManga: @Composable (CatalogueSource, Manga) -> State<Manga>,

View file

@ -57,7 +57,7 @@ fun BrowseMangaSourceComfortableGrid(
}
@Composable
fun BrowseMangaSourceComfortableGridItem(
private fun BrowseMangaSourceComfortableGridItem(
manga: Manga,
onClick: () -> Unit = {},
onLongClick: () -> Unit = onClick,

View file

@ -52,7 +52,7 @@ fun BrowseMangaSourceList(
}
@Composable
fun BrowseMangaSourceListItem(
private fun BrowseMangaSourceListItem(
manga: Manga,
onClick: () -> Unit = {},
onLongClick: () -> Unit = onClick,

View file

@ -10,7 +10,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
@Composable
fun BrowseSourceLoadingItem() {
internal fun BrowseSourceLoadingItem() {
Row(
modifier = Modifier
.fillMaxWidth()

View file

@ -1,16 +1,18 @@
package eu.kanade.presentation.entries.anime.components
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.sizeIn
import androidx.compose.foundation.layout.width
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Bookmark
import androidx.compose.material.icons.filled.Circle
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ProvideTextStyle
import androidx.compose.material3.Text
@ -63,9 +65,25 @@ fun AnimeEpisodeListItem(
)
.padding(start = 16.dp, top = 12.dp, end = 8.dp, bottom = 12.dp),
) {
Column(modifier = Modifier.weight(1f)) {
Row(verticalAlignment = Alignment.CenterVertically) {
Column(
modifier = Modifier.weight(1f),
verticalArrangement = Arrangement.spacedBy(6.dp),
) {
Row(
horizontalArrangement = Arrangement.spacedBy(2.dp),
verticalAlignment = Alignment.CenterVertically,
) {
var textHeight by remember { mutableStateOf(0) }
if (!seen) {
Icon(
imageVector = Icons.Filled.Circle,
contentDescription = stringResource(R.string.unread),
modifier = Modifier
.height(8.dp)
.padding(end = 4.dp),
tint = MaterialTheme.colorScheme.primary,
)
}
if (bookmark) {
Icon(
imageVector = Icons.Filled.Bookmark,
@ -74,11 +92,11 @@ fun AnimeEpisodeListItem(
.sizeIn(maxHeight = with(LocalDensity.current) { textHeight.toDp() - 2.dp }),
tint = MaterialTheme.colorScheme.primary,
)
Spacer(modifier = Modifier.width(2.dp))
}
Text(
text = title,
style = MaterialTheme.typography.bodyMedium,
color = LocalContentColor.current.copy(alpha = textAlpha),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
onTextLayout = { textHeight = it.size.height },
@ -86,11 +104,12 @@ fun AnimeEpisodeListItem(
)
}
Spacer(modifier = Modifier.height(6.dp))
Row(modifier = Modifier.alpha(textSubtitleAlpha)) {
Row {
ProvideTextStyle(
value = MaterialTheme.typography.bodyMedium.copy(fontSize = 12.sp),
value = MaterialTheme.typography.bodyMedium.copy(
fontSize = 12.sp,
color = LocalContentColor.current.copy(alpha = textSubtitleAlpha),
),
) {
if (date != null) {
Text(

View file

@ -1,16 +1,17 @@
package eu.kanade.presentation.entries.manga.components
import androidx.compose.foundation.combinedClickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.sizeIn
import androidx.compose.foundation.layout.width
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Bookmark
import androidx.compose.material.icons.filled.Circle
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.ProvideTextStyle
import androidx.compose.material3.Text
@ -63,9 +64,25 @@ fun MangaChapterListItem(
)
.padding(start = 16.dp, top = 12.dp, end = 8.dp, bottom = 12.dp),
) {
Column(modifier = Modifier.weight(1f)) {
Row(verticalAlignment = Alignment.CenterVertically) {
Column(
modifier = Modifier.weight(1f),
verticalArrangement = Arrangement.spacedBy(6.dp),
) {
Row(
horizontalArrangement = Arrangement.spacedBy(2.dp),
verticalAlignment = Alignment.CenterVertically,
) {
var textHeight by remember { mutableStateOf(0) }
if (!read) {
Icon(
imageVector = Icons.Filled.Circle,
contentDescription = stringResource(R.string.unread),
modifier = Modifier
.height(8.dp)
.padding(end = 4.dp),
tint = MaterialTheme.colorScheme.primary,
)
}
if (bookmark) {
Icon(
imageVector = Icons.Filled.Bookmark,
@ -74,11 +91,11 @@ fun MangaChapterListItem(
.sizeIn(maxHeight = with(LocalDensity.current) { textHeight.toDp() - 2.dp }),
tint = MaterialTheme.colorScheme.primary,
)
Spacer(modifier = Modifier.width(2.dp))
}
Text(
text = title,
style = MaterialTheme.typography.bodyMedium,
color = LocalContentColor.current.copy(alpha = textAlpha),
maxLines = 1,
overflow = TextOverflow.Ellipsis,
onTextLayout = { textHeight = it.size.height },
@ -86,11 +103,12 @@ fun MangaChapterListItem(
)
}
Spacer(modifier = Modifier.height(6.dp))
Row(modifier = Modifier.alpha(textSubtitleAlpha)) {
Row {
ProvideTextStyle(
value = MaterialTheme.typography.bodyMedium.copy(fontSize = 12.sp),
value = MaterialTheme.typography.bodyMedium.copy(
fontSize = 12.sp,
color = LocalContentColor.current.copy(alpha = textSubtitleAlpha),
),
) {
if (date != null) {
Text(

View file

@ -9,7 +9,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.components.TabbedDialog
import eu.kanade.presentation.components.TabbedDialogPaddings
import eu.kanade.presentation.components.TriStateItem
@ -22,6 +21,7 @@ import tachiyomi.domain.library.anime.model.AnimeLibrarySort
import tachiyomi.domain.library.anime.model.sort
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.model.display
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.presentation.core.components.CheckboxItem
import tachiyomi.presentation.core.components.HeadingItem
import tachiyomi.presentation.core.components.RadioItem

View file

@ -9,7 +9,6 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.components.TabbedDialog
import eu.kanade.presentation.components.TabbedDialogPaddings
import eu.kanade.presentation.components.TriStateItem
@ -22,6 +21,7 @@ import tachiyomi.domain.library.manga.model.MangaLibrarySort
import tachiyomi.domain.library.manga.model.sort
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.model.display
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.presentation.core.components.CheckboxItem
import tachiyomi.presentation.core.components.HeadingItem
import tachiyomi.presentation.core.components.RadioItem

View file

@ -26,13 +26,13 @@ import androidx.compose.ui.platform.LocalUriHandler
import androidx.compose.ui.res.pluralStringResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.res.vectorResource
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.components.WarningBanner
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.core.Constants
import eu.kanade.tachiyomi.ui.more.DownloadQueueState
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.presentation.core.components.ScrollbarLazyColumn
import tachiyomi.presentation.core.components.material.Divider
import tachiyomi.presentation.core.components.material.Scaffold

View file

@ -32,7 +32,6 @@ import cafe.adriel.voyager.core.model.coroutineScope
import cafe.adriel.voyager.core.model.rememberScreenModel
import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithNonLibraryAnime
import eu.kanade.presentation.browse.anime.components.AnimeSourceIcon
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.AppBarActions
@ -44,6 +43,7 @@ import kotlinx.coroutines.flow.update
import tachiyomi.core.util.lang.launchIO
import tachiyomi.core.util.lang.launchUI
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.domain.source.anime.interactor.GetAnimeSourcesWithNonLibraryAnime
import tachiyomi.domain.source.anime.model.AnimeSource
import tachiyomi.domain.source.anime.model.AnimeSourceWithCount
import tachiyomi.mi.data.AnimeDatabase

View file

@ -32,7 +32,6 @@ import cafe.adriel.voyager.core.model.coroutineScope
import cafe.adriel.voyager.core.model.rememberScreenModel
import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.domain.source.manga.interactor.GetMangaSourcesWithNonLibraryManga
import eu.kanade.presentation.browse.manga.components.MangaSourceIcon
import eu.kanade.presentation.components.AppBar
import eu.kanade.presentation.components.AppBarActions
@ -45,6 +44,7 @@ import tachiyomi.core.util.lang.launchIO
import tachiyomi.core.util.lang.launchUI
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.data.Database
import tachiyomi.domain.source.manga.interactor.GetMangaSourcesWithNonLibraryManga
import tachiyomi.domain.source.manga.model.MangaSourceWithCount
import tachiyomi.domain.source.manga.model.Source
import tachiyomi.presentation.core.components.FastScrollLazyColumn

View file

@ -25,7 +25,6 @@ import androidx.core.net.toUri
import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.more.settings.Preference
import eu.kanade.presentation.util.collectAsState
import eu.kanade.tachiyomi.R
@ -62,6 +61,7 @@ import tachiyomi.core.util.lang.launchNonCancellable
import tachiyomi.core.util.lang.withUIContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.entries.manga.repository.MangaRepository
import tachiyomi.domain.library.service.LibraryPreferences
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.io.File

View file

@ -19,7 +19,6 @@ import androidx.compose.ui.res.stringResource
import androidx.core.app.ActivityCompat
import androidx.core.os.LocaleListCompat
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.more.settings.Preference
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.ui.home.HomeScreen
@ -27,6 +26,7 @@ import eu.kanade.tachiyomi.util.system.LocaleHelper
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.drop
import org.xmlpull.v1.XmlPullParser
import tachiyomi.domain.library.service.LibraryPreferences
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get

View file

@ -31,28 +31,28 @@ import androidx.core.content.ContextCompat
import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.Navigator
import cafe.adriel.voyager.navigator.currentOrThrow
import eu.kanade.domain.category.manga.interactor.ResetMangaCategoryFlags
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.category.visualName
import eu.kanade.presentation.more.settings.Preference
import eu.kanade.presentation.more.settings.widget.TriStateListDialog
import eu.kanade.presentation.util.collectAsState
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.library.manga.MangaLibraryUpdateJob
import eu.kanade.tachiyomi.data.preference.DEVICE_BATTERY_NOT_LOW
import eu.kanade.tachiyomi.data.preference.DEVICE_CHARGING
import eu.kanade.tachiyomi.data.preference.DEVICE_NETWORK_NOT_METERED
import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI
import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.ui.category.CategoriesTab
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
import tachiyomi.domain.category.manga.interactor.ResetMangaCategoryFlags
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_BATTERY_NOT_LOW
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_NETWORK_NOT_METERED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_UNREAD
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ
import tachiyomi.presentation.core.components.WheelPicker
import tachiyomi.presentation.core.components.WheelPickerDefaults
import uy.kohesive.injekt.Injekt

View file

@ -16,7 +16,9 @@ import androidx.compose.foundation.lazy.LazyListScope
import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Bookmark
import androidx.compose.material.icons.filled.Circle
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@ -196,12 +198,22 @@ fun AnimeUpdatesUiItem(
text = update.animeTitle,
maxLines = 1,
style = MaterialTheme.typography.bodyMedium,
color = LocalContentColor.current.copy(alpha = textAlpha),
overflow = TextOverflow.Ellipsis,
modifier = Modifier.alpha(textAlpha),
)
Row(verticalAlignment = Alignment.CenterVertically) {
var textHeight by remember { mutableStateOf(0) }
if (!update.seen) {
Icon(
imageVector = Icons.Filled.Circle,
contentDescription = stringResource(R.string.unread),
modifier = Modifier
.height(8.dp)
.padding(end = 4.dp),
tint = MaterialTheme.colorScheme.primary,
)
}
if (update.bookmark) {
Icon(
imageVector = Icons.Filled.Bookmark,
@ -216,19 +228,19 @@ fun AnimeUpdatesUiItem(
text = update.episodeName,
maxLines = 1,
style = MaterialTheme.typography.bodySmall,
color = LocalContentColor.current.copy(alpha = textAlpha),
overflow = TextOverflow.Ellipsis,
onTextLayout = { textHeight = it.size.height },
modifier = Modifier
.weight(weight = 1f, fill = false)
.alpha(textAlpha),
.weight(weight = 1f, fill = false),
)
if (watchProgress != null) {
DotSeparatorText()
Text(
text = watchProgress,
maxLines = 1,
color = LocalContentColor.current.copy(alpha = ReadItemAlpha),
overflow = TextOverflow.Ellipsis,
modifier = Modifier.alpha(ReadItemAlpha),
)
}
}

View file

@ -16,7 +16,9 @@ import androidx.compose.foundation.lazy.LazyListScope
import androidx.compose.foundation.lazy.items
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Bookmark
import androidx.compose.material.icons.filled.Circle
import androidx.compose.material3.Icon
import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
@ -194,11 +196,21 @@ fun MangaUpdatesUiItem(
text = update.mangaTitle,
maxLines = 1,
style = MaterialTheme.typography.bodyMedium,
color = LocalContentColor.current.copy(alpha = textAlpha),
overflow = TextOverflow.Ellipsis,
modifier = Modifier.alpha(textAlpha),
)
Row(verticalAlignment = Alignment.CenterVertically) {
var textHeight by remember { mutableStateOf(0) }
if (!update.read) {
Icon(
imageVector = Icons.Filled.Circle,
contentDescription = stringResource(R.string.unread),
modifier = Modifier
.height(8.dp)
.padding(end = 4.dp),
tint = MaterialTheme.colorScheme.primary,
)
}
if (update.bookmark) {
Icon(
imageVector = Icons.Filled.Bookmark,
@ -213,19 +225,19 @@ fun MangaUpdatesUiItem(
text = update.chapterName,
maxLines = 1,
style = MaterialTheme.typography.bodySmall,
color = LocalContentColor.current.copy(alpha = textAlpha),
overflow = TextOverflow.Ellipsis,
onTextLayout = { textHeight = it.size.height },
modifier = Modifier
.weight(weight = 1f, fill = false)
.alpha(textAlpha),
.weight(weight = 1f, fill = false),
)
if (readProgress != null) {
DotSeparatorText()
Text(
text = readProgress,
maxLines = 1,
color = LocalContentColor.current.copy(alpha = ReadItemAlpha),
overflow = TextOverflow.Ellipsis,
modifier = Modifier.alpha(ReadItemAlpha),
)
}
}

View file

@ -11,7 +11,6 @@ import data.Mangas
import dataanime.Animehistory
import dataanime.Animes
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.domain.track.anime.store.DelayedAnimeTrackingStore
import eu.kanade.domain.track.manga.store.DelayedMangaTrackingStore
@ -61,6 +60,7 @@ import tachiyomi.data.listOfStringsAdapter
import tachiyomi.data.updateStrategyAdapter
import tachiyomi.domain.backup.service.BackupPreferences
import tachiyomi.domain.download.service.DownloadPreferences
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.domain.source.manga.service.MangaSourceManager
import tachiyomi.mi.data.AnimeDatabase

View file

@ -5,14 +5,12 @@ import androidx.core.content.edit
import androidx.preference.PreferenceManager
import androidx.work.WorkManager
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.domain.ui.UiPreferences
import eu.kanade.tachiyomi.core.security.SecurityPreferences
import eu.kanade.tachiyomi.data.backup.BackupCreatorJob
import eu.kanade.tachiyomi.data.library.anime.AnimeLibraryUpdateJob
import eu.kanade.tachiyomi.data.library.manga.MangaLibraryUpdateJob
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.PreferenceValues
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.network.NetworkPreferences
@ -28,6 +26,8 @@ import tachiyomi.core.preference.PreferenceStore
import tachiyomi.core.preference.getEnum
import tachiyomi.domain.backup.service.BackupPreferences
import tachiyomi.domain.entries.TriStateFilter
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import java.io.File

View file

@ -11,7 +11,6 @@ import data.Manga_sync
import data.Mangas
import dataanime.Anime_sync
import dataanime.Animes
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.backup.BackupConst.BACKUP_CATEGORY
import eu.kanade.tachiyomi.data.backup.BackupConst.BACKUP_CATEGORY_MASK
@ -81,6 +80,7 @@ import tachiyomi.domain.entries.anime.interactor.GetAnimeFavorites
import tachiyomi.domain.entries.manga.interactor.GetMangaFavorites
import tachiyomi.domain.history.anime.model.AnimeHistoryUpdate
import tachiyomi.domain.history.manga.model.MangaHistoryUpdate
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.domain.source.manga.service.MangaSourceManager
import uy.kohesive.injekt.Injekt

View file

@ -20,7 +20,6 @@ import eu.kanade.domain.entries.anime.model.copyFrom
import eu.kanade.domain.entries.anime.model.toSAnime
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.track.anime.model.toDbTrack
import eu.kanade.domain.track.anime.model.toDomainTrack
import eu.kanade.tachiyomi.R
@ -28,13 +27,6 @@ import eu.kanade.tachiyomi.animesource.model.SAnime
import eu.kanade.tachiyomi.data.cache.AnimeCoverCache
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadManager
import eu.kanade.tachiyomi.data.notification.Notifications
import eu.kanade.tachiyomi.data.preference.ANIME_HAS_UNSEEN
import eu.kanade.tachiyomi.data.preference.ANIME_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.ANIME_NON_SEEN
import eu.kanade.tachiyomi.data.preference.DEVICE_BATTERY_NOT_LOW
import eu.kanade.tachiyomi.data.preference.DEVICE_CHARGING
import eu.kanade.tachiyomi.data.preference.DEVICE_NETWORK_NOT_METERED
import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI
import eu.kanade.tachiyomi.data.track.EnhancedAnimeTrackService
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.data.track.TrackService
@ -71,6 +63,14 @@ import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
import tachiyomi.domain.items.episode.model.Episode
import tachiyomi.domain.items.episode.model.NoEpisodesException
import tachiyomi.domain.library.anime.LibraryAnime
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.library.service.LibraryPreferences.Companion.ANIME_HAS_UNSEEN
import tachiyomi.domain.library.service.LibraryPreferences.Companion.ANIME_NON_COMPLETED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.ANIME_NON_SEEN
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_BATTERY_NOT_LOW
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_NETWORK_NOT_METERED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI
import tachiyomi.domain.source.anime.model.AnimeSourceNotInstalledException
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks

View file

@ -20,20 +20,12 @@ import eu.kanade.domain.entries.manga.model.copyFrom
import eu.kanade.domain.entries.manga.model.toSManga
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithSource
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.track.manga.model.toDbTrack
import eu.kanade.domain.track.manga.model.toDomainTrack
import eu.kanade.tachiyomi.R
import eu.kanade.tachiyomi.data.cache.MangaCoverCache
import eu.kanade.tachiyomi.data.download.manga.MangaDownloadManager
import eu.kanade.tachiyomi.data.notification.Notifications
import eu.kanade.tachiyomi.data.preference.DEVICE_BATTERY_NOT_LOW
import eu.kanade.tachiyomi.data.preference.DEVICE_CHARGING
import eu.kanade.tachiyomi.data.preference.DEVICE_NETWORK_NOT_METERED
import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI
import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import eu.kanade.tachiyomi.data.track.EnhancedMangaTrackService
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.data.track.TrackService
@ -71,6 +63,14 @@ import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
import tachiyomi.domain.items.chapter.model.Chapter
import tachiyomi.domain.items.chapter.model.NoChaptersException
import tachiyomi.domain.library.manga.LibraryManga
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_BATTERY_NOT_LOW
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_CHARGING
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_NETWORK_NOT_METERED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.DEVICE_ONLY_ON_WIFI
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_UNREAD
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ
import tachiyomi.domain.source.manga.model.SourceNotInstalledException
import tachiyomi.domain.source.manga.service.MangaSourceManager
import tachiyomi.domain.track.manga.interactor.GetMangaTracks

View file

@ -2,19 +2,6 @@ package eu.kanade.tachiyomi.data.preference
import eu.kanade.tachiyomi.R
const val DEVICE_ONLY_ON_WIFI = "wifi"
const val DEVICE_NETWORK_NOT_METERED = "network_not_metered"
const val DEVICE_CHARGING = "ac"
const val DEVICE_BATTERY_NOT_LOW = "battery_not_low"
const val MANGA_NON_COMPLETED = "manga_ongoing"
const val MANGA_HAS_UNREAD = "manga_fully_read"
const val MANGA_NON_READ = "manga_started"
const val ANIME_NON_COMPLETED = "anime_ongoing"
const val ANIME_HAS_UNSEEN = "anime_fully_seen"
const val ANIME_NON_SEEN = "anime_started"
const val FLAG_CATEGORIES = "1"
const val FLAG_CHAPTERS = "2"
const val FLAG_HISTORY = "4"

View file

@ -18,10 +18,7 @@ import eu.kanade.domain.entries.anime.interactor.UpdateAnime
import eu.kanade.domain.entries.anime.model.copyFrom
import eu.kanade.domain.entries.anime.model.toDomainAnime
import eu.kanade.domain.entries.anime.model.toSAnime
import eu.kanade.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.source.anime.interactor.GetRemoteAnime
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.domain.track.anime.model.toDomainTrack
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
@ -57,6 +54,9 @@ import tachiyomi.domain.entries.anime.interactor.NetworkToLocalAnime
import tachiyomi.domain.entries.anime.model.Anime
import tachiyomi.domain.entries.anime.model.toAnimeUpdate
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
import tachiyomi.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.anime.interactor.GetRemoteAnime
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
import uy.kohesive.injekt.Injekt

View file

@ -18,10 +18,7 @@ import eu.kanade.domain.entries.manga.interactor.UpdateManga
import eu.kanade.domain.entries.manga.model.copyFrom
import eu.kanade.domain.entries.manga.model.toDomainManga
import eu.kanade.domain.entries.manga.model.toSManga
import eu.kanade.domain.items.chapter.interactor.SetMangaDefaultChapterFlags
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.source.manga.interactor.GetRemoteManga
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.domain.track.manga.model.toDomainTrack
import eu.kanade.tachiyomi.data.cache.MangaCoverCache
@ -57,6 +54,9 @@ import tachiyomi.domain.entries.manga.interactor.NetworkToLocalManga
import tachiyomi.domain.entries.manga.model.Manga
import tachiyomi.domain.entries.manga.model.toMangaUpdate
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
import tachiyomi.domain.items.chapter.interactor.SetMangaDefaultChapterFlags
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.manga.interactor.GetRemoteManga
import tachiyomi.domain.source.manga.service.MangaSourceManager
import tachiyomi.domain.track.manga.interactor.InsertMangaTrack
import uy.kohesive.injekt.Injekt

View file

@ -4,13 +4,13 @@ import androidx.annotation.StringRes
import androidx.compose.runtime.Immutable
import cafe.adriel.voyager.core.model.StateScreenModel
import cafe.adriel.voyager.core.model.coroutineScope
import eu.kanade.domain.category.anime.interactor.CreateAnimeCategoryWithName
import eu.kanade.tachiyomi.R
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import tachiyomi.domain.category.anime.interactor.CreateAnimeCategoryWithName
import tachiyomi.domain.category.anime.interactor.DeleteAnimeCategory
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
import tachiyomi.domain.category.anime.interactor.RenameAnimeCategory

View file

@ -4,13 +4,13 @@ import androidx.annotation.StringRes
import androidx.compose.runtime.Immutable
import cafe.adriel.voyager.core.model.StateScreenModel
import cafe.adriel.voyager.core.model.coroutineScope
import eu.kanade.domain.category.manga.interactor.CreateMangaCategoryWithName
import eu.kanade.tachiyomi.R
import kotlinx.coroutines.channels.Channel
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
import tachiyomi.domain.category.manga.interactor.CreateMangaCategoryWithName
import tachiyomi.domain.category.manga.interactor.DeleteMangaCategory
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
import tachiyomi.domain.category.manga.interactor.RenameMangaCategory

View file

@ -14,10 +14,8 @@ import eu.kanade.domain.entries.anime.interactor.UpdateAnime
import eu.kanade.domain.entries.anime.model.downloadedFilter
import eu.kanade.domain.entries.anime.model.isLocal
import eu.kanade.domain.entries.anime.model.toSAnime
import eu.kanade.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
import eu.kanade.domain.items.episode.interactor.SetSeenStatus
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.track.anime.model.toDbTrack
import eu.kanade.domain.track.service.TrackPreferences
import eu.kanade.domain.ui.UiPreferences
@ -68,11 +66,13 @@ import tachiyomi.domain.entries.anime.interactor.GetDuplicateLibraryAnime
import tachiyomi.domain.entries.anime.interactor.SetAnimeEpisodeFlags
import tachiyomi.domain.entries.anime.model.Anime
import tachiyomi.domain.entries.applyFilter
import tachiyomi.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
import tachiyomi.domain.items.episode.model.Episode
import tachiyomi.domain.items.episode.model.EpisodeUpdate
import tachiyomi.domain.items.episode.model.NoEpisodesException
import tachiyomi.domain.items.episode.service.getEpisodeSort
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
import uy.kohesive.injekt.Injekt

View file

@ -14,10 +14,8 @@ import eu.kanade.domain.entries.manga.interactor.UpdateManga
import eu.kanade.domain.entries.manga.model.downloadedFilter
import eu.kanade.domain.entries.manga.model.isLocal
import eu.kanade.domain.entries.manga.model.toSManga
import eu.kanade.domain.items.chapter.interactor.SetMangaDefaultChapterFlags
import eu.kanade.domain.items.chapter.interactor.SetReadStatus
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithSource
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.track.manga.model.toDbTrack
import eu.kanade.domain.track.service.TrackPreferences
import eu.kanade.domain.ui.UiPreferences
@ -66,11 +64,13 @@ import tachiyomi.domain.entries.manga.interactor.GetDuplicateLibraryManga
import tachiyomi.domain.entries.manga.interactor.GetMangaWithChapters
import tachiyomi.domain.entries.manga.interactor.SetMangaChapterFlags
import tachiyomi.domain.entries.manga.model.Manga
import tachiyomi.domain.items.chapter.interactor.SetMangaDefaultChapterFlags
import tachiyomi.domain.items.chapter.interactor.UpdateChapter
import tachiyomi.domain.items.chapter.model.Chapter
import tachiyomi.domain.items.chapter.model.ChapterUpdate
import tachiyomi.domain.items.chapter.model.NoChaptersException
import tachiyomi.domain.items.chapter.service.getChapterSort
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.manga.service.MangaSourceManager
import tachiyomi.domain.track.manga.interactor.GetMangaTracks
import uy.kohesive.injekt.Injekt

View file

@ -4,7 +4,6 @@ import androidx.compose.runtime.Immutable
import cafe.adriel.voyager.core.model.StateScreenModel
import cafe.adriel.voyager.core.model.coroutineScope
import eu.kanade.core.util.insertSeparators
import eu.kanade.domain.history.anime.interactor.GetNextEpisodes
import eu.kanade.presentation.history.anime.AnimeHistoryUiModel
import eu.kanade.tachiyomi.util.lang.toDateKey
import kotlinx.coroutines.Dispatchers
@ -26,6 +25,7 @@ import tachiyomi.core.util.lang.launchIO
import tachiyomi.core.util.lang.withIOContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.history.anime.interactor.GetAnimeHistory
import tachiyomi.domain.history.anime.interactor.GetNextEpisodes
import tachiyomi.domain.history.anime.interactor.RemoveAnimeHistory
import tachiyomi.domain.history.anime.model.AnimeHistoryWithRelations
import tachiyomi.domain.items.episode.model.Episode

View file

@ -4,7 +4,6 @@ import androidx.compose.runtime.Immutable
import cafe.adriel.voyager.core.model.StateScreenModel
import cafe.adriel.voyager.core.model.coroutineScope
import eu.kanade.core.util.insertSeparators
import eu.kanade.domain.history.manga.interactor.GetNextChapters
import eu.kanade.presentation.history.manga.MangaHistoryUiModel
import eu.kanade.tachiyomi.util.lang.toDateKey
import kotlinx.coroutines.Dispatchers
@ -26,6 +25,7 @@ import tachiyomi.core.util.lang.launchIO
import tachiyomi.core.util.lang.withIOContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.history.manga.interactor.GetMangaHistory
import tachiyomi.domain.history.manga.interactor.GetNextChapters
import tachiyomi.domain.history.manga.interactor.RemoveMangaHistory
import tachiyomi.domain.history.manga.model.MangaHistoryWithRelations
import tachiyomi.domain.items.chapter.model.Chapter

View file

@ -33,7 +33,6 @@ import cafe.adriel.voyager.navigator.LocalNavigator
import cafe.adriel.voyager.navigator.currentOrThrow
import cafe.adriel.voyager.navigator.tab.LocalTabNavigator
import cafe.adriel.voyager.navigator.tab.TabNavigator
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.presentation.util.Screen
import eu.kanade.presentation.util.isTabletUi
@ -53,6 +52,7 @@ import kotlinx.coroutines.flow.receiveAsFlow
import kotlinx.coroutines.launch
import soup.compose.material.motion.animation.materialFadeThroughIn
import soup.compose.material.motion.animation.materialFadeThroughOut
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.presentation.core.components.material.NavigationBar
import tachiyomi.presentation.core.components.material.NavigationRail
import tachiyomi.presentation.core.components.material.Scaffold

View file

@ -17,9 +17,7 @@ import eu.kanade.core.util.fastPartition
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
import eu.kanade.domain.entries.anime.model.isLocal
import eu.kanade.domain.history.anime.interactor.GetNextEpisodes
import eu.kanade.domain.items.episode.interactor.SetSeenStatus
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.components.SEARCH_DEBOUNCE_MILLIS
import eu.kanade.presentation.entries.DownloadAction
import eu.kanade.presentation.library.LibraryToolbarTitle
@ -55,11 +53,13 @@ import tachiyomi.domain.entries.anime.interactor.GetLibraryAnime
import tachiyomi.domain.entries.anime.model.Anime
import tachiyomi.domain.entries.anime.model.AnimeUpdate
import tachiyomi.domain.entries.applyFilter
import tachiyomi.domain.history.anime.interactor.GetNextEpisodes
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
import tachiyomi.domain.items.episode.model.Episode
import tachiyomi.domain.library.anime.LibraryAnime
import tachiyomi.domain.library.anime.model.AnimeLibrarySort
import tachiyomi.domain.library.anime.model.sort
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.domain.track.anime.interactor.GetTracksPerAnime
import uy.kohesive.injekt.Injekt

View file

@ -3,19 +3,19 @@ package eu.kanade.tachiyomi.ui.library.anime
import cafe.adriel.voyager.core.model.ScreenModel
import cafe.adriel.voyager.core.model.coroutineScope
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.category.anime.interactor.SetDisplayModeForAnimeCategory
import eu.kanade.domain.category.anime.interactor.SetSortModeForAnimeCategory
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.util.preference.toggle
import tachiyomi.core.preference.Preference
import tachiyomi.core.preference.getAndSet
import tachiyomi.core.util.lang.launchIO
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
import tachiyomi.domain.category.anime.interactor.SetDisplayModeForAnimeCategory
import tachiyomi.domain.category.anime.interactor.SetSortModeForAnimeCategory
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.entries.TriStateFilter
import tachiyomi.domain.library.anime.model.AnimeLibrarySort
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.service.LibraryPreferences
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get

View file

@ -32,7 +32,6 @@ import cafe.adriel.voyager.navigator.currentOrThrow
import cafe.adriel.voyager.navigator.tab.LocalTabNavigator
import cafe.adriel.voyager.navigator.tab.TabOptions
import eu.kanade.domain.entries.anime.model.isLocal
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.category.ChangeCategoryDialog
import eu.kanade.presentation.entries.LibraryBottomActionMenu
import eu.kanade.presentation.library.DeleteLibraryEntryDialog
@ -60,6 +59,7 @@ import tachiyomi.domain.entries.anime.model.Anime
import tachiyomi.domain.items.episode.model.Episode
import tachiyomi.domain.library.anime.LibraryAnime
import tachiyomi.domain.library.model.display
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.screens.EmptyScreen
import tachiyomi.presentation.core.screens.EmptyScreenAction

View file

@ -17,9 +17,7 @@ import eu.kanade.core.util.fastPartition
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.entries.manga.interactor.UpdateManga
import eu.kanade.domain.entries.manga.model.isLocal
import eu.kanade.domain.history.manga.interactor.GetNextChapters
import eu.kanade.domain.items.chapter.interactor.SetReadStatus
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.components.SEARCH_DEBOUNCE_MILLIS
import eu.kanade.presentation.entries.DownloadAction
import eu.kanade.presentation.library.LibraryToolbarTitle
@ -55,11 +53,13 @@ import tachiyomi.domain.entries.applyFilter
import tachiyomi.domain.entries.manga.interactor.GetLibraryManga
import tachiyomi.domain.entries.manga.model.Manga
import tachiyomi.domain.entries.manga.model.MangaUpdate
import tachiyomi.domain.history.manga.interactor.GetNextChapters
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
import tachiyomi.domain.items.chapter.model.Chapter
import tachiyomi.domain.library.manga.LibraryManga
import tachiyomi.domain.library.manga.model.MangaLibrarySort
import tachiyomi.domain.library.manga.model.sort
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.manga.service.MangaSourceManager
import tachiyomi.domain.track.manga.interactor.GetTracksPerManga
import uy.kohesive.injekt.Injekt

View file

@ -3,19 +3,19 @@ package eu.kanade.tachiyomi.ui.library.manga
import cafe.adriel.voyager.core.model.ScreenModel
import cafe.adriel.voyager.core.model.coroutineScope
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.category.manga.interactor.SetDisplayModeForMangaCategory
import eu.kanade.domain.category.manga.interactor.SetSortModeForMangaCategory
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.util.preference.toggle
import tachiyomi.core.preference.Preference
import tachiyomi.core.preference.getAndSet
import tachiyomi.core.util.lang.launchIO
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
import tachiyomi.domain.category.manga.interactor.SetDisplayModeForMangaCategory
import tachiyomi.domain.category.manga.interactor.SetSortModeForMangaCategory
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.entries.TriStateFilter
import tachiyomi.domain.library.manga.model.MangaLibrarySort
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.service.LibraryPreferences
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get

View file

@ -31,7 +31,6 @@ import cafe.adriel.voyager.navigator.currentOrThrow
import cafe.adriel.voyager.navigator.tab.LocalTabNavigator
import cafe.adriel.voyager.navigator.tab.TabOptions
import eu.kanade.domain.entries.manga.model.isLocal
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.category.ChangeCategoryDialog
import eu.kanade.presentation.entries.LibraryBottomActionMenu
import eu.kanade.presentation.library.DeleteLibraryEntryDialog
@ -56,6 +55,7 @@ import tachiyomi.domain.category.model.Category
import tachiyomi.domain.entries.manga.model.Manga
import tachiyomi.domain.library.manga.LibraryManga
import tachiyomi.domain.library.model.display
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.presentation.core.components.material.Scaffold
import tachiyomi.presentation.core.screens.EmptyScreen
import tachiyomi.presentation.core.screens.EmptyScreenAction

View file

@ -53,7 +53,6 @@ import cafe.adriel.voyager.navigator.NavigatorDisposeBehavior
import cafe.adriel.voyager.navigator.currentOrThrow
import com.google.accompanist.systemuicontroller.rememberSystemUiController
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.source.service.SourcePreferences
import eu.kanade.domain.ui.UiPreferences
import eu.kanade.presentation.components.AppStateBanners
@ -93,7 +92,6 @@ import eu.kanade.tachiyomi.util.system.openInBrowser
import eu.kanade.tachiyomi.util.system.toast
import eu.kanade.tachiyomi.util.view.setComposeContent
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.cancel
import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.delay
import kotlinx.coroutines.flow.callbackFlow
@ -106,6 +104,7 @@ import kotlinx.coroutines.launch
import logcat.LogPriority
import tachiyomi.core.util.lang.launchIO
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.presentation.core.components.material.Scaffold
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get

View file

@ -19,7 +19,6 @@ import cafe.adriel.voyager.navigator.tab.LocalTabNavigator
import cafe.adriel.voyager.navigator.tab.TabOptions
import eu.kanade.core.preference.asState
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.more.MoreScreen
import eu.kanade.presentation.util.Tab
import eu.kanade.tachiyomi.R
@ -39,6 +38,7 @@ import kotlinx.coroutines.flow.asStateFlow
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.combine
import tachiyomi.core.util.lang.launchIO
import tachiyomi.domain.library.service.LibraryPreferences
import uy.kohesive.injekt.Injekt
import uy.kohesive.injekt.api.get
import uy.kohesive.injekt.injectLazy

View file

@ -9,7 +9,6 @@ import eu.kanade.core.util.asFlow
import eu.kanade.domain.base.BasePreferences
import eu.kanade.domain.entries.anime.interactor.SetAnimeViewerFlags
import eu.kanade.domain.entries.anime.model.isLocal
import eu.kanade.domain.history.anime.interactor.GetNextEpisodes
import eu.kanade.domain.items.episode.model.toDbEpisode
import eu.kanade.domain.track.anime.model.toDbTrack
import eu.kanade.domain.track.anime.service.DelayedAnimeTrackingUpdateJob
@ -64,6 +63,7 @@ import tachiyomi.core.util.system.logcat
import tachiyomi.domain.download.service.DownloadPreferences
import tachiyomi.domain.entries.anime.interactor.GetAnime
import tachiyomi.domain.entries.anime.model.Anime
import tachiyomi.domain.history.anime.interactor.GetNextEpisodes
import tachiyomi.domain.history.anime.interactor.UpsertAnimeHistory
import tachiyomi.domain.history.anime.model.AnimeHistoryUpdate
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId

View file

@ -11,7 +11,6 @@ import eu.kanade.domain.entries.manga.interactor.SetMangaViewerFlags
import eu.kanade.domain.entries.manga.model.isLocal
import eu.kanade.domain.entries.manga.model.orientationType
import eu.kanade.domain.entries.manga.model.readingModeType
import eu.kanade.domain.history.manga.interactor.GetNextChapters
import eu.kanade.domain.items.chapter.model.toDbChapter
import eu.kanade.domain.track.manga.model.toDbTrack
import eu.kanade.domain.track.manga.service.DelayedMangaTrackingUpdateJob
@ -69,6 +68,7 @@ import tachiyomi.core.util.system.logcat
import tachiyomi.domain.download.service.DownloadPreferences
import tachiyomi.domain.entries.manga.interactor.GetManga
import tachiyomi.domain.entries.manga.model.Manga
import tachiyomi.domain.history.manga.interactor.GetNextChapters
import tachiyomi.domain.history.manga.interactor.UpsertMangaHistory
import tachiyomi.domain.history.manga.model.MangaHistoryUpdate
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId

View file

@ -8,14 +8,10 @@ import eu.kanade.core.util.fastFilter
import eu.kanade.core.util.fastFilterNot
import eu.kanade.core.util.fastMapNotNull
import eu.kanade.domain.entries.anime.model.isLocal
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.more.stats.StatsScreenState
import eu.kanade.presentation.more.stats.data.StatsData
import eu.kanade.tachiyomi.animesource.model.SAnime
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadManager
import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import eu.kanade.tachiyomi.data.track.AnimeTrackService
import eu.kanade.tachiyomi.data.track.TrackManager
import kotlinx.coroutines.flow.update
@ -23,6 +19,10 @@ import tachiyomi.core.util.lang.launchIO
import tachiyomi.domain.entries.anime.interactor.GetLibraryAnime
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
import tachiyomi.domain.library.anime.LibraryAnime
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_UNREAD
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
import tachiyomi.domain.track.anime.model.AnimeTrack
import uy.kohesive.injekt.Injekt

View file

@ -8,13 +8,9 @@ import eu.kanade.core.util.fastFilter
import eu.kanade.core.util.fastFilterNot
import eu.kanade.core.util.fastMapNotNull
import eu.kanade.domain.entries.manga.model.isLocal
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.presentation.more.stats.StatsScreenState
import eu.kanade.presentation.more.stats.data.StatsData
import eu.kanade.tachiyomi.data.download.manga.MangaDownloadManager
import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import eu.kanade.tachiyomi.data.track.MangaTrackService
import eu.kanade.tachiyomi.data.track.TrackManager
import eu.kanade.tachiyomi.source.model.SManga
@ -23,6 +19,10 @@ import tachiyomi.core.util.lang.launchIO
import tachiyomi.domain.entries.manga.interactor.GetLibraryManga
import tachiyomi.domain.history.manga.interactor.GetTotalReadDuration
import tachiyomi.domain.library.manga.LibraryManga
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_HAS_UNREAD
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_COMPLETED
import tachiyomi.domain.library.service.LibraryPreferences.Companion.MANGA_NON_READ
import tachiyomi.domain.track.manga.interactor.GetMangaTracks
import tachiyomi.domain.track.manga.model.MangaTrack
import uy.kohesive.injekt.Injekt

View file

@ -12,7 +12,6 @@ import eu.kanade.core.preference.asState
import eu.kanade.core.util.addOrRemove
import eu.kanade.core.util.insertSeparators
import eu.kanade.domain.items.episode.interactor.SetSeenStatus
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.ui.UiPreferences
import eu.kanade.presentation.entries.anime.components.EpisodeDownloadAction
import eu.kanade.presentation.updates.anime.AnimeUpdatesUiModel
@ -41,6 +40,7 @@ import tachiyomi.domain.entries.anime.interactor.GetAnime
import tachiyomi.domain.items.episode.interactor.GetEpisode
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
import tachiyomi.domain.items.episode.model.EpisodeUpdate
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.domain.updates.anime.interactor.GetAnimeUpdates
import tachiyomi.domain.updates.anime.model.AnimeUpdatesWithRelations

View file

@ -12,7 +12,6 @@ import eu.kanade.core.preference.asState
import eu.kanade.core.util.addOrRemove
import eu.kanade.core.util.insertSeparators
import eu.kanade.domain.items.chapter.interactor.SetReadStatus
import eu.kanade.domain.library.service.LibraryPreferences
import eu.kanade.domain.ui.UiPreferences
import eu.kanade.presentation.entries.manga.components.ChapterDownloadAction
import eu.kanade.presentation.updates.manga.MangaUpdatesUiModel
@ -40,6 +39,7 @@ import tachiyomi.domain.entries.manga.interactor.GetManga
import tachiyomi.domain.items.chapter.interactor.GetChapter
import tachiyomi.domain.items.chapter.interactor.UpdateChapter
import tachiyomi.domain.items.chapter.model.ChapterUpdate
import tachiyomi.domain.library.service.LibraryPreferences
import tachiyomi.domain.source.manga.service.MangaSourceManager
import tachiyomi.domain.updates.manga.interactor.GetMangaUpdates
import tachiyomi.domain.updates.manga.model.MangaUpdatesWithRelations

View file

@ -1,6 +1,5 @@
package tachiyomi.data.source.anime
import androidx.paging.PagingSource
import androidx.paging.PagingState
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
@ -9,8 +8,25 @@ import eu.kanade.tachiyomi.animesource.model.SAnime
import tachiyomi.core.util.lang.awaitSingle
import tachiyomi.core.util.lang.withIOContext
import tachiyomi.domain.items.episode.model.NoEpisodesException
import tachiyomi.domain.source.anime.repository.AnimeSourcePagingSourceType
typealias AnimeSourcePagingSourceType = PagingSource<Long, SAnime>
class AnimeSourceSearchPagingSource(source: AnimeCatalogueSource, val query: String, val filters: AnimeFilterList) : AnimeSourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): AnimesPage {
return source.fetchSearchAnime(currentPage, query, filters).awaitSingle()
}
}
class AnimeSourcePopularPagingSource(source: AnimeCatalogueSource) : AnimeSourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): AnimesPage {
return source.fetchPopularAnime(currentPage).awaitSingle()
}
}
class AnimeSourceLatestPagingSource(source: AnimeCatalogueSource) : AnimeSourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): AnimesPage {
return source.fetchLatestUpdates(currentPage).awaitSingle()
}
}
abstract class AnimeSourcePagingSource(
protected val source: AnimeCatalogueSource,
@ -45,21 +61,3 @@ abstract class AnimeSourcePagingSource(
}
}
}
class AnimeSourceSearchPagingSource(source: AnimeCatalogueSource, val query: String, val filters: AnimeFilterList) : AnimeSourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): AnimesPage {
return source.fetchSearchAnime(currentPage, query, filters).awaitSingle()
}
}
class AnimeSourcePopularPagingSource(source: AnimeCatalogueSource) : AnimeSourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): AnimesPage {
return source.fetchPopularAnime(currentPage).awaitSingle()
}
}
class AnimeSourceLatestPagingSource(source: AnimeCatalogueSource) : AnimeSourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): AnimesPage {
return source.fetchLatestUpdates(currentPage).awaitSingle()
}
}

View file

@ -1,22 +1,17 @@
package eu.kanade.data.source.anime
package tachiyomi.data.source.anime
import eu.kanade.domain.source.anime.repository.AnimeSourceRepository
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import tachiyomi.data.handlers.anime.AnimeDatabaseHandler
import tachiyomi.data.source.anime.AnimeSourceLatestPagingSource
import tachiyomi.data.source.anime.AnimeSourcePagingSourceType
import tachiyomi.data.source.anime.AnimeSourcePopularPagingSource
import tachiyomi.data.source.anime.AnimeSourceSearchPagingSource
import tachiyomi.data.source.anime.animeSourceMapper
import tachiyomi.domain.source.anime.model.AnimeSource
import tachiyomi.domain.source.anime.model.AnimeSourceWithCount
import tachiyomi.domain.source.anime.model.StubAnimeSource
import tachiyomi.domain.source.anime.repository.AnimeSourcePagingSourceType
import tachiyomi.domain.source.anime.repository.AnimeSourceRepository
import tachiyomi.domain.source.anime.service.AnimeSourceManager
import tachiyomi.source.local.entries.anime.LocalAnimeSource
class AnimeSourceRepositoryImpl(
private val sourceManager: AnimeSourceManager,
@ -45,7 +40,6 @@ class AnimeSourceRepositoryImpl(
val sourceIdWithFavoriteCount = handler.subscribeToList { animesQueries.getAnimeSourceIdWithFavoriteCount() }
return sourceIdWithFavoriteCount.map { sourceIdsWithCount ->
sourceIdsWithCount
.filterNot { it.source == LocalAnimeSource.ID }
.map { (sourceId, count) ->
val source = sourceManager.getOrStub(sourceId)
val domainSource = animeSourceMapper(source).copy(

View file

@ -1,6 +1,5 @@
package tachiyomi.data.source.manga
import androidx.paging.PagingSource
import androidx.paging.PagingState
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.model.FilterList
@ -9,8 +8,25 @@ import eu.kanade.tachiyomi.source.model.SManga
import tachiyomi.core.util.lang.awaitSingle
import tachiyomi.core.util.lang.withIOContext
import tachiyomi.domain.items.chapter.model.NoChaptersException
import tachiyomi.domain.source.manga.repository.SourcePagingSourceType
typealias SourcePagingSourceType = PagingSource<Long, SManga>
class SourceSearchPagingSource(source: CatalogueSource, val query: String, val filters: FilterList) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchSearchManga(currentPage, query, filters).awaitSingle()
}
}
class SourcePopularPagingSource(source: CatalogueSource) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchPopularManga(currentPage).awaitSingle()
}
}
class SourceLatestPagingSource(source: CatalogueSource) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchLatestUpdates(currentPage).awaitSingle()
}
}
abstract class SourcePagingSource(
protected val source: CatalogueSource,
@ -45,21 +61,3 @@ abstract class SourcePagingSource(
}
}
}
class SourceSearchPagingSource(source: CatalogueSource, val query: String, val filters: FilterList) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchSearchManga(currentPage, query, filters).awaitSingle()
}
}
class SourcePopularPagingSource(source: CatalogueSource) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchPopularManga(currentPage).awaitSingle()
}
}
class SourceLatestPagingSource(source: CatalogueSource) : SourcePagingSource(source) {
override suspend fun requestNextPage(currentPage: Int): MangasPage {
return source.fetchLatestUpdates(currentPage).awaitSingle()
}
}

View file

@ -1,22 +1,17 @@
package eu.kanade.data.source.manga
package tachiyomi.data.source.manga
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
import eu.kanade.tachiyomi.source.CatalogueSource
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.online.HttpSource
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.map
import tachiyomi.data.handlers.manga.MangaDatabaseHandler
import tachiyomi.data.source.manga.SourceLatestPagingSource
import tachiyomi.data.source.manga.SourcePagingSourceType
import tachiyomi.data.source.manga.SourcePopularPagingSource
import tachiyomi.data.source.manga.SourceSearchPagingSource
import tachiyomi.data.source.manga.mangaSourceMapper
import tachiyomi.domain.source.manga.model.MangaSourceWithCount
import tachiyomi.domain.source.manga.model.Source
import tachiyomi.domain.source.manga.model.StubMangaSource
import tachiyomi.domain.source.manga.repository.MangaSourceRepository
import tachiyomi.domain.source.manga.repository.SourcePagingSourceType
import tachiyomi.domain.source.manga.service.MangaSourceManager
import tachiyomi.source.local.entries.manga.LocalMangaSource
class MangaSourceRepositoryImpl(
private val sourceManager: MangaSourceManager,
@ -45,7 +40,6 @@ class MangaSourceRepositoryImpl(
val sourceIdWithFavoriteCount = handler.subscribeToList { mangasQueries.getSourceIdWithFavoriteCount() }
return sourceIdWithFavoriteCount.map { sourceIdsWithCount ->
sourceIdsWithCount
.filterNot { it.source == LocalMangaSource.ID }
.map { (sourceId, count) ->
val source = sourceManager.getOrStub(sourceId)
val domainSource = mangaSourceMapper(source).copy(

View file

@ -20,5 +20,7 @@ dependencies {
implementation(platform(kotlinx.coroutines.bom))
implementation(kotlinx.bundles.coroutines)
api(libs.sqldelight.android.paging)
testImplementation(libs.junit)
}

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.category.anime.interactor
package tachiyomi.domain.category.anime.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import logcat.LogPriority
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.category.anime.repository.AnimeCategoryRepository
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.library.service.LibraryPreferences
class CreateAnimeCategoryWithName(
private val categoryRepository: AnimeCategoryRepository,

View file

@ -1,8 +1,8 @@
package eu.kanade.domain.category.anime.interactor
package tachiyomi.domain.category.anime.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.anime.repository.AnimeCategoryRepository
import tachiyomi.domain.library.model.plus
import tachiyomi.domain.library.service.LibraryPreferences
class ResetAnimeCategoryFlags(
private val preferences: LibraryPreferences,

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.category.anime.interactor
package tachiyomi.domain.category.anime.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.anime.repository.AnimeCategoryRepository
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.model.plus
import tachiyomi.domain.library.service.LibraryPreferences
class SetDisplayModeForAnimeCategory(
private val preferences: LibraryPreferences,

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.category.anime.interactor
package tachiyomi.domain.category.anime.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.anime.repository.AnimeCategoryRepository
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.library.anime.model.AnimeLibrarySort
import tachiyomi.domain.library.model.plus
import tachiyomi.domain.library.service.LibraryPreferences
class SetSortModeForAnimeCategory(
private val preferences: LibraryPreferences,

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.category.manga.interactor
package tachiyomi.domain.category.manga.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import logcat.LogPriority
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.core.util.system.logcat
import tachiyomi.domain.category.manga.repository.MangaCategoryRepository
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.library.service.LibraryPreferences
class CreateMangaCategoryWithName(
private val categoryRepository: MangaCategoryRepository,

View file

@ -1,8 +1,8 @@
package eu.kanade.domain.category.manga.interactor
package tachiyomi.domain.category.manga.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.manga.repository.MangaCategoryRepository
import tachiyomi.domain.library.model.plus
import tachiyomi.domain.library.service.LibraryPreferences
class ResetMangaCategoryFlags(
private val preferences: LibraryPreferences,

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.category.manga.interactor
package tachiyomi.domain.category.manga.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.manga.repository.MangaCategoryRepository
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.library.model.LibraryDisplayMode
import tachiyomi.domain.library.model.plus
import tachiyomi.domain.library.service.LibraryPreferences
class SetDisplayModeForMangaCategory(
private val preferences: LibraryPreferences,

View file

@ -1,11 +1,11 @@
package eu.kanade.domain.category.manga.interactor
package tachiyomi.domain.category.manga.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.domain.category.manga.repository.MangaCategoryRepository
import tachiyomi.domain.category.model.Category
import tachiyomi.domain.category.model.CategoryUpdate
import tachiyomi.domain.library.manga.model.MangaLibrarySort
import tachiyomi.domain.library.model.plus
import tachiyomi.domain.library.service.LibraryPreferences
class SetSortModeForMangaCategory(
private val preferences: LibraryPreferences,

View file

@ -1,4 +1,4 @@
package eu.kanade.domain.history.anime.interactor
package tachiyomi.domain.history.anime.interactor
import tachiyomi.domain.entries.anime.interactor.GetAnime
import tachiyomi.domain.history.anime.repository.AnimeHistoryRepository

View file

@ -1,4 +1,4 @@
package eu.kanade.domain.history.manga.interactor
package tachiyomi.domain.history.manga.interactor
import tachiyomi.domain.entries.manga.interactor.GetManga
import tachiyomi.domain.history.manga.repository.MangaHistoryRepository

View file

@ -1,10 +1,10 @@
package eu.kanade.domain.items.chapter.interactor
package tachiyomi.domain.items.chapter.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.domain.entries.manga.interactor.GetMangaFavorites
import tachiyomi.domain.entries.manga.interactor.SetMangaChapterFlags
import tachiyomi.domain.entries.manga.model.Manga
import tachiyomi.domain.library.service.LibraryPreferences
class SetMangaDefaultChapterFlags(
private val libraryPreferences: LibraryPreferences,

View file

@ -1,10 +1,10 @@
package eu.kanade.domain.items.episode.interactor
package tachiyomi.domain.items.episode.interactor
import eu.kanade.domain.library.service.LibraryPreferences
import tachiyomi.core.util.lang.withNonCancellableContext
import tachiyomi.domain.entries.anime.interactor.GetAnimeFavorites
import tachiyomi.domain.entries.anime.interactor.SetAnimeEpisodeFlags
import tachiyomi.domain.entries.anime.model.Anime
import tachiyomi.domain.library.service.LibraryPreferences
class SetAnimeDefaultEpisodeFlags(
private val libraryPreferences: LibraryPreferences,

View file

@ -1,9 +1,5 @@
package eu.kanade.domain.library.service
package tachiyomi.domain.library.service
import eu.kanade.tachiyomi.data.preference.DEVICE_ONLY_ON_WIFI
import eu.kanade.tachiyomi.data.preference.MANGA_HAS_UNREAD
import eu.kanade.tachiyomi.data.preference.MANGA_NON_COMPLETED
import eu.kanade.tachiyomi.data.preference.MANGA_NON_READ
import tachiyomi.core.preference.PreferenceStore
import tachiyomi.core.preference.getEnum
import tachiyomi.domain.entries.TriStateFilter
@ -33,9 +29,20 @@ class LibraryPreferences(
fun libraryUpdateLastTimestamp() = preferenceStore.getLong("library_update_last_timestamp", 0L)
fun libraryUpdateDeviceRestriction() = preferenceStore.getStringSet("library_update_restriction", setOf(DEVICE_ONLY_ON_WIFI))
fun libraryUpdateItemRestriction() = preferenceStore.getStringSet("library_update_manga_restriction", setOf(MANGA_HAS_UNREAD, MANGA_NON_COMPLETED, MANGA_NON_READ))
fun libraryUpdateDeviceRestriction() = preferenceStore.getStringSet(
"library_update_restriction",
setOf(
DEVICE_ONLY_ON_WIFI,
),
)
fun libraryUpdateItemRestriction() = preferenceStore.getStringSet(
"library_update_manga_restriction",
setOf(
MANGA_HAS_UNREAD,
MANGA_NON_COMPLETED,
MANGA_NON_READ,
),
)
fun autoUpdateMetadata() = preferenceStore.getBoolean("auto_update_metadata", false)
@ -150,4 +157,19 @@ class LibraryPreferences(
displayChapterByNameOrNumber().set(manga.displayMode)
sortChapterByAscendingOrDescending().set(if (manga.sortDescending()) Manga.CHAPTER_SORT_DESC else Manga.CHAPTER_SORT_ASC)
}
companion object {
const val DEVICE_ONLY_ON_WIFI = "wifi"
const val DEVICE_NETWORK_NOT_METERED = "network_not_metered"
const val DEVICE_CHARGING = "ac"
const val DEVICE_BATTERY_NOT_LOW = "battery_not_low"
const val MANGA_NON_COMPLETED = "manga_ongoing"
const val MANGA_HAS_UNREAD = "manga_fully_read"
const val MANGA_NON_READ = "manga_started"
const val ANIME_NON_COMPLETED = "anime_ongoing"
const val ANIME_HAS_UNSEEN = "anime_fully_seen"
const val ANIME_NON_SEEN = "anime_started"
}
}

View file

@ -1,8 +1,8 @@
package eu.kanade.domain.source.anime.interactor
package tachiyomi.domain.source.anime.interactor
import eu.kanade.domain.source.anime.repository.AnimeSourceRepository
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.source.anime.model.AnimeSourceWithCount
import tachiyomi.domain.source.anime.repository.AnimeSourceRepository
class GetAnimeSourcesWithNonLibraryAnime(
private val repository: AnimeSourceRepository,

View file

@ -1,8 +1,8 @@
package eu.kanade.domain.source.anime.interactor
package tachiyomi.domain.source.anime.interactor
import eu.kanade.domain.source.anime.repository.AnimeSourceRepository
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
import tachiyomi.data.source.anime.AnimeSourcePagingSourceType
import tachiyomi.domain.source.anime.repository.AnimeSourcePagingSourceType
import tachiyomi.domain.source.anime.repository.AnimeSourceRepository
class GetRemoteAnime(
private val repository: AnimeSourceRepository,

View file

@ -1,11 +1,14 @@
package eu.kanade.domain.source.anime.repository
package tachiyomi.domain.source.anime.repository
import androidx.paging.PagingSource
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
import eu.kanade.tachiyomi.animesource.model.SAnime
import kotlinx.coroutines.flow.Flow
import tachiyomi.data.source.anime.AnimeSourcePagingSourceType
import tachiyomi.domain.source.anime.model.AnimeSource
import tachiyomi.domain.source.anime.model.AnimeSourceWithCount
typealias AnimeSourcePagingSourceType = PagingSource<Long, SAnime>
interface AnimeSourceRepository {
fun getAnimeSources(): Flow<List<AnimeSource>>

View file

@ -1,8 +1,8 @@
package eu.kanade.domain.source.manga.interactor
package tachiyomi.domain.source.manga.interactor
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
import kotlinx.coroutines.flow.Flow
import tachiyomi.domain.source.manga.model.MangaSourceWithCount
import tachiyomi.domain.source.manga.repository.MangaSourceRepository
class GetMangaSourcesWithNonLibraryManga(
private val repository: MangaSourceRepository,

View file

@ -1,8 +1,8 @@
package eu.kanade.domain.source.manga.interactor
package tachiyomi.domain.source.manga.interactor
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
import eu.kanade.tachiyomi.source.model.FilterList
import tachiyomi.data.source.manga.SourcePagingSourceType
import tachiyomi.domain.source.manga.repository.MangaSourceRepository
import tachiyomi.domain.source.manga.repository.SourcePagingSourceType
class GetRemoteManga(
private val repository: MangaSourceRepository,

View file

@ -1,11 +1,14 @@
package eu.kanade.domain.source.manga.repository
package tachiyomi.domain.source.manga.repository
import androidx.paging.PagingSource
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.SManga
import kotlinx.coroutines.flow.Flow
import tachiyomi.data.source.manga.SourcePagingSourceType
import tachiyomi.domain.source.manga.model.MangaSourceWithCount
import tachiyomi.domain.source.manga.model.Source
typealias SourcePagingSourceType = PagingSource<Long, SManga>
interface MangaSourceRepository {
fun getMangaSources(): Flow<List<Source>>

View file

@ -786,4 +786,5 @@
<item quantity="other">%d فصل تالي</item>
</plurals>
<string name="pref_hide_in_library_items">إخفاء الإدخالات الموجودة بالفعل في المكتبة</string>
<string name="action_update_category">تحديث الفئة</string>
</resources>

View file

@ -761,4 +761,5 @@
<string name="seconds_short">%ds</string>
<string name="pref_hide_in_library_items">Amaga els elements que ja són a la biblioteca</string>
<string name="action_copy_to_clipboard">Copia al porta-retalls</string>
<string name="action_update_category">Actualitza la categoria</string>
</resources>

View file

@ -751,4 +751,5 @@
<item quantity="other">Dalších %d kapitol</item>
</plurals>
<string name="action_copy_to_clipboard">Zkopírovat do schránky</string>
<string name="action_update_category">Aktualizovat kategorii</string>
</resources>

View file

@ -146,7 +146,7 @@
<string name="label_extension_info">Хушма ҫинчен</string>
<string name="label_extensions">Хушмасем</string>
<string name="label_sources">Ҫӑл куҫсем</string>
<string name="label_recent_updates">Ҫӗнетӳсем</string>
<string name="label_recent_updates">Ҫӗнӗлӗх</string>
<string name="label_library">Вулавӑш</string>
<string name="label_settings">Ӗнерлев</string>
<string name="label_more">Тата</string>

View file

@ -736,4 +736,5 @@
<item quantity="other">Nächste %d Kapitel</item>
</plurals>
<string name="action_copy_to_clipboard">In die Zwischenablage kopieren</string>
<string name="action_update_category">Kategorie aktualisieren</string>
</resources>

View file

@ -736,4 +736,5 @@
</plurals>
<string name="pref_hide_in_library_items">Απόκρυψη καταχωρήσεων που βρίσκονται ήδη στη βιβλιοθήκη</string>
<string name="action_copy_to_clipboard">Αντιγραφή στο πρόχειρο</string>
<string name="action_update_category">Ενημέρωση κατηγορίας</string>
</resources>

View file

@ -329,7 +329,7 @@
<string name="theme_system">Según ajustes del sistema</string>
<string name="pref_manage_notifications">Gestionar notificaciones</string>
<string name="pref_category_security">Seguridad y privacidad</string>
<string name="lock_with_biometrics">Requiere el uso de desbloqueo por biometría</string>
<string name="lock_with_biometrics">Requiere desbloqueo</string>
<string name="lock_when_idle">Bloquear por inactividad</string>
<string name="lock_always">Siempre</string>
<string name="lock_never">Nunca</string>
@ -498,9 +498,9 @@
<string name="ext_nsfw_short">18+</string>
<string name="parental_controls_info">Esto no evita que las extensiones extraoficiales o que estén mal clasificadas muestren contenido para mayores de 18 años en la aplicación.</string>
<plurals name="missing_chapters_warning">
<item quantity="one">Se ha omitido un capítulo, esto podría deberse a que la fuente no lo tenga o a que tus ajustes lo estén filtrando</item>
<item quantity="many">Se han omitido %d capítulos, esto podría deberse a que la fuente no los tenga o a que tus ajustes los estén filtrando</item>
<item quantity="other">Se han omitido %d capítulos, esto podría deberse a que la fuente no los tenga o a que tus ajustes los estén filtrando</item>
<item quantity="one">Se salta el capítulo %d, o bien falta en la fuente o se ha filtrado</item>
<item quantity="many">Saltándose %d capítulos, o las fuentes que faltan o se han filtrado</item>
<item quantity="other">Saltándose %d capítulos, o las fuentes que faltan o se han filtrado</item>
</plurals>
<string name="no_chapters_error">No hay capítulos</string>
<string name="chapter_settings_updated">Se han actualizado los ajustes predeterminados de capítulo</string>
@ -779,4 +779,5 @@
</plurals>
<string name="pref_hide_in_library_items">Saltar elementos que ya estén en la biblioteca</string>
<string name="action_copy_to_clipboard">Copiar al portapapeles</string>
<string name="action_update_category">Actualizar categoría</string>
</resources>

View file

@ -742,4 +742,5 @@
<item quantity="one">Susunod na kabanata</item>
<item quantity="other">Susunod na %d (mga) kabanata</item>
</plurals>
<string name="action_update_category">I-update ang kategorya</string>
</resources>

View file

@ -777,4 +777,6 @@
<item quantity="many">%d chapitres suivants</item>
<item quantity="other">%d chapitres suivants</item>
</plurals>
<string name="action_copy_to_clipboard">Copier dans le presse-papier</string>
<string name="action_update_category">Mettre à jour la catégorie</string>
</resources>

View file

@ -699,4 +699,5 @@
<item quantity="few">Sljedeća %d poglavlja</item>
<item quantity="other">Sljedećih %d poglavlja</item>
</plurals>
<string name="action_update_category">Aktualiziraj katogoriju</string>
</resources>

View file

@ -716,4 +716,5 @@
<item quantity="other">berikutnya %d chapter</item>
</plurals>
<string name="action_copy_to_clipboard">Salin ke papan klip</string>
<string name="action_update_category">Perbarui kategori</string>
</resources>

View file

@ -328,7 +328,7 @@
<string name="pref_theme_mode">Tema scuro</string>
<string name="theme_light">Disattivo</string>
<string name="theme_dark">Attivo</string>
<string name="theme_system">Segui l\'impostazione di sistema</string>
<string name="theme_system">Usa il tema di sistema</string>
<string name="pref_manage_notifications">Gestisci le notifiche</string>
<string name="pref_category_security">Sicurezza e privacy</string>
<string name="lock_with_biometrics">Richiede sblocco</string>
@ -537,7 +537,7 @@
<string name="action_desc">Decrescente</string>
<string name="action_asc">Crescente</string>
<string name="action_order_by_chapter_number">Per numero di capitolo</string>
<string name="action_order_by_upload_date">Per data di aggiunta</string>
<string name="action_order_by_upload_date">Per data di caricamento</string>
<string name="action_filter_tracked">Tracciati</string>
<string name="action_display_show_number_of_items">Mostra numero elementi</string>
<string name="right_and_left_nav">Destra e Sinistra</string>
@ -782,4 +782,5 @@
</plurals>
<string name="pref_hide_in_library_items">Nascondi le voci già in libreria</string>
<string name="action_copy_to_clipboard">Copia negli appunti</string>
<string name="action_update_category">Aggiorna categoria</string>
</resources>

View file

@ -722,4 +722,5 @@
<plurals name="download_amount">
<item quantity="other">次の%d章</item>
</plurals>
<string name="action_update_category">カテゴリを更新</string>
</resources>

View file

@ -214,7 +214,7 @@
<string name="download_notifier_unknown_error">다운로드 중에 예기치 않은 오류가 발생하였습니다</string>
<string name="action_display_download_badge">다운로드한 챕터</string>
<string name="pref_update_only_non_completed">연재가 끝남</string>
<string name="default_category">기본 범주</string>
<string name="default_category">기본 카테고리</string>
<string name="pref_create_backup_summ">현재 서재를 나중에 복구하는 데 사용 가능</string>
<string name="pref_reader_navigation">네비게이션</string>
<string name="pref_page_transitions">페이지 전환 효과 표시</string>
@ -723,4 +723,5 @@
<plurals name="download_amount">
<item quantity="other">다음 %d화</item>
</plurals>
<string name="action_update_category">카테고리 업데이트</string>
</resources>

View file

@ -1,70 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="manga_categories">വിഭാഗങ്ങൾ</string>
<string name="unlock_app">ടാച്ചിയോമി അൺലോക്ക് ചെയ്യുക</string>
<string name="pref_remember_brightness">ഓർക്കുക, അവസാനം ഉപയോഗിച്ച തെളിച്ചത്തിലേക്ക് മാറുക</string>
<string name="player_title">%1$s - %2$s</string>
<string name="episode_download_progress">%1$d%%</string>
<string name="pref_remove_after_marked_as_read">വായിച്ചത്/കണ്ടത് എന്ന് സ്വമേധയാ അടയാളപ്പെടുത്തിയ ശേഷം</string>
<string name="pref_remove_after_read">വായിച്ചതിന് ശേഷം/കണ്ടതിന് ശേഷം സ്വയമേവ ഇല്ലാതാക്കുക</string>
<string name="player_aniskip_ed">അവസാന ഭാഗം ഒഴിവാക്കുക</string>
<string name="pref_waiting_time_aniskip_5">5 സെക്കൻഡ്</string>
<string name="pref_enable_netflix_style_aniskip">നെറ്റ്ഫ്ലിക്സ് ശൈലിയിൽ പ്രവർത്തനക്ഷമമാക്കുക</string>
<string name="pref_waiting_time_aniskip_10">10 സെക്കൻഡ്</string>
<string name="pref_waiting_time_aniskip_9">9 സെക്കൻഡ്</string>
<string name="action_sort_last_seen">അവസാനം കണ്ടത്</string>
<string name="action_display_show_continue_reading_button">കാണുന്നത് തുടരുക/വായിക്കുക ബട്ടൺ കാണിക്കുക</string>
<string name="unofficial_extension_message_aniyomi">ഈ വിപുലീകരണം ഔദ്യോഗിക ആനിയോമി വിപുലീകരണ പട്ടികയിൽ നിന്നുള്ളതല്ല.</string>
<string name="pref_category_player">കളിക്കാരൻ</string>
<string name="pref_category_progress">പുരോഗതി</string>
<string name="playback_options_quality">വീഡിയോ നിലവാരം</string>
<string name="pref_waiting_time_aniskip_8">8 സെക്കൻഡ്</string>
<string name="pref_waiting_time_aniskip_7">7 സെക്കൻഡ്</string>
<string name="settings">ക്രമീകരണങ്ങൾ</string>
<string name="player_aniskip_skip">%s ഒഴിവാക്കി</string>
<string name="action_mark_as_unseen">കണ്ടിട്ടില്ലെന്ന് അടയാളപ്പെടുത്തുക</string>
<string name="pref_waiting_time_aniskip_6">6 സെക്കൻഡ്</string>
<string name="pref_enable_auto_skip_ani_skip">സ്വയമേവ ഒഴിവാക്കൽ പ്രവർത്തനക്ഷമമാക്കുക</string>
<string name="player_aniskip_dontskip_toast">%d സെക്കൻഡിനുള്ളിൽ ഒഴിവാക്കുക</string>
<string name="action_mark_previous_as_seen">മുമ്പത്തേത് കണ്ടതായി അടയാളപ്പെടുത്തുക</string>
<string name="action_sort_last_checked">അവസാനം പരിശോധിച്ചത്</string>
<string name="action_sort_unseen_count">കാണാത്ത കണക്ക്</string>
<string name="player_aniskip_dontskip">ഒഴിവാക്കരുത്</string>
<string name="action_play">കളിക്കുക</string>
<string name="anime_categories">ആനിമെ വിഭാഗങ്ങൾ</string>
<string name="action_filter_unseen">കാണാത്തത്</string>
<string name="action_mark_as_seen">കണ്ടതായി അടയാളപ്പെടുത്തുക</string>
<string name="general_categories">വിഭാഗങ്ങൾ</string>
<string name="pref_incognito_mode_summary">നിങ്ങളുടെ ചരിത്രം താൽക്കാലികമായി നിർത്തുന്നു</string>
<string name="label_manga_library">മാങ്ക</string>
<string name="label_anime">ആനിമേ</string>
<string name="label_anime_library">ആനിമേ</string>
<plurals name="next_unseen_episodes">
<item quantity="one"/>
<item quantity="other"/>
</plurals>
<plurals name="notification_episodes_multiple_and_more">
<item quantity="one"/>
<item quantity="other"/>
</plurals>
<plurals name="notification_new_episodes_summary">
<item quantity="one"/>
<item quantity="other"/>
</plurals>
<plurals name="notification_episodes_generic">
<item quantity="one"/>
<item quantity="other"/>
</plurals>
<plurals name="seconds">
<item quantity="one"/>
<item quantity="other"/>
</plurals>
<plurals name="anime_num_episodes">
<item quantity="one"/>
<item quantity="other"/>
</plurals>
<plurals name="download_amount_anime">
<item quantity="one"/>
<item quantity="other"/>
</plurals>
</resources>

View file

@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="information_no_downloads">ഡൗൺലോഡുകളൊന്നുമില്ല</string>
<string name="information_no_recent">സമീപകാല അപ്‌ഡേറ്റുകളൊന്നുമില്ല</string>
<string name="track">ട്രാക്കിംഗ്</string>
<string name="history">ചരിത്രം</string>
<string name="label_settings">ക്രമീകരണങ്ങൾ</string>
<string name="label_recent_updates">അപ്ഡേറ്റുകൾ</string>
<string name="information_empty_library">നിങ്ങളുടെ ലൈബ്രറി ശൂന്യമാണ്</string>
<string name="information_empty_category">നിങ്ങൾക്ക് വിഭാഗങ്ങളൊന്നുമില്ല. നിങ്ങളുടെ ലൈബ്രറി ഓർഗനൈസുചെയ്യുന്നതിന് ഒന്ന് സൃഷ്‌ടിക്കാൻ പ്ലസ് ബട്ടൺ ടാപ്പുചെയ്യുക.</string>
<string name="label_default">സ്ഥിരസ്ഥിതി</string>
<string name="action_filter">ഫിൽട്ടർ ചെയ്യുക</string>
<string name="label_warning">മുന്നറിയിപ്പ്</string>
<string name="name">പേര്</string>
<string name="label_more">കൂടുതൽ</string>
<string name="label_library">പുസ്തകശാല</string>
<string name="label_recent_manga">ചരിത്രം</string>
<string name="label_sources">ഉറവിടങ്ങൾ</string>
<string name="label_backup">ബാക്കപ്പ് ചെയ്ത് പുനഃസ്ഥാപിക്കുക</string>
<string name="label_migration">മൈഗ്രേറ്റ് ചെയ്യുക</string>
<string name="label_extensions">വിപുലീകരണങ്ങൾ</string>
<string name="label_extension_info">വിപുലീകരണ വിവരം</string>
<string name="label_help">സഹായിക്കൂ</string>
<string name="manga">മാംഗ</string>
<string name="chapters">അധ്യായങ്ങൾ</string>
<string name="confirm_lock_change">മാറ്റം സ്ഥിരീകരിക്കാൻ പ്രാമാണീകരിക്കുക</string>
<string name="confirm_exit">പുറത്തുകടക്കാൻ വീണ്ടും അമർത്തുക</string>
<string name="action_settings">ക്രമീകരണങ്ങൾ</string>
<string name="action_menu">മെനു</string>
<string name="information_no_recent_manga">അടുത്തിടെ ഒന്നും വായിച്ചില്ല</string>
<string name="label_download_queue">ഡൗൺലോഡ് ക്യൂ</string>
</resources>

View file

@ -724,4 +724,5 @@
</plurals>
<string name="pref_hide_in_library_items">Sembunyikan entri yang sudah ada di dalam pustaka</string>
<string name="action_copy_to_clipboard">Salin ke papan keratan</string>
<string name="action_update_category">Kemas kini kategori</string>
</resources>

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="manga_categories">အမျိုးအစားများ</string>
<string name="unlock_app">Aniyomi ကိုဖွင့်ပါ</string>
<string name="default_manga_category">ပုံသေအမျိုးအစား</string>
</resources>

View file

@ -1,122 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_restore">ပြန်ရယူသည်</string>
<string name="action_open_log">Log ဖွင့်သည်</string>
<string name="action_undo">အရင်အတိုင်း</string>
<string name="action_reset">ပြန်စသည်</string>
<string name="action_save">သိမ်းဆည်းသည်</string>
<string name="action_share">မျှဝေသည်</string>
<string name="action_install">Install</string>
<string name="action_move_to_bottom">အောက်ခြေသို့ရွှေ့သည်</string>
<string name="action_move_to_top">ထိပ်သို့ရွှေ့သည်</string>
<string name="action_desc">ကြီးစဉ်ငယ်လိုက်</string>
<string name="action_asc">ငယ်စဉ်ကြီးလိုက်</string>
<string name="action_oldest">အဟောင်းဆုံး</string>
<string name="action_newest">အသစ်ဆုံး</string>
<string name="action_order_by_chapter_number">အခန်းနံပါတ်အလိုက်</string>
<string name="action_order_by_upload_date">တင်သည့်နေ့စွဲအလိုက်</string>
<string name="action_reorganize_by">ပြန်စဉ်သည်</string>
<string name="action_sort">စဉ်သည်</string>
<string name="action_cancel_all">အားလုံးပယ်ဖျက်သည်</string>
<string name="action_cancel">ပယ်ဖျက်သည်</string>
<string name="action_unpin">ပင်ဖြုတ်သည်</string>
<string name="action_pin">ပင်ချိတ်သည်</string>
<string name="action_disable">ဖြုတ်သည်</string>
<string name="action_display_show_number_of_items">ပစ္စည်းအရေအတွက်ကိုပြသည်</string>
<string name="action_display_show_tabs">အမျိုးအစားတန်းကိုပြသည်</string>
<string name="action_display_download_badge">ဒေါင်းလုဒ်အမှတ်အသားများ</string>
<string name="action_display_comfortable_grid">အနေတော်ဇယား</string>
<string name="action_display_list">စာရင်းစဉ်</string>
<string name="action_display_grid">ဇယားအကျဉ်း</string>
<string name="action_display">ပြသပုံ</string>
<string name="action_display_mode">ပြသသည့်ပုံစံ</string>
<string name="action_migrate">ရွှေ့ပြောင်းသည်</string>
<string name="action_open_in_web_view">WebView တွင်ဖွင့်သည်</string>
<string name="action_open_in_browser">Browser တွင်ဖွင့်သည်</string>
<string name="action_resume">ဆက်လုပ်သည်</string>
<string name="action_start">စတင်သည်</string>
<string name="action_remove">ဖယ်ရှားသည်</string>
<string name="action_retry">ပြန်လုပ်မည်</string>
<string name="action_next_chapter">နောက်အခန်း</string>
<string name="action_previous_chapter">ရှေ့အခန်း</string>
<string name="action_pause">ခေတ္တရပ်</string>
<string name="action_stop">အပြီးရပ်</string>
<string name="action_view_chapters">အခန်းများကိုကြည့်သည်</string>
<string name="action_edit_cover">အဖုံးကိုပြင်ရန်</string>
<string name="action_move_category">အမျိုးအစားသတ်မှတ်သည်</string>
<string name="action_rename_category">အမျိုးအစားအမည်ပြင်သည်</string>
<string name="action_edit_categories">အမျိုးအစားများပြင်ရန်</string>
<string name="action_add_category">အမျိုးအစားထည့်ပါ</string>
<string name="action_add">ထည့်သည်</string>
<string name="action_edit">ပြင်ဆင်သည်</string>
<string name="action_disable_all">အားလုံးပိတ်</string>
<string name="action_enable_all">အားလုံးဖွင့်</string>
<string name="action_update_library">စာအုပ်စင်ကိုအပ်ဒိပ်လုပ်သည်</string>
<string name="action_delete">ဖျက်သည်</string>
<string name="action_remove_bookmark">အခန်းကိုစာညှပ်ဖြုတ်သည်</string>
<string name="action_bookmark">အခန်းကိုစာညှပ်မှတ်သည်</string>
<string name="action_download">ဒေါင်းလုဒ်</string>
<string name="action_mark_previous_as_read">နောက်ရှိအားလုံးကိုဖတ်ပြီးသတ်မှတ်သည်</string>
<string name="action_mark_as_unread">မဖတ်ရသေးဟုသည်မှတ်သည်</string>
<string name="action_mark_as_read">ဖတ်ပြီးဟုသတ်မှတ်သည်</string>
<string name="action_select_inverse">ပြောင်းပြန်ရွေးချယ်ရန်</string>
<string name="action_select_all">အားလုံးရွေးချယ်သည်</string>
<string name="action_global_search">နေရာအနှံ့ရှာဖွေခြင်း</string>
<string name="action_search_settings">ရှာဖွေမှုဆက်တင်များ</string>
<string name="action_search">ရှာဖွေရန်</string>
<string name="action_sort_date_added">ထည့်ခဲ့သောရက်စွဲအရ</string>
<string name="action_sort_latest_chapter">နောက်ဆုံးထွက်အခန်းအရ</string>
<string name="action_sort_last_read">နောက်ဆုံးဖတ်ခဲ့သော</string>
<string name="action_sort_total">အခန်းစုစုပေါင်း</string>
<string name="action_sort_alpha">အက္ခရာစဉ်အလိုက်</string>
<string name="action_filter_empty">စစ်ထုတ်မှုဖယ်ရှားရန်</string>
<string name="action_filter_unread">မဖတ်ရသေးသော</string>
<string name="action_filter_tracked">ခြေရာခံထားသော</string>
<string name="action_filter_bookmarked">စာညှပ်ထားသော</string>
<string name="action_filter">စစ်ထုတ်သည်</string>
<string name="action_menu">မီနူး</string>
<string name="action_settings">ဆက်တင်များ</string>
<string name="confirm_exit">ထွက်ရန်နောက်တစ်ကြိမ်ထပ်နှိပ်ပါ</string>
<string name="history">မှတ်တမ်း</string>
<string name="track">ခြေရာခံမှု</string>
<string name="chapters">အပိုင်းများ</string>
<string name="manga">Manga</string>
<string name="information_empty_category">အမျိုးအစားများမရှိသေးပါ။သင့်စာအုပ်စင်ကို အမျိုးအစားခွဲခြားမှုပြုလုပ်ရန် အပေါင်းခလုပ်ကိုနှိပ်ပါ။</string>
<string name="information_empty_library">စာအုပ်စင်မှာဘာမှမရှိပါ။ရှာဖွေခြင်းသို့သွားကာ စာစဉ်များထည့်လိုက်ပါ။</string>
<string name="information_no_recent_manga">လတ်တလောဖတ်ထားသည်များမရှိပါ</string>
<string name="information_no_recent">လတ်တလောအပ်ဒိတ်များမရှိသေးပါ</string>
<string name="information_no_downloads">ဒေါင်းလုဒ်များမရှိပါ</string>
<string name="label_help">အကူအညီ</string>
<string name="label_extension_info">ထပ်တိုးအချက်အလက်</string>
<string name="label_extensions">ထပ်တိုးများ</string>
<string name="label_migration">ပြောင်းရွှေ့သည်</string>
<string name="label_backup">အရံ</string>
<string name="label_sources">ပင်မနေရာများ</string>
<string name="label_recent_manga">မှတ်တမ်း</string>
<string name="label_recent_updates">အပ်ဒိတ်များ</string>
<string name="label_library">စာအုပ်စင်</string>
<string name="label_settings">ဆက်တင်များ</string>
<string name="label_more">နောက်ထပ်</string>
<string name="name">အမည်</string>
<string name="pref_category_reader">စာဖတ်ကိရိယာ</string>
<string name="pref_category_about">အကြောင်း</string>
<string name="pref_category_advanced">ပိုမိုဆက်လက်၍</string>
<string name="pref_category_tracking">ခြေရာခံခြင်း</string>
<string name="pref_category_downloads">Download များ</string>
<string name="pref_category_library">စာကြည့်တိုက်</string>
<string name="pref_category_general">အထွေထွေ</string>
<string name="app_not_available">App မရနိုင်ပါ</string>
<string name="loading">လုပ်ဆောင်နေသည်…</string>
<string name="action_webview_refresh">ပြန်ရယူမည်</string>
<string name="action_webview_forward">ရှေ့သို့</string>
<string name="action_webview_back">နောက်သို့</string>
<string name="updating_library">Library ကိုအပ်ဒိတ်လုပ်နေပါတယ်</string>
<string name="no_chapters_error">မည်သည့်အပိုင်းမျှမရှိပါ</string>
<string name="lock_when_idle">အသုံးမပြုချိန်တွင်သော့ခတ်မည်</string>
<string name="completed">ထုတ်ဝေမှုပြီးစီး</string>
<string name="licensed">လိုင်စင်လုပ်ပြီး</string>
<string name="unknown">မသိရှိပါ</string>
<string name="ongoing">Ongoing</string>
<string name="title">နာမည်</string>
<string name="label_download_queue">ဒေါင်းလုဒ်အစဉ်</string>
</resources>

View file

@ -237,7 +237,7 @@
<string name="transition_pages_loading">Laster inn sider…</string>
<string name="transition_pages_error">Klarte ikke å laste inn sider: %1$s</string>
<string name="migration_dialog_what_to_include">Velg data å inkludere</string>
<string name="migrate">Migrer</string>
<string name="migrate">Flytt</string>
<string name="copy">Kopier</string>
<string name="notification_new_chapters">Nye kapitler funnet</string>
<string name="notification_cover_update_failed">Klarte ikke å oppdatere omslag</string>
@ -276,7 +276,7 @@
<string name="filter_mode_lighten">Unngå / lysne</string>
<string name="filter_mode_darken">Brenn / mørkere</string>
<string name="no_results_found">Resultatløst</string>
<string name="migration_selection_prompt">Velg en kilde å migrere fra</string>
<string name="migration_selection_prompt">Velg en kilde å flytte fra</string>
<string name="action_webview_back">Tilbake</string>
<string name="action_webview_forward">Fram</string>
<string name="action_webview_refresh">Gjenoppfrisk</string>
@ -359,7 +359,7 @@
</plurals>
<string name="action_display_show_tabs">Vis kategorifaner</string>
<string name="action_display_comfortable_grid">Komfortabelt rutenett</string>
<string name="action_migrate">Migrer</string>
<string name="action_migrate">Flytt</string>
<string name="action_start">Start</string>
<string name="tapping_inverted_both">Begge</string>
<string name="tapping_inverted_vertical">loddrett</string>
@ -473,7 +473,7 @@
<string name="spen_previous_page">Forrige side</string>
<string name="channel_crash_logs">Feillogg</string>
<string name="file_picker_error">Ingen app for filvelging funnet</string>
<string name="migration_help_guide">Veiledning for kildemigrering</string>
<string name="migration_help_guide">Veiledning for kilde-flytting</string>
<string name="clear_history_confirmation">Er du sikker\? All historikk vil gå tapt.</string>
<string name="clear_history_completed">Historikken er slettet</string>
<string name="pref_clear_history">Slett historikk</string>
@ -635,7 +635,7 @@
<string name="channel_skipped">Hoppet over</string>
<string name="disabled_nav">Deaktivert</string>
<string name="empty_backup_error">Ingen bibliotekoppføringer å sikkerhetskopiere</string>
<string name="update_check_fdroid_migration_info">En ny versjon er tilgjengelig gjennom offisielle kanaler. Trykk for å lære hvordan du kan migrere fra den uoffisielle F-Droid varianten.</string>
<string name="update_check_fdroid_migration_info">En ny versjon er tilgjengelig gjennom offisielle kanaler. Trykk for å lære hvordan du kan flytte over fra den uoffisielle F-Droid varianten.</string>
<string name="error_saving_picture">Feil ved lagring av bilde</string>
<string name="update_check_open">Åpne på GitHub</string>
<string name="action_close">Lukk</string>
@ -736,4 +736,5 @@
</plurals>
<string name="pref_hide_in_library_items">Skjul oppføringer som allerede er i biblioteket</string>
<string name="action_copy_to_clipboard">Kopier til utklippstavle</string>
<string name="action_update_category">Oppdater kategori</string>
</resources>

View file

@ -69,8 +69,8 @@
<string name="action_remove_bookmark">अध्याय अनबुकमार्क गर्नुहोस्</string>
<string name="action_bookmark">अध्याय बुकमार्क गर्नुहोस्</string>
<string name="action_download">डाउनलोड</string>
<string name="action_mark_previous_as_read">पढिसकेको भनेर अंकित गर्नुहोस्</string>
<string name="action_mark_as_unread">नपढिएको चिन्ह लगाउनुहोस्</string>
<string name="action_mark_previous_as_read">पढिएको भनी अघिल्लोलाई चिनो लगाउनुहोस्</string>
<string name="action_mark_as_unread">नपढिएको चिन लगाउनुहोस्</string>
<string name="action_mark_as_read">पढिसकेको अंकित गर्नुहोस्</string>
<string name="action_select_all">सबै चयन गर्नु</string>
<string name="action_global_search">ग्लोबल खोजी</string>
@ -80,7 +80,7 @@
<string name="action_sort_total">कुल अध्यायहरू</string>
<string name="action_sort_alpha">वर्णानुक्रम अनुसार</string>
<string name="action_filter_empty">फिल्टर हटाउनुहोस्</string>
<string name="action_filter_unread">अपठित</string>
<string name="action_filter_unread">नपढिएको</string>
<string name="action_filter_tracked">ट्र्याक गरिएको</string>
<string name="action_filter_bookmarked">बुकमार्क गरिएको</string>
<string name="action_filter_downloaded">डाउनलोड गरिएको</string>
@ -122,7 +122,7 @@
<string name="pref_update_only_non_completed">\"समाप्त\" स्थिति भएको</string>
<string name="restrictions">प्रतिबन्धहरु: %s</string>
<string name="charging">चार्ज हुँदा</string>
<string name="pref_library_update_restriction">स्वचालित अपडेटहरु उपकरण प्रतिबन्धहरू</string>
<string name="pref_library_update_restriction">स्वचालित अपडेटहरु यन्त्र प्रतिबन्धहरू</string>
<string name="update_weekly">साप्ताहिक</string>
<string name="update_48hour">प्रत्येक २ दिन</string>
<string name="update_24hour">दैनिक</string>
@ -222,7 +222,7 @@
<string name="pref_true_color_summary">ब्यान्डिङ घटाउँछ, तर प्रदर्शनलाई असर गर्छ</string>
<string name="on">अन</string>
<string name="pref_custom_brightness">कस्टम चमक</string>
<string name="pref_skip_read_chapters">पढिसकेको चिन्ह लगाइएका अध्यायहरू छोड्नुहोस्</string>
<string name="pref_skip_read_chapters">पढिएको चिनो लगाइएका अध्यायहरू छोड्नुहोस्</string>
<string name="pref_reader_navigation">नेभिगेसन</string>
<string name="pref_read_with_volume_keys">भोल्युम कुञ्जीहरू</string>
<string name="tapping_inverted_vertical">ठाडो</string>
@ -577,7 +577,7 @@
</plurals>
<string name="repeating">फेरी पढ्दै</string>
<string name="transition_current">वर्तमान:</string>
<string name="error_no_match">कुनै मेल भेटिए</string>
<string name="error_no_match">कुनै मेल फेला परे</string>
<string name="myanimelist_relogin">कृपया MAL मा फेरि लगइन गर्नुहोस्</string>
<string name="source_unsupported">स्रोत समर्थित छैन</string>
<string name="error_category_exists">सो नाम गरिएको वर्ग पहिले नै अवस्थित छ!</string>
@ -635,7 +635,7 @@
<string name="notification_update_skipped">%1$d अपडेट(हरू) छोडियो</string>
<string name="disabled_nav">अक्षम</string>
<string name="library_errors_help">पुस्तकालय अपडेट त्रुटिहरू कसरी समाधान गर्ने भन्ने बारे मद्दतको लागि, %1$s हेर्नुहोस्</string>
<string name="action_sort_unread_count">अपठित संख्या</string>
<string name="action_sort_unread_count">नपढिएको संख्या</string>
<string name="action_close">बन्द</string>
<string name="pref_library_summary">वर्गहरु, ग्लोबल अपडेट</string>
<string name="delete_category_confirmation">के तपाई \"%s\" वर्ग हटाउन चाहनु हुन्छ\?</string>
@ -654,7 +654,7 @@
<string name="pref_long_strip_split">अग्लो छविहरू विभाजित गर्नुहोस् (BETA)</string>
<string name="multi_lang">थुप्रै</string>
<string name="pref_skip_dupe_chapters">डुप्लिकेट अध्यायहरू छोड्नुहोस्</string>
<string name="action_display_show_continue_reading_button">\'पढाइ जारी राख्नुहोस्\' बटन देखाउनुहोस्</string>
<string name="action_display_show_continue_reading_button">\'पढ्न जारी राख्नुहोस्\' बटन देखाउनुहोस्</string>
<string name="label_stats">तथ्याङ्क</string>
<string name="label_started">सुरु गरेको</string>
<string name="label_local">लोकल</string>
@ -765,4 +765,5 @@
<string name="error_user_agent_string_invalid">अवैध युजर एजेन्ट स्ट्रिङ</string>
<string name="day_short">%dदि</string>
<string name="hour_short">%dघ</string>
<string name="action_update_category">वर्ग अपडेट गर्नुहोस्</string>
</resources>

Some files were not shown because too many files have changed in this diff Show more