mirror of
https://github.com/aniyomiorg/aniyomi.git
synced 2024-11-28 09:15:12 +03:00
parent
c2bfd97e38
commit
e784d9cdc6
196 changed files with 457 additions and 378 deletions
|
@ -290,7 +290,6 @@ androidComponents {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
|
|
||||||
withType<LintTask>().configureEach {
|
withType<LintTask>().configureEach {
|
||||||
exclude { it.file.path.contains("generated[\\\\/]".toRegex()) }
|
exclude { it.file.path.contains("generated[\\\\/]".toRegex()) }
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,43 +3,17 @@ package eu.kanade.domain
|
||||||
import eu.kanade.data.source.anime.AnimeSourceRepositoryImpl
|
import eu.kanade.data.source.anime.AnimeSourceRepositoryImpl
|
||||||
import eu.kanade.data.source.manga.MangaSourceRepositoryImpl
|
import eu.kanade.data.source.manga.MangaSourceRepositoryImpl
|
||||||
import eu.kanade.domain.category.anime.interactor.CreateAnimeCategoryWithName
|
import eu.kanade.domain.category.anime.interactor.CreateAnimeCategoryWithName
|
||||||
import eu.kanade.domain.category.anime.interactor.DeleteAnimeCategory
|
|
||||||
import eu.kanade.domain.category.anime.interactor.RenameAnimeCategory
|
|
||||||
import eu.kanade.domain.category.anime.interactor.ReorderAnimeCategory
|
|
||||||
import eu.kanade.domain.category.anime.interactor.ResetAnimeCategoryFlags
|
import eu.kanade.domain.category.anime.interactor.ResetAnimeCategoryFlags
|
||||||
import eu.kanade.domain.category.anime.interactor.SetAnimeCategories
|
|
||||||
import eu.kanade.domain.category.anime.interactor.SetDisplayModeForAnimeCategory
|
import eu.kanade.domain.category.anime.interactor.SetDisplayModeForAnimeCategory
|
||||||
import eu.kanade.domain.category.anime.interactor.SetSortModeForAnimeCategory
|
import eu.kanade.domain.category.anime.interactor.SetSortModeForAnimeCategory
|
||||||
import eu.kanade.domain.category.anime.interactor.UpdateAnimeCategory
|
|
||||||
import eu.kanade.domain.category.manga.interactor.CreateMangaCategoryWithName
|
import eu.kanade.domain.category.manga.interactor.CreateMangaCategoryWithName
|
||||||
import eu.kanade.domain.category.manga.interactor.DeleteMangaCategory
|
|
||||||
import eu.kanade.domain.category.manga.interactor.RenameMangaCategory
|
|
||||||
import eu.kanade.domain.category.manga.interactor.ReorderMangaCategory
|
|
||||||
import eu.kanade.domain.category.manga.interactor.ResetMangaCategoryFlags
|
import eu.kanade.domain.category.manga.interactor.ResetMangaCategoryFlags
|
||||||
import eu.kanade.domain.category.manga.interactor.SetDisplayModeForMangaCategory
|
import eu.kanade.domain.category.manga.interactor.SetDisplayModeForMangaCategory
|
||||||
import eu.kanade.domain.category.manga.interactor.SetMangaCategories
|
|
||||||
import eu.kanade.domain.category.manga.interactor.SetSortModeForMangaCategory
|
import eu.kanade.domain.category.manga.interactor.SetSortModeForMangaCategory
|
||||||
import eu.kanade.domain.category.manga.interactor.UpdateMangaCategory
|
|
||||||
import eu.kanade.domain.download.anime.interactor.DeleteAnimeDownload
|
import eu.kanade.domain.download.anime.interactor.DeleteAnimeDownload
|
||||||
import eu.kanade.domain.download.manga.interactor.DeleteChapterDownload
|
import eu.kanade.domain.download.manga.interactor.DeleteChapterDownload
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnimeFavorites
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnimeWithEpisodes
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetDuplicateLibraryAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetLibraryAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.NetworkToLocalAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.ResetAnimeViewerFlags
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.SetAnimeEpisodeFlags
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.SetAnimeViewerFlags
|
import eu.kanade.domain.entries.anime.interactor.SetAnimeViewerFlags
|
||||||
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetDuplicateLibraryManga
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetLibraryManga
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetManga
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetMangaFavorites
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetMangaWithChapters
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.NetworkToLocalManga
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.ResetMangaViewerFlags
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.SetMangaChapterFlags
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.SetMangaViewerFlags
|
import eu.kanade.domain.entries.manga.interactor.SetMangaViewerFlags
|
||||||
import eu.kanade.domain.entries.manga.interactor.UpdateManga
|
import eu.kanade.domain.entries.manga.interactor.UpdateManga
|
||||||
import eu.kanade.domain.extension.anime.interactor.GetAnimeExtensionLanguages
|
import eu.kanade.domain.extension.anime.interactor.GetAnimeExtensionLanguages
|
||||||
|
@ -53,14 +27,10 @@ import eu.kanade.domain.history.manga.interactor.GetNextChapters
|
||||||
import eu.kanade.domain.items.chapter.interactor.SetReadStatus
|
import eu.kanade.domain.items.chapter.interactor.SetReadStatus
|
||||||
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithSource
|
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithSource
|
||||||
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
|
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
|
||||||
import eu.kanade.domain.items.chapter.interactor.UpdateChapter
|
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisode
|
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisodeByAnimeId
|
|
||||||
import eu.kanade.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
|
import eu.kanade.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
|
||||||
import eu.kanade.domain.items.episode.interactor.SetSeenStatus
|
import eu.kanade.domain.items.episode.interactor.SetSeenStatus
|
||||||
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
|
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
|
||||||
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
||||||
import eu.kanade.domain.items.episode.interactor.UpdateEpisode
|
|
||||||
import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithFavoriteCount
|
import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithFavoriteCount
|
||||||
import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithNonLibraryAnime
|
import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithNonLibraryAnime
|
||||||
import eu.kanade.domain.source.anime.interactor.GetEnabledAnimeSources
|
import eu.kanade.domain.source.anime.interactor.GetEnabledAnimeSources
|
||||||
|
@ -79,14 +49,6 @@ import eu.kanade.domain.source.manga.interactor.ToggleMangaSourcePin
|
||||||
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
|
import eu.kanade.domain.source.manga.repository.MangaSourceRepository
|
||||||
import eu.kanade.domain.source.service.SetMigrateSorting
|
import eu.kanade.domain.source.service.SetMigrateSorting
|
||||||
import eu.kanade.domain.source.service.ToggleLanguage
|
import eu.kanade.domain.source.service.ToggleLanguage
|
||||||
import eu.kanade.domain.track.anime.interactor.DeleteAnimeTrack
|
|
||||||
import eu.kanade.domain.track.anime.interactor.GetAnimeTracks
|
|
||||||
import eu.kanade.domain.track.anime.interactor.GetTracksPerAnime
|
|
||||||
import eu.kanade.domain.track.anime.interactor.InsertAnimeTrack
|
|
||||||
import eu.kanade.domain.track.manga.interactor.DeleteMangaTrack
|
|
||||||
import eu.kanade.domain.track.manga.interactor.GetMangaTracks
|
|
||||||
import eu.kanade.domain.track.manga.interactor.GetTracksPerManga
|
|
||||||
import eu.kanade.domain.track.manga.interactor.InsertMangaTrack
|
|
||||||
import tachiyomi.data.category.anime.AnimeCategoryRepositoryImpl
|
import tachiyomi.data.category.anime.AnimeCategoryRepositoryImpl
|
||||||
import tachiyomi.data.category.manga.MangaCategoryRepositoryImpl
|
import tachiyomi.data.category.manga.MangaCategoryRepositoryImpl
|
||||||
import tachiyomi.data.entries.anime.AnimeRepositoryImpl
|
import tachiyomi.data.entries.anime.AnimeRepositoryImpl
|
||||||
|
@ -101,11 +63,37 @@ import tachiyomi.data.track.anime.AnimeTrackRepositoryImpl
|
||||||
import tachiyomi.data.track.manga.MangaTrackRepositoryImpl
|
import tachiyomi.data.track.manga.MangaTrackRepositoryImpl
|
||||||
import tachiyomi.data.updates.anime.AnimeUpdatesRepositoryImpl
|
import tachiyomi.data.updates.anime.AnimeUpdatesRepositoryImpl
|
||||||
import tachiyomi.data.updates.manga.MangaUpdatesRepositoryImpl
|
import tachiyomi.data.updates.manga.MangaUpdatesRepositoryImpl
|
||||||
|
import tachiyomi.domain.category.anime.interactor.DeleteAnimeCategory
|
||||||
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
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.SetAnimeCategories
|
||||||
|
import tachiyomi.domain.category.anime.interactor.UpdateAnimeCategory
|
||||||
import tachiyomi.domain.category.anime.repository.AnimeCategoryRepository
|
import tachiyomi.domain.category.anime.repository.AnimeCategoryRepository
|
||||||
|
import tachiyomi.domain.category.manga.interactor.DeleteMangaCategory
|
||||||
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
|
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.SetMangaCategories
|
||||||
|
import tachiyomi.domain.category.manga.interactor.UpdateMangaCategory
|
||||||
import tachiyomi.domain.category.manga.repository.MangaCategoryRepository
|
import tachiyomi.domain.category.manga.repository.MangaCategoryRepository
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnimeFavorites
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnimeWithEpisodes
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetDuplicateLibraryAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetLibraryAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.NetworkToLocalAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.ResetAnimeViewerFlags
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.SetAnimeEpisodeFlags
|
||||||
import tachiyomi.domain.entries.anime.repository.AnimeRepository
|
import tachiyomi.domain.entries.anime.repository.AnimeRepository
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetDuplicateLibraryManga
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetLibraryManga
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetManga
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetMangaFavorites
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetMangaWithChapters
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.NetworkToLocalManga
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.ResetMangaViewerFlags
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.SetMangaChapterFlags
|
||||||
import tachiyomi.domain.entries.manga.repository.MangaRepository
|
import tachiyomi.domain.entries.manga.repository.MangaRepository
|
||||||
import tachiyomi.domain.history.anime.interactor.GetAnimeHistory
|
import tachiyomi.domain.history.anime.interactor.GetAnimeHistory
|
||||||
import tachiyomi.domain.history.anime.interactor.RemoveAnimeHistory
|
import tachiyomi.domain.history.anime.interactor.RemoveAnimeHistory
|
||||||
|
@ -116,13 +104,27 @@ import tachiyomi.domain.history.manga.interactor.GetTotalReadDuration
|
||||||
import tachiyomi.domain.history.manga.interactor.RemoveMangaHistory
|
import tachiyomi.domain.history.manga.interactor.RemoveMangaHistory
|
||||||
import tachiyomi.domain.history.manga.interactor.UpsertMangaHistory
|
import tachiyomi.domain.history.manga.interactor.UpsertMangaHistory
|
||||||
import tachiyomi.domain.history.manga.repository.MangaHistoryRepository
|
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.ShouldUpdateDbChapter
|
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.chapter.repository.ChapterRepository
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisode
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
|
||||||
import tachiyomi.domain.items.episode.interactor.ShouldUpdateDbEpisode
|
import tachiyomi.domain.items.episode.interactor.ShouldUpdateDbEpisode
|
||||||
|
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
|
||||||
import tachiyomi.domain.items.episode.repository.EpisodeRepository
|
import tachiyomi.domain.items.episode.repository.EpisodeRepository
|
||||||
import tachiyomi.domain.source.anime.repository.AnimeSourceDataRepository
|
import tachiyomi.domain.source.anime.repository.AnimeSourceDataRepository
|
||||||
import tachiyomi.domain.source.manga.repository.MangaSourceDataRepository
|
import tachiyomi.domain.source.manga.repository.MangaSourceDataRepository
|
||||||
|
import tachiyomi.domain.track.anime.interactor.DeleteAnimeTrack
|
||||||
|
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
|
||||||
|
import tachiyomi.domain.track.anime.interactor.GetTracksPerAnime
|
||||||
|
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
|
||||||
import tachiyomi.domain.track.anime.repository.AnimeTrackRepository
|
import tachiyomi.domain.track.anime.repository.AnimeTrackRepository
|
||||||
|
import tachiyomi.domain.track.manga.interactor.DeleteMangaTrack
|
||||||
|
import tachiyomi.domain.track.manga.interactor.GetMangaTracks
|
||||||
|
import tachiyomi.domain.track.manga.interactor.GetTracksPerManga
|
||||||
|
import tachiyomi.domain.track.manga.interactor.InsertMangaTrack
|
||||||
import tachiyomi.domain.track.manga.repository.MangaTrackRepository
|
import tachiyomi.domain.track.manga.repository.MangaTrackRepository
|
||||||
import tachiyomi.domain.updates.anime.interactor.GetAnimeUpdates
|
import tachiyomi.domain.updates.anime.interactor.GetAnimeUpdates
|
||||||
import tachiyomi.domain.updates.anime.repository.AnimeUpdatesRepository
|
import tachiyomi.domain.updates.anime.repository.AnimeUpdatesRepository
|
||||||
|
@ -217,8 +219,8 @@ class DomainModule : InjektModule {
|
||||||
addFactory { SyncEpisodesWithTrackServiceTwoWay(get(), get()) }
|
addFactory { SyncEpisodesWithTrackServiceTwoWay(get(), get()) }
|
||||||
|
|
||||||
addSingletonFactory<ChapterRepository> { ChapterRepositoryImpl(get()) }
|
addSingletonFactory<ChapterRepository> { ChapterRepositoryImpl(get()) }
|
||||||
addFactory { eu.kanade.domain.items.chapter.interactor.GetChapter(get()) }
|
addFactory { GetChapter(get()) }
|
||||||
addFactory { eu.kanade.domain.items.chapter.interactor.GetChapterByMangaId(get()) }
|
addFactory { GetChapterByMangaId(get()) }
|
||||||
addFactory { UpdateChapter(get()) }
|
addFactory { UpdateChapter(get()) }
|
||||||
addFactory { SetReadStatus(get(), get(), get(), get()) }
|
addFactory { SetReadStatus(get(), get(), get(), get()) }
|
||||||
addFactory { ShouldUpdateDbChapter() }
|
addFactory { ShouldUpdateDbChapter() }
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package eu.kanade.domain.history.anime.interactor
|
package eu.kanade.domain.history.anime.interactor
|
||||||
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisodeByAnimeId
|
|
||||||
import eu.kanade.tachiyomi.util.episode.getEpisodeSort
|
|
||||||
import tachiyomi.domain.history.anime.repository.AnimeHistoryRepository
|
import tachiyomi.domain.history.anime.repository.AnimeHistoryRepository
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
|
import tachiyomi.domain.items.episode.service.getEpisodeSort
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
|
|
||||||
class GetNextEpisodes(
|
class GetNextEpisodes(
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
package eu.kanade.domain.history.manga.interactor
|
package eu.kanade.domain.history.manga.interactor
|
||||||
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetManga
|
import tachiyomi.domain.entries.manga.interactor.GetManga
|
||||||
import eu.kanade.domain.items.chapter.interactor.GetChapterByMangaId
|
|
||||||
import eu.kanade.tachiyomi.util.chapter.getChapterSort
|
|
||||||
import tachiyomi.domain.history.manga.repository.MangaHistoryRepository
|
import tachiyomi.domain.history.manga.repository.MangaHistoryRepository
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
|
import tachiyomi.domain.items.chapter.service.getChapterSort
|
||||||
import kotlin.math.max
|
import kotlin.math.max
|
||||||
|
|
||||||
class GetNextChapters(
|
class GetNextChapters(
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package eu.kanade.domain.items.chapter.interactor
|
package eu.kanade.domain.items.chapter.interactor
|
||||||
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetMangaFavorites
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.SetMangaChapterFlags
|
|
||||||
import eu.kanade.domain.library.service.LibraryPreferences
|
import eu.kanade.domain.library.service.LibraryPreferences
|
||||||
import tachiyomi.core.util.lang.withNonCancellableContext
|
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.entries.manga.model.Manga
|
||||||
|
|
||||||
class SetMangaDefaultChapterFlags(
|
class SetMangaDefaultChapterFlags(
|
||||||
|
|
|
@ -10,14 +10,16 @@ import eu.kanade.tachiyomi.source.MangaSource
|
||||||
import eu.kanade.tachiyomi.source.manga.isLocal
|
import eu.kanade.tachiyomi.source.manga.isLocal
|
||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
import eu.kanade.tachiyomi.util.chapter.ChapterRecognition
|
|
||||||
import tachiyomi.data.items.chapter.ChapterSanitizer
|
import tachiyomi.data.items.chapter.ChapterSanitizer
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
|
||||||
import tachiyomi.domain.items.chapter.interactor.ShouldUpdateDbChapter
|
import tachiyomi.domain.items.chapter.interactor.ShouldUpdateDbChapter
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.UpdateChapter
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
import tachiyomi.domain.items.chapter.model.NoChaptersException
|
import tachiyomi.domain.items.chapter.model.NoChaptersException
|
||||||
import tachiyomi.domain.items.chapter.model.toChapterUpdate
|
import tachiyomi.domain.items.chapter.model.toChapterUpdate
|
||||||
import tachiyomi.domain.items.chapter.repository.ChapterRepository
|
import tachiyomi.domain.items.chapter.repository.ChapterRepository
|
||||||
|
import tachiyomi.domain.items.chapter.service.ChapterRecognition
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.lang.Long.max
|
import java.lang.Long.max
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package eu.kanade.domain.items.chapter.interactor
|
package eu.kanade.domain.items.chapter.interactor
|
||||||
|
|
||||||
import eu.kanade.domain.track.manga.interactor.InsertMangaTrack
|
|
||||||
import eu.kanade.domain.track.manga.model.toDbTrack
|
import eu.kanade.domain.track.manga.model.toDbTrack
|
||||||
import eu.kanade.tachiyomi.data.track.MangaTrackService
|
import eu.kanade.tachiyomi.data.track.MangaTrackService
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.UpdateChapter
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
import tachiyomi.domain.items.chapter.model.toChapterUpdate
|
import tachiyomi.domain.items.chapter.model.toChapterUpdate
|
||||||
|
import tachiyomi.domain.track.manga.interactor.InsertMangaTrack
|
||||||
import tachiyomi.domain.track.manga.model.MangaTrack
|
import tachiyomi.domain.track.manga.model.MangaTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
|
@ -5,10 +5,10 @@ import eu.kanade.domain.entries.manga.model.isLocal
|
||||||
import eu.kanade.tachiyomi.data.download.manga.MangaDownloadManager
|
import eu.kanade.tachiyomi.data.download.manga.MangaDownloadManager
|
||||||
import eu.kanade.tachiyomi.data.download.manga.model.MangaDownload
|
import eu.kanade.tachiyomi.data.download.manga.model.MangaDownload
|
||||||
import eu.kanade.tachiyomi.ui.entries.manga.ChapterItem
|
import eu.kanade.tachiyomi.ui.entries.manga.ChapterItem
|
||||||
import eu.kanade.tachiyomi.util.chapter.getChapterSort
|
|
||||||
import tachiyomi.domain.entries.TriStateFilter
|
import tachiyomi.domain.entries.TriStateFilter
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
|
import tachiyomi.domain.items.chapter.service.getChapterSort
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies the view filters to the list of chapters obtained from the database.
|
* Applies the view filters to the list of chapters obtained from the database.
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package eu.kanade.domain.items.episode.interactor
|
package eu.kanade.domain.items.episode.interactor
|
||||||
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnimeFavorites
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.SetAnimeEpisodeFlags
|
|
||||||
import eu.kanade.domain.library.service.LibraryPreferences
|
import eu.kanade.domain.library.service.LibraryPreferences
|
||||||
import tachiyomi.core.util.lang.withNonCancellableContext
|
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.entries.anime.model.Anime
|
||||||
|
|
||||||
class SetAnimeDefaultEpisodeFlags(
|
class SetAnimeDefaultEpisodeFlags(
|
||||||
|
|
|
@ -10,14 +10,16 @@ import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
|
||||||
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadManager
|
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadManager
|
||||||
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadProvider
|
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadProvider
|
||||||
import eu.kanade.tachiyomi.source.anime.isLocal
|
import eu.kanade.tachiyomi.source.anime.isLocal
|
||||||
import eu.kanade.tachiyomi.util.episode.EpisodeRecognition
|
|
||||||
import tachiyomi.data.items.episode.EpisodeSanitizer
|
import tachiyomi.data.items.episode.EpisodeSanitizer
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
|
||||||
import tachiyomi.domain.items.episode.interactor.ShouldUpdateDbEpisode
|
import tachiyomi.domain.items.episode.interactor.ShouldUpdateDbEpisode
|
||||||
|
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
import tachiyomi.domain.items.episode.model.NoEpisodesException
|
import tachiyomi.domain.items.episode.model.NoEpisodesException
|
||||||
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
||||||
import tachiyomi.domain.items.episode.repository.EpisodeRepository
|
import tachiyomi.domain.items.episode.repository.EpisodeRepository
|
||||||
|
import tachiyomi.domain.items.episode.service.EpisodeRecognition
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.lang.Long.max
|
import java.lang.Long.max
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
package eu.kanade.domain.items.episode.interactor
|
package eu.kanade.domain.items.episode.interactor
|
||||||
|
|
||||||
import eu.kanade.domain.track.anime.interactor.InsertAnimeTrack
|
|
||||||
import eu.kanade.domain.track.anime.model.toDbTrack
|
import eu.kanade.domain.track.anime.model.toDbTrack
|
||||||
import eu.kanade.tachiyomi.data.track.AnimeTrackService
|
import eu.kanade.tachiyomi.data.track.AnimeTrackService
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
||||||
|
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
|
||||||
import tachiyomi.domain.track.anime.model.AnimeTrack
|
import tachiyomi.domain.track.anime.model.AnimeTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
|
@ -5,10 +5,10 @@ import eu.kanade.domain.entries.anime.model.isLocal
|
||||||
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadManager
|
import eu.kanade.tachiyomi.data.download.anime.AnimeDownloadManager
|
||||||
import eu.kanade.tachiyomi.data.download.anime.model.AnimeDownload
|
import eu.kanade.tachiyomi.data.download.anime.model.AnimeDownload
|
||||||
import eu.kanade.tachiyomi.ui.entries.anime.EpisodeItem
|
import eu.kanade.tachiyomi.ui.entries.anime.EpisodeItem
|
||||||
import eu.kanade.tachiyomi.util.episode.getEpisodeSort
|
|
||||||
import tachiyomi.domain.entries.TriStateFilter
|
import tachiyomi.domain.entries.TriStateFilter
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
|
import tachiyomi.domain.items.episode.service.getEpisodeSort
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Applies the view filters to the list of episodes obtained from the database.
|
* Applies the view filters to the list of episodes obtained from the database.
|
||||||
|
|
|
@ -9,14 +9,14 @@ import androidx.work.NetworkType
|
||||||
import androidx.work.OneTimeWorkRequestBuilder
|
import androidx.work.OneTimeWorkRequestBuilder
|
||||||
import androidx.work.WorkManager
|
import androidx.work.WorkManager
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
import eu.kanade.domain.track.anime.interactor.GetAnimeTracks
|
|
||||||
import eu.kanade.domain.track.anime.interactor.InsertAnimeTrack
|
|
||||||
import eu.kanade.domain.track.anime.model.toDbTrack
|
import eu.kanade.domain.track.anime.model.toDbTrack
|
||||||
import eu.kanade.domain.track.anime.store.DelayedAnimeTrackingStore
|
import eu.kanade.domain.track.anime.store.DelayedAnimeTrackingStore
|
||||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
|
||||||
|
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
|
@ -9,14 +9,14 @@ import androidx.work.NetworkType
|
||||||
import androidx.work.OneTimeWorkRequestBuilder
|
import androidx.work.OneTimeWorkRequestBuilder
|
||||||
import androidx.work.WorkManager
|
import androidx.work.WorkManager
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
import eu.kanade.domain.track.manga.interactor.GetMangaTracks
|
|
||||||
import eu.kanade.domain.track.manga.interactor.InsertMangaTrack
|
|
||||||
import eu.kanade.domain.track.manga.model.toDbTrack
|
import eu.kanade.domain.track.manga.model.toDbTrack
|
||||||
import eu.kanade.domain.track.manga.store.DelayedMangaTrackingStore
|
import eu.kanade.domain.track.manga.store.DelayedMangaTrackingStore
|
||||||
import eu.kanade.tachiyomi.data.track.TrackManager
|
import eu.kanade.tachiyomi.data.track.TrackManager
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.track.manga.interactor.GetMangaTracks
|
||||||
|
import tachiyomi.domain.track.manga.interactor.InsertMangaTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
|
@ -3,7 +3,7 @@ package eu.kanade.presentation.browse
|
||||||
import androidx.compose.material.icons.Icons
|
import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.CollectionsBookmark
|
import androidx.compose.material.icons.outlined.CollectionsBookmark
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import eu.kanade.presentation.components.Badge
|
import tachiyomi.presentation.core.components.Badge
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun InLibraryBadge(enabled: Boolean) {
|
fun InLibraryBadge(enabled: Boolean) {
|
||||||
|
|
|
@ -46,10 +46,7 @@ import eu.kanade.presentation.browse.anime.components.AnimeExtensionIcon
|
||||||
import eu.kanade.presentation.browse.manga.NsfwWarningDialog
|
import eu.kanade.presentation.browse.manga.NsfwWarningDialog
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.AppBarActions
|
import eu.kanade.presentation.components.AppBarActions
|
||||||
import eu.kanade.presentation.components.DIVIDER_ALPHA
|
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.components.WarningBanner
|
import eu.kanade.presentation.components.WarningBanner
|
||||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||||
|
@ -60,6 +57,9 @@ import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
|
||||||
import eu.kanade.tachiyomi.extension.anime.model.AnimeExtension
|
import eu.kanade.tachiyomi.extension.anime.model.AnimeExtension
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.extension.details.AnimeExtensionDetailsState
|
import eu.kanade.tachiyomi.ui.browse.anime.extension.details.AnimeExtensionDetailsState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
|
import tachiyomi.presentation.core.components.material.DIVIDER_ALPHA
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AnimeExtensionDetailsScreen(
|
fun AnimeExtensionDetailsScreen(
|
||||||
|
|
|
@ -10,11 +10,11 @@ import androidx.compose.ui.res.stringResource
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.extension.AnimeExtensionFilterState
|
import eu.kanade.tachiyomi.ui.browse.anime.extension.AnimeExtensionFilterState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AnimeExtensionFilterScreen(
|
fun AnimeExtensionFilterScreen(
|
||||||
|
|
|
@ -40,7 +40,6 @@ import eu.kanade.presentation.browse.manga.ExtensionTrustDialog
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.entries.DotSeparatorNoSpaceText
|
import eu.kanade.presentation.entries.DotSeparatorNoSpaceText
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.presentation.util.plus
|
import eu.kanade.presentation.util.plus
|
||||||
|
@ -52,6 +51,7 @@ import eu.kanade.tachiyomi.extension.anime.model.AnimeExtension
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.extension.AnimeExtensionUiModel
|
import eu.kanade.tachiyomi.ui.browse.anime.extension.AnimeExtensionUiModel
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.extension.AnimeExtensionsState
|
import eu.kanade.tachiyomi.ui.browse.anime.extension.AnimeExtensionsState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AnimeExtensionScreen(
|
fun AnimeExtensionScreen(
|
||||||
|
|
|
@ -12,12 +12,12 @@ import eu.kanade.presentation.browse.anime.components.BaseAnimeSourceItem
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.source.AnimeSourcesFilterState
|
import eu.kanade.tachiyomi.ui.browse.anime.source.AnimeSourcesFilterState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
import tachiyomi.domain.source.anime.model.AnimeSource
|
import tachiyomi.domain.source.anime.model.AnimeSource
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AnimeSourcesFilterScreen(
|
fun AnimeSourcesFilterScreen(
|
||||||
|
|
|
@ -23,7 +23,6 @@ import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.EmptyScreenAction
|
import eu.kanade.presentation.components.EmptyScreenAction
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.animesource.AnimeSource
|
import eu.kanade.tachiyomi.animesource.AnimeSource
|
||||||
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
||||||
|
@ -32,6 +31,7 @@ import kotlinx.coroutines.flow.StateFlow
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import tachiyomi.domain.items.episode.model.NoEpisodesException
|
import tachiyomi.domain.items.episode.model.NoEpisodesException
|
||||||
import tachiyomi.domain.library.model.LibraryDisplayMode
|
import tachiyomi.domain.library.model.LibraryDisplayMode
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun BrowseAnimeSourceContent(
|
fun BrowseAnimeSourceContent(
|
||||||
|
|
|
@ -14,7 +14,6 @@ import eu.kanade.presentation.browse.GlobalSearchResultItem
|
||||||
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
||||||
import eu.kanade.presentation.browse.anime.components.GlobalAnimeSearchCardRow
|
import eu.kanade.presentation.browse.anime.components.GlobalAnimeSearchCardRow
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
||||||
|
@ -22,6 +21,7 @@ import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.AnimeSearchItemRe
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.GlobalAnimeSearchState
|
import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.GlobalAnimeSearchState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun GlobalAnimeSearchScreen(
|
fun GlobalAnimeSearchScreen(
|
||||||
|
|
|
@ -8,11 +8,11 @@ import androidx.compose.ui.Modifier
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.entries.anime.components.BaseAnimeListItem
|
import eu.kanade.presentation.entries.anime.components.BaseAnimeListItem
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.migration.anime.MigrateAnimeState
|
import eu.kanade.tachiyomi.ui.browse.anime.migration.anime.MigrateAnimeState
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MigrateAnimeScreen(
|
fun MigrateAnimeScreen(
|
||||||
|
|
|
@ -10,12 +10,12 @@ import eu.kanade.presentation.browse.GlobalSearchResultItem
|
||||||
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
||||||
import eu.kanade.presentation.browse.anime.components.GlobalAnimeSearchCardRow
|
import eu.kanade.presentation.browse.anime.components.GlobalAnimeSearchCardRow
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.migration.search.MigrateAnimeSearchState
|
import eu.kanade.tachiyomi.ui.browse.anime.migration.search.MigrateAnimeSearchState
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.AnimeSearchItemResult
|
import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.AnimeSearchItemResult
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MigrateAnimeSearchScreen(
|
fun MigrateAnimeSearchScreen(
|
||||||
|
|
|
@ -25,8 +25,6 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||||
import eu.kanade.domain.source.service.SetMigrateSorting
|
import eu.kanade.domain.source.service.SetMigrateSorting
|
||||||
import eu.kanade.presentation.browse.anime.components.AnimeSourceIcon
|
import eu.kanade.presentation.browse.anime.components.AnimeSourceIcon
|
||||||
import eu.kanade.presentation.browse.anime.components.BaseAnimeSourceItem
|
import eu.kanade.presentation.browse.anime.components.BaseAnimeSourceItem
|
||||||
import eu.kanade.presentation.components.Badge
|
|
||||||
import eu.kanade.presentation.components.BadgeGroup
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
|
@ -40,6 +38,8 @@ import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.migration.sources.MigrateAnimeSourceState
|
import eu.kanade.tachiyomi.ui.browse.anime.migration.sources.MigrateAnimeSourceState
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
import tachiyomi.domain.source.anime.model.AnimeSource
|
import tachiyomi.domain.source.anime.model.AnimeSource
|
||||||
|
import tachiyomi.presentation.core.components.Badge
|
||||||
|
import tachiyomi.presentation.core.components.BadgeGroup
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MigrateAnimeSourceScreen(
|
fun MigrateAnimeSourceScreen(
|
||||||
|
|
|
@ -23,7 +23,6 @@ import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.EmptyScreenAction
|
import eu.kanade.presentation.components.EmptyScreenAction
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.source.MangaSource
|
import eu.kanade.tachiyomi.source.MangaSource
|
||||||
import eu.kanade.tachiyomi.source.manga.LocalMangaSource
|
import eu.kanade.tachiyomi.source.manga.LocalMangaSource
|
||||||
|
@ -32,6 +31,7 @@ import kotlinx.coroutines.flow.StateFlow
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
import tachiyomi.domain.items.chapter.model.NoChaptersException
|
import tachiyomi.domain.items.chapter.model.NoChaptersException
|
||||||
import tachiyomi.domain.library.model.LibraryDisplayMode
|
import tachiyomi.domain.library.model.LibraryDisplayMode
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun BrowseSourceContent(
|
fun BrowseSourceContent(
|
||||||
|
|
|
@ -14,7 +14,6 @@ import eu.kanade.presentation.browse.GlobalSearchResultItem
|
||||||
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
||||||
import eu.kanade.presentation.browse.manga.components.GlobalMangaSearchCardRow
|
import eu.kanade.presentation.browse.manga.components.GlobalMangaSearchCardRow
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||||
|
@ -22,6 +21,7 @@ import eu.kanade.tachiyomi.ui.browse.manga.source.globalsearch.GlobalMangaSearch
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.source.globalsearch.MangaSearchItemResult
|
import eu.kanade.tachiyomi.ui.browse.manga.source.globalsearch.MangaSearchItemResult
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun GlobalMangaSearchScreen(
|
fun GlobalMangaSearchScreen(
|
||||||
|
|
|
@ -47,10 +47,7 @@ import eu.kanade.domain.extension.manga.interactor.MangaExtensionSourceItem
|
||||||
import eu.kanade.presentation.browse.manga.components.MangaExtensionIcon
|
import eu.kanade.presentation.browse.manga.components.MangaExtensionIcon
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.AppBarActions
|
import eu.kanade.presentation.components.AppBarActions
|
||||||
import eu.kanade.presentation.components.DIVIDER_ALPHA
|
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.components.WarningBanner
|
import eu.kanade.presentation.components.WarningBanner
|
||||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||||
|
@ -61,6 +58,9 @@ import eu.kanade.tachiyomi.extension.manga.model.MangaExtension
|
||||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.extension.details.MangaExtensionDetailsState
|
import eu.kanade.tachiyomi.ui.browse.manga.extension.details.MangaExtensionDetailsState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
|
import tachiyomi.presentation.core.components.material.DIVIDER_ALPHA
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun ExtensionDetailsScreen(
|
fun ExtensionDetailsScreen(
|
||||||
|
|
|
@ -10,11 +10,11 @@ import androidx.compose.ui.res.stringResource
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.extension.MangaExtensionFilterState
|
import eu.kanade.tachiyomi.ui.browse.manga.extension.MangaExtensionFilterState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MangaExtensionFilterScreen(
|
fun MangaExtensionFilterScreen(
|
||||||
|
|
|
@ -40,7 +40,6 @@ import eu.kanade.presentation.browse.manga.components.MangaExtensionIcon
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.entries.DotSeparatorNoSpaceText
|
import eu.kanade.presentation.entries.DotSeparatorNoSpaceText
|
||||||
import eu.kanade.presentation.theme.header
|
import eu.kanade.presentation.theme.header
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
|
@ -53,6 +52,7 @@ import eu.kanade.tachiyomi.extension.manga.model.MangaExtension
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.extension.MangaExtensionUiModel
|
import eu.kanade.tachiyomi.ui.browse.manga.extension.MangaExtensionUiModel
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.extension.MangaExtensionsState
|
import eu.kanade.tachiyomi.ui.browse.manga.extension.MangaExtensionsState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MangaExtensionScreen(
|
fun MangaExtensionScreen(
|
||||||
|
|
|
@ -12,12 +12,12 @@ import eu.kanade.presentation.browse.manga.components.BaseMangaSourceItem
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.source.MangaSourcesFilterState
|
import eu.kanade.tachiyomi.ui.browse.manga.source.MangaSourcesFilterState
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
import tachiyomi.domain.source.manga.model.Source
|
import tachiyomi.domain.source.manga.model.Source
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MangaSourcesFilterScreen(
|
fun MangaSourcesFilterScreen(
|
||||||
|
|
|
@ -8,11 +8,11 @@ import androidx.compose.ui.Modifier
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.entries.manga.components.BaseMangaListItem
|
import eu.kanade.presentation.entries.manga.components.BaseMangaListItem
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.migration.manga.MigrateMangaState
|
import eu.kanade.tachiyomi.ui.browse.manga.migration.manga.MigrateMangaState
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MigrateMangaScreen(
|
fun MigrateMangaScreen(
|
||||||
|
|
|
@ -10,12 +10,12 @@ import eu.kanade.presentation.browse.GlobalSearchResultItem
|
||||||
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
import eu.kanade.presentation.browse.GlobalSearchToolbar
|
||||||
import eu.kanade.presentation.browse.manga.components.GlobalMangaSearchCardRow
|
import eu.kanade.presentation.browse.manga.components.GlobalMangaSearchCardRow
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.source.CatalogueSource
|
import eu.kanade.tachiyomi.source.CatalogueSource
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.migration.search.MigrateMangaSearchState
|
import eu.kanade.tachiyomi.ui.browse.manga.migration.search.MigrateMangaSearchState
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.source.globalsearch.MangaSearchItemResult
|
import eu.kanade.tachiyomi.ui.browse.manga.source.globalsearch.MangaSearchItemResult
|
||||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MigrateMangaSearchScreen(
|
fun MigrateMangaSearchScreen(
|
||||||
|
|
|
@ -25,8 +25,6 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||||
import eu.kanade.domain.source.service.SetMigrateSorting
|
import eu.kanade.domain.source.service.SetMigrateSorting
|
||||||
import eu.kanade.presentation.browse.manga.components.BaseMangaSourceItem
|
import eu.kanade.presentation.browse.manga.components.BaseMangaSourceItem
|
||||||
import eu.kanade.presentation.browse.manga.components.MangaSourceIcon
|
import eu.kanade.presentation.browse.manga.components.MangaSourceIcon
|
||||||
import eu.kanade.presentation.components.Badge
|
|
||||||
import eu.kanade.presentation.components.BadgeGroup
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
|
@ -40,6 +38,8 @@ import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.browse.manga.migration.sources.MigrateMangaSourceState
|
import eu.kanade.tachiyomi.ui.browse.manga.migration.sources.MigrateMangaSourceState
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
import tachiyomi.domain.source.manga.model.Source
|
import tachiyomi.domain.source.manga.model.Source
|
||||||
|
import tachiyomi.presentation.core.components.Badge
|
||||||
|
import tachiyomi.presentation.core.components.BadgeGroup
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MigrateMangaSourceScreen(
|
fun MigrateMangaSourceScreen(
|
||||||
|
|
|
@ -9,13 +9,13 @@ import androidx.compose.ui.Modifier
|
||||||
import eu.kanade.presentation.category.components.CategoryContent
|
import eu.kanade.presentation.category.components.CategoryContent
|
||||||
import eu.kanade.presentation.category.components.CategoryFloatingActionButton
|
import eu.kanade.presentation.category.components.CategoryFloatingActionButton
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.presentation.util.plus
|
import eu.kanade.presentation.util.plus
|
||||||
import eu.kanade.presentation.util.topSmallPaddingValues
|
import eu.kanade.presentation.util.topSmallPaddingValues
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.category.anime.AnimeCategoryScreenState
|
import eu.kanade.tachiyomi.ui.category.anime.AnimeCategoryScreenState
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AnimeCategoryScreen(
|
fun AnimeCategoryScreen(
|
||||||
|
|
|
@ -9,13 +9,13 @@ import androidx.compose.ui.Modifier
|
||||||
import eu.kanade.presentation.category.components.CategoryContent
|
import eu.kanade.presentation.category.components.CategoryContent
|
||||||
import eu.kanade.presentation.category.components.CategoryFloatingActionButton
|
import eu.kanade.presentation.category.components.CategoryFloatingActionButton
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.presentation.util.plus
|
import eu.kanade.presentation.util.plus
|
||||||
import eu.kanade.presentation.util.topSmallPaddingValues
|
import eu.kanade.presentation.util.topSmallPaddingValues
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.category.manga.MangaCategoryScreenState
|
import eu.kanade.tachiyomi.ui.category.manga.MangaCategoryScreenState
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MangaCategoryScreen(
|
fun MangaCategoryScreen(
|
||||||
|
|
|
@ -7,10 +7,10 @@ import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
|
||||||
import eu.kanade.presentation.util.isScrolledToEnd
|
import eu.kanade.presentation.util.isScrolledToEnd
|
||||||
import eu.kanade.presentation.util.isScrollingUp
|
import eu.kanade.presentation.util.isScrollingUp
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun CategoryFloatingActionButton(
|
fun CategoryFloatingActionButton(
|
||||||
|
|
|
@ -51,6 +51,7 @@ import androidx.compose.ui.unit.sp
|
||||||
import eu.kanade.presentation.util.runOnEnterKeyPressed
|
import eu.kanade.presentation.util.runOnEnterKeyPressed
|
||||||
import eu.kanade.presentation.util.secondaryItemAlpha
|
import eu.kanade.presentation.util.secondaryItemAlpha
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.Pill
|
||||||
|
|
||||||
const val SEARCH_DEBOUNCE_MILLIS = 250L
|
const val SEARCH_DEBOUNCE_MILLIS = 250L
|
||||||
|
|
||||||
|
|
|
@ -41,6 +41,7 @@ import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import eu.kanade.presentation.util.selectedBackground
|
import eu.kanade.presentation.util.selectedBackground
|
||||||
import tachiyomi.domain.entries.EntryCover
|
import tachiyomi.domain.entries.EntryCover
|
||||||
|
import tachiyomi.presentation.core.components.BadgeGroup
|
||||||
|
|
||||||
object CommonEntryItemDefaults {
|
object CommonEntryItemDefaults {
|
||||||
val GridHorizontalSpacer = 4.dp
|
val GridHorizontalSpacer = 4.dp
|
||||||
|
|
|
@ -30,6 +30,7 @@ import eu.kanade.presentation.theme.TachiyomiTheme
|
||||||
import eu.kanade.presentation.util.ThemePreviews
|
import eu.kanade.presentation.util.ThemePreviews
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.presentation.util.secondaryItemAlpha
|
import eu.kanade.presentation.util.secondaryItemAlpha
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun InfoScaffold(
|
fun InfoScaffold(
|
||||||
|
|
|
@ -31,6 +31,7 @@ import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.util.fastForEachIndexed
|
import androidx.compose.ui.util.fastForEachIndexed
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
|
||||||
object TabbedDialogPaddings {
|
object TabbedDialogPaddings {
|
||||||
val Horizontal = 24.dp
|
val Horizontal = 24.dp
|
||||||
|
|
|
@ -24,6 +24,7 @@ import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TabbedScreen(
|
fun TabbedScreen(
|
||||||
|
|
|
@ -15,6 +15,7 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
|
import tachiyomi.presentation.core.components.Pill
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun TabIndicator(currentTabPosition: TabPosition) {
|
fun TabIndicator(currentTabPosition: TabPosition) {
|
||||||
|
|
|
@ -29,8 +29,6 @@ import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.AlertDialogContent
|
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.components.WheelDatePicker
|
import eu.kanade.presentation.components.WheelDatePicker
|
||||||
import eu.kanade.presentation.components.WheelTextPicker
|
import eu.kanade.presentation.components.WheelTextPicker
|
||||||
|
@ -39,6 +37,8 @@ import eu.kanade.presentation.util.isScrolledToStart
|
||||||
import eu.kanade.presentation.util.minimumTouchTargetSize
|
import eu.kanade.presentation.util.minimumTouchTargetSize
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.AlertDialogContent
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
import java.time.LocalDate
|
import java.time.LocalDate
|
||||||
import java.time.format.TextStyle
|
import java.time.format.TextStyle
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
|
@ -51,10 +51,7 @@ import androidx.compose.ui.util.fastMap
|
||||||
import eu.kanade.domain.entries.anime.model.episodesFiltered
|
import eu.kanade.domain.entries.anime.model.episodesFiltered
|
||||||
import eu.kanade.presentation.components.EntryBottomActionMenu
|
import eu.kanade.presentation.components.EntryBottomActionMenu
|
||||||
import eu.kanade.presentation.components.EpisodeDownloadAction
|
import eu.kanade.presentation.components.EpisodeDownloadAction
|
||||||
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.TwoPanelBox
|
import eu.kanade.presentation.components.TwoPanelBox
|
||||||
import eu.kanade.presentation.components.VerticalFastScroller
|
import eu.kanade.presentation.components.VerticalFastScroller
|
||||||
import eu.kanade.presentation.entries.DownloadAction
|
import eu.kanade.presentation.entries.DownloadAction
|
||||||
|
@ -79,6 +76,9 @@ import eu.kanade.tachiyomi.util.lang.toRelativeString
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
|
import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.text.DateFormat
|
import java.text.DateFormat
|
||||||
|
|
|
@ -30,15 +30,15 @@ import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.TrackLogoIcon
|
import eu.kanade.presentation.components.TrackLogoIcon
|
||||||
import eu.kanade.presentation.components.VerticalDivider
|
|
||||||
import eu.kanade.presentation.entries.manga.TrackDetailsItem
|
import eu.kanade.presentation.entries.manga.TrackDetailsItem
|
||||||
import eu.kanade.presentation.entries.manga.TrackInfoItemMenu
|
import eu.kanade.presentation.entries.manga.TrackInfoItemMenu
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.track.TrackService
|
import eu.kanade.tachiyomi.data.track.TrackService
|
||||||
import eu.kanade.tachiyomi.ui.entries.anime.track.AnimeTrackItem
|
import eu.kanade.tachiyomi.ui.entries.anime.track.AnimeTrackItem
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.VerticalDivider
|
||||||
import java.text.DateFormat
|
import java.text.DateFormat
|
||||||
|
|
||||||
private const val UnsetStatusTextAlpha = 0.5F
|
private const val UnsetStatusTextAlpha = 0.5F
|
||||||
|
|
|
@ -41,16 +41,16 @@ import androidx.compose.ui.text.input.TextFieldValue
|
||||||
import androidx.compose.ui.text.intl.Locale
|
import androidx.compose.ui.text.intl.Locale
|
||||||
import androidx.compose.ui.text.toLowerCase
|
import androidx.compose.ui.text.toLowerCase
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.entries.manga.SearchResultItem
|
import eu.kanade.presentation.entries.manga.SearchResultItem
|
||||||
import eu.kanade.presentation.util.plus
|
import eu.kanade.presentation.util.plus
|
||||||
import eu.kanade.presentation.util.runOnEnterKeyPressed
|
import eu.kanade.presentation.util.runOnEnterKeyPressed
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch
|
import eu.kanade.tachiyomi.data.track.model.AnimeTrackSearch
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AnimeTrackServiceSearch(
|
fun AnimeTrackServiceSearch(
|
||||||
|
|
|
@ -36,8 +36,6 @@ import cafe.adriel.voyager.core.model.coroutineScope
|
||||||
import cafe.adriel.voyager.core.model.rememberScreenModel
|
import cafe.adriel.voyager.core.model.rememberScreenModel
|
||||||
import cafe.adriel.voyager.core.screen.Screen
|
import cafe.adriel.voyager.core.screen.Screen
|
||||||
import eu.kanade.core.util.asFlow
|
import eu.kanade.core.util.asFlow
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisode
|
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.TabbedDialogPaddings
|
import eu.kanade.presentation.components.TabbedDialogPaddings
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
|
@ -55,7 +53,9 @@ import logcat.LogPriority
|
||||||
import tachiyomi.core.util.lang.launchUI
|
import tachiyomi.core.util.lang.launchUI
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisode
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
|
@ -44,12 +44,12 @@ import coil.request.CachePolicy
|
||||||
import coil.request.ImageRequest
|
import coil.request.ImageRequest
|
||||||
import coil.size.Size
|
import coil.size.Size
|
||||||
import eu.kanade.presentation.components.DropdownMenu
|
import eu.kanade.presentation.components.DropdownMenu
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.entries.EditCoverAction
|
import eu.kanade.presentation.entries.EditCoverAction
|
||||||
import eu.kanade.presentation.util.clickableNoIndication
|
import eu.kanade.presentation.util.clickableNoIndication
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderPageImageView
|
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderPageImageView
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun AnimeCoverDialog(
|
fun AnimeCoverDialog(
|
||||||
|
|
|
@ -50,10 +50,7 @@ import androidx.compose.ui.util.fastMap
|
||||||
import eu.kanade.domain.entries.manga.model.chaptersFiltered
|
import eu.kanade.domain.entries.manga.model.chaptersFiltered
|
||||||
import eu.kanade.presentation.components.ChapterDownloadAction
|
import eu.kanade.presentation.components.ChapterDownloadAction
|
||||||
import eu.kanade.presentation.components.EntryBottomActionMenu
|
import eu.kanade.presentation.components.EntryBottomActionMenu
|
||||||
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.TwoPanelBox
|
import eu.kanade.presentation.components.TwoPanelBox
|
||||||
import eu.kanade.presentation.components.VerticalFastScroller
|
import eu.kanade.presentation.components.VerticalFastScroller
|
||||||
import eu.kanade.presentation.entries.DownloadAction
|
import eu.kanade.presentation.entries.DownloadAction
|
||||||
|
@ -77,6 +74,9 @@ import eu.kanade.tachiyomi.util.lang.toRelativeString
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
|
import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import java.text.DateFormat
|
import java.text.DateFormat
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
||||||
|
|
|
@ -42,14 +42,14 @@ import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.DropdownMenu
|
import eu.kanade.presentation.components.DropdownMenu
|
||||||
import eu.kanade.presentation.components.TrackLogoIcon
|
import eu.kanade.presentation.components.TrackLogoIcon
|
||||||
import eu.kanade.presentation.components.VerticalDivider
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.track.TrackService
|
import eu.kanade.tachiyomi.data.track.TrackService
|
||||||
import eu.kanade.tachiyomi.ui.entries.manga.track.MangaTrackItem
|
import eu.kanade.tachiyomi.ui.entries.manga.track.MangaTrackItem
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.VerticalDivider
|
||||||
import java.text.DateFormat
|
import java.text.DateFormat
|
||||||
|
|
||||||
private const val UnsetStatusTextAlpha = 0.5F
|
private const val UnsetStatusTextAlpha = 0.5F
|
||||||
|
|
|
@ -56,11 +56,9 @@ import androidx.compose.ui.text.intl.Locale
|
||||||
import androidx.compose.ui.text.style.TextOverflow
|
import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.text.toLowerCase
|
import androidx.compose.ui.text.toLowerCase
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.ItemCover
|
import eu.kanade.presentation.components.ItemCover
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.presentation.util.plus
|
import eu.kanade.presentation.util.plus
|
||||||
|
@ -68,6 +66,8 @@ import eu.kanade.presentation.util.runOnEnterKeyPressed
|
||||||
import eu.kanade.presentation.util.secondaryItemAlpha
|
import eu.kanade.presentation.util.secondaryItemAlpha
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch
|
import eu.kanade.tachiyomi.data.track.model.MangaTrackSearch
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MangaTrackServiceSearch(
|
fun MangaTrackServiceSearch(
|
||||||
|
|
|
@ -44,12 +44,12 @@ import coil.request.CachePolicy
|
||||||
import coil.request.ImageRequest
|
import coil.request.ImageRequest
|
||||||
import coil.size.Size
|
import coil.size.Size
|
||||||
import eu.kanade.presentation.components.DropdownMenu
|
import eu.kanade.presentation.components.DropdownMenu
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.entries.EditCoverAction
|
import eu.kanade.presentation.entries.EditCoverAction
|
||||||
import eu.kanade.presentation.util.clickableNoIndication
|
import eu.kanade.presentation.util.clickableNoIndication
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderPageImageView
|
import eu.kanade.tachiyomi.ui.reader.viewer.ReaderPageImageView
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun MangaCoverDialog(
|
fun MangaCoverDialog(
|
||||||
|
|
|
@ -9,11 +9,11 @@ import androidx.compose.ui.Modifier
|
||||||
import eu.kanade.presentation.animehistory.components.AnimeHistoryContent
|
import eu.kanade.presentation.animehistory.components.AnimeHistoryContent
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.history.anime.AnimeHistoryScreenModel
|
import eu.kanade.tachiyomi.ui.history.anime.AnimeHistoryScreenModel
|
||||||
import eu.kanade.tachiyomi.ui.history.anime.AnimeHistoryState
|
import eu.kanade.tachiyomi.ui.history.anime.AnimeHistoryState
|
||||||
import tachiyomi.domain.history.anime.model.AnimeHistoryWithRelations
|
import tachiyomi.domain.history.anime.model.AnimeHistoryWithRelations
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -8,11 +8,11 @@ import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.ui.history.manga.HistoryState
|
import eu.kanade.tachiyomi.ui.history.manga.HistoryState
|
||||||
import eu.kanade.tachiyomi.ui.history.manga.MangaHistoryScreenModel
|
import eu.kanade.tachiyomi.ui.history.manga.MangaHistoryScreenModel
|
||||||
import tachiyomi.domain.history.manga.model.MangaHistoryWithRelations
|
import tachiyomi.domain.history.manga.model.MangaHistoryWithRelations
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -5,9 +5,9 @@ import androidx.compose.material.icons.Icons
|
||||||
import androidx.compose.material.icons.outlined.Folder
|
import androidx.compose.material.icons.outlined.Folder
|
||||||
import androidx.compose.material3.MaterialTheme
|
import androidx.compose.material3.MaterialTheme
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import eu.kanade.presentation.components.Badge
|
|
||||||
import eu.kanade.presentation.theme.TachiyomiTheme
|
import eu.kanade.presentation.theme.TachiyomiTheme
|
||||||
import eu.kanade.presentation.util.ThemePreviews
|
import eu.kanade.presentation.util.ThemePreviews
|
||||||
|
import tachiyomi.presentation.core.components.Badge
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun DownloadsBadge(count: Long) {
|
fun DownloadsBadge(count: Long) {
|
||||||
|
|
|
@ -7,10 +7,10 @@ import androidx.compose.material3.Tab
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.category.visualName
|
import eu.kanade.presentation.category.visualName
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.TabIndicator
|
import eu.kanade.presentation.components.TabIndicator
|
||||||
import eu.kanade.presentation.components.TabText
|
import eu.kanade.presentation.components.TabText
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LibraryTabs(
|
fun LibraryTabs(
|
||||||
|
|
|
@ -22,10 +22,10 @@ import androidx.compose.ui.text.style.TextOverflow
|
||||||
import androidx.compose.ui.unit.sp
|
import androidx.compose.ui.unit.sp
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.OverflowMenu
|
import eu.kanade.presentation.components.OverflowMenu
|
||||||
import eu.kanade.presentation.components.Pill
|
|
||||||
import eu.kanade.presentation.components.SearchToolbar
|
import eu.kanade.presentation.components.SearchToolbar
|
||||||
import eu.kanade.presentation.theme.active
|
import eu.kanade.presentation.theme.active
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.Pill
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LibraryToolbar(
|
fun LibraryToolbar(
|
||||||
|
|
|
@ -15,7 +15,6 @@ import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
import eu.kanade.core.prefs.PreferenceMutableState
|
import eu.kanade.core.prefs.PreferenceMutableState
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.components.rememberPagerState
|
import eu.kanade.presentation.components.rememberPagerState
|
||||||
import eu.kanade.presentation.library.LibraryTabs
|
import eu.kanade.presentation.library.LibraryTabs
|
||||||
import eu.kanade.tachiyomi.ui.library.anime.AnimeLibraryItem
|
import eu.kanade.tachiyomi.ui.library.anime.AnimeLibraryItem
|
||||||
|
@ -24,6 +23,7 @@ import kotlinx.coroutines.launch
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
import tachiyomi.domain.library.anime.LibraryAnime
|
import tachiyomi.domain.library.anime.LibraryAnime
|
||||||
import tachiyomi.domain.library.model.LibraryDisplayMode
|
import tachiyomi.domain.library.model.LibraryDisplayMode
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -15,7 +15,6 @@ import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.platform.LocalLayoutDirection
|
import androidx.compose.ui.platform.LocalLayoutDirection
|
||||||
import eu.kanade.core.prefs.PreferenceMutableState
|
import eu.kanade.core.prefs.PreferenceMutableState
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.components.rememberPagerState
|
import eu.kanade.presentation.components.rememberPagerState
|
||||||
import eu.kanade.presentation.library.LibraryTabs
|
import eu.kanade.presentation.library.LibraryTabs
|
||||||
import eu.kanade.tachiyomi.ui.library.manga.MangaLibraryItem
|
import eu.kanade.tachiyomi.ui.library.manga.MangaLibraryItem
|
||||||
|
@ -24,6 +23,7 @@ import kotlinx.coroutines.launch
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
import tachiyomi.domain.library.manga.LibraryManga
|
import tachiyomi.domain.library.manga.LibraryManga
|
||||||
import tachiyomi.domain.library.model.LibraryDisplayMode
|
import tachiyomi.domain.library.model.LibraryDisplayMode
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -11,8 +11,8 @@ import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun LogoHeader() {
|
fun LogoHeader() {
|
||||||
|
|
|
@ -27,8 +27,6 @@ import androidx.compose.ui.res.pluralStringResource
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.res.vectorResource
|
import androidx.compose.ui.res.vectorResource
|
||||||
import eu.kanade.domain.library.service.LibraryPreferences
|
import eu.kanade.domain.library.service.LibraryPreferences
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.components.WarningBanner
|
import eu.kanade.presentation.components.WarningBanner
|
||||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||||
|
@ -36,6 +34,8 @@ import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.core.Constants
|
import eu.kanade.tachiyomi.core.Constants
|
||||||
import eu.kanade.tachiyomi.ui.more.DownloadQueueState
|
import eu.kanade.tachiyomi.ui.more.DownloadQueueState
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -10,8 +10,8 @@ import androidx.compose.material3.Text
|
||||||
import androidx.compose.material3.TopAppBar
|
import androidx.compose.material3.TopAppBar
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun PreferenceScaffold(
|
fun PreferenceScaffold(
|
||||||
|
|
|
@ -21,8 +21,6 @@ import cafe.adriel.voyager.navigator.LocalNavigator
|
||||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import eu.kanade.domain.ui.UiPreferences
|
import eu.kanade.domain.ui.UiPreferences
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.LinkIcon
|
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.more.LogoHeader
|
import eu.kanade.presentation.more.LogoHeader
|
||||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||||
|
@ -42,6 +40,8 @@ import logcat.LogPriority
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.lang.withUIContext
|
import tachiyomi.core.util.lang.withUIContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.presentation.core.components.LinkIcon
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.text.DateFormat
|
import java.text.DateFormat
|
||||||
|
|
|
@ -38,11 +38,9 @@ import eu.kanade.domain.source.anime.interactor.GetAnimeSourcesWithNonLibraryAni
|
||||||
import eu.kanade.presentation.browse.anime.components.AnimeSourceIcon
|
import eu.kanade.presentation.browse.anime.components.AnimeSourceIcon
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.AppBarActions
|
import eu.kanade.presentation.components.AppBarActions
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.selectedBackground
|
import eu.kanade.presentation.util.selectedBackground
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
|
@ -54,6 +52,8 @@ import tachiyomi.core.util.lang.withNonCancellableContext
|
||||||
import tachiyomi.domain.source.anime.model.AnimeSource
|
import tachiyomi.domain.source.anime.model.AnimeSource
|
||||||
import tachiyomi.domain.source.anime.model.AnimeSourceWithCount
|
import tachiyomi.domain.source.anime.model.AnimeSourceWithCount
|
||||||
import tachiyomi.mi.data.AnimeDatabase
|
import tachiyomi.mi.data.AnimeDatabase
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
|
|
@ -38,11 +38,9 @@ import eu.kanade.domain.source.manga.interactor.GetMangaSourcesWithNonLibraryMan
|
||||||
import eu.kanade.presentation.browse.manga.components.MangaSourceIcon
|
import eu.kanade.presentation.browse.manga.components.MangaSourceIcon
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.AppBarActions
|
import eu.kanade.presentation.components.AppBarActions
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.selectedBackground
|
import eu.kanade.presentation.util.selectedBackground
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
|
@ -54,6 +52,8 @@ import tachiyomi.core.util.lang.withNonCancellableContext
|
||||||
import tachiyomi.data.Database
|
import tachiyomi.data.Database
|
||||||
import tachiyomi.domain.source.manga.model.MangaSourceWithCount
|
import tachiyomi.domain.source.manga.model.MangaSourceWithCount
|
||||||
import tachiyomi.domain.source.manga.model.Source
|
import tachiyomi.domain.source.manga.model.Source
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,8 @@ import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer
|
import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer
|
||||||
import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults
|
import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
class LicensesScreen : Screen {
|
class LicensesScreen : Screen {
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -37,7 +37,6 @@ import androidx.compose.ui.unit.dp
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import com.hippo.unifile.UniFile
|
import com.hippo.unifile.UniFile
|
||||||
import eu.kanade.domain.backup.service.BackupPreferences
|
import eu.kanade.domain.backup.service.BackupPreferences
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.more.settings.Preference
|
import eu.kanade.presentation.more.settings.Preference
|
||||||
import eu.kanade.presentation.util.collectAsState
|
import eu.kanade.presentation.util.collectAsState
|
||||||
|
@ -59,6 +58,7 @@ import eu.kanade.tachiyomi.util.system.DeviceUtil
|
||||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
|
|
@ -49,10 +49,10 @@ import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.AppBarActions
|
import eu.kanade.presentation.components.AppBarActions
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||||
import eu.kanade.presentation.util.LocalBackPress
|
import eu.kanade.presentation.util.LocalBackPress
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
object SettingsMainScreen : Screen {
|
object SettingsMainScreen : Screen {
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -50,13 +50,13 @@ import androidx.compose.ui.unit.dp
|
||||||
import cafe.adriel.voyager.core.screen.Screen
|
import cafe.adriel.voyager.core.screen.Screen
|
||||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.EmptyScreen
|
import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.more.settings.Preference
|
import eu.kanade.presentation.more.settings.Preference
|
||||||
import eu.kanade.presentation.util.runOnEnterKeyPressed
|
import eu.kanade.presentation.util.runOnEnterKeyPressed
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.util.system.isLTR
|
import eu.kanade.tachiyomi.util.system.isLTR
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
class SettingsSearchScreen : Screen {
|
class SettingsSearchScreen : Screen {
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -38,13 +38,13 @@ import cafe.adriel.voyager.core.screen.Screen
|
||||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.plus
|
import eu.kanade.presentation.util.plus
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import kotlinx.coroutines.flow.SharingStarted
|
import kotlinx.coroutines.flow.SharingStarted
|
||||||
import kotlinx.coroutines.flow.map
|
import kotlinx.coroutines.flow.map
|
||||||
import kotlinx.coroutines.flow.stateIn
|
import kotlinx.coroutines.flow.stateIn
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
object WorkerInfoScreen : Screen {
|
object WorkerInfoScreen : Screen {
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,6 @@ import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.text.style.TextAlign
|
import androidx.compose.ui.text.style.TextAlign
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.domain.ui.model.AppTheme
|
import eu.kanade.domain.ui.model.AppTheme
|
||||||
import eu.kanade.presentation.components.DIVIDER_ALPHA
|
|
||||||
import eu.kanade.presentation.components.ItemCover
|
import eu.kanade.presentation.components.ItemCover
|
||||||
import eu.kanade.presentation.theme.TachiyomiTheme
|
import eu.kanade.presentation.theme.TachiyomiTheme
|
||||||
import eu.kanade.presentation.util.ThemePreviews
|
import eu.kanade.presentation.util.ThemePreviews
|
||||||
|
@ -48,6 +47,7 @@ import eu.kanade.presentation.util.secondaryItemAlpha
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.util.system.DeviceUtil
|
import eu.kanade.tachiyomi.util.system.DeviceUtil
|
||||||
import eu.kanade.tachiyomi.util.system.isDynamicColorAvailable
|
import eu.kanade.tachiyomi.util.system.isDynamicColorAvailable
|
||||||
|
import tachiyomi.presentation.core.components.material.DIVIDER_ALPHA
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
internal fun AppThemePreferenceWidget(
|
internal fun AppThemePreferenceWidget(
|
||||||
|
|
|
@ -22,12 +22,12 @@ import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.graphics.vector.ImageVector
|
import androidx.compose.ui.graphics.vector.ImageVector
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
import eu.kanade.presentation.components.ScrollbarLazyColumn
|
||||||
import eu.kanade.presentation.util.isScrolledToEnd
|
import eu.kanade.presentation.util.isScrolledToEnd
|
||||||
import eu.kanade.presentation.util.isScrolledToStart
|
import eu.kanade.presentation.util.isScrolledToStart
|
||||||
import eu.kanade.presentation.util.minimumTouchTargetSize
|
import eu.kanade.presentation.util.minimumTouchTargetSize
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun <T> ListPreferenceWidget(
|
fun <T> ListPreferenceWidget(
|
||||||
|
|
|
@ -27,11 +27,11 @@ import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.draw.clip
|
import androidx.compose.ui.draw.clip
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.unit.dp
|
import androidx.compose.ui.unit.dp
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.LazyColumn
|
import eu.kanade.presentation.components.LazyColumn
|
||||||
import eu.kanade.presentation.util.isScrolledToEnd
|
import eu.kanade.presentation.util.isScrolledToEnd
|
||||||
import eu.kanade.presentation.util.isScrolledToStart
|
import eu.kanade.presentation.util.isScrolledToStart
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
|
||||||
private enum class State {
|
private enum class State {
|
||||||
CHECKED, INVERSED, UNCHECKED
|
CHECKED, INVERSED, UNCHECKED
|
||||||
|
|
|
@ -21,8 +21,6 @@ import eu.kanade.presentation.components.EntryBottomActionMenu
|
||||||
import eu.kanade.presentation.components.EpisodeDownloadAction
|
import eu.kanade.presentation.components.EpisodeDownloadAction
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.download.anime.model.AnimeDownload
|
import eu.kanade.tachiyomi.data.download.anime.model.AnimeDownload
|
||||||
import eu.kanade.tachiyomi.ui.player.settings.PlayerPreferences
|
import eu.kanade.tachiyomi.ui.player.settings.PlayerPreferences
|
||||||
|
@ -30,6 +28,8 @@ import eu.kanade.tachiyomi.ui.updates.anime.AnimeUpdatesItem
|
||||||
import eu.kanade.tachiyomi.ui.updates.anime.AnimeUpdatesState
|
import eu.kanade.tachiyomi.ui.updates.anime.AnimeUpdatesState
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
|
@ -21,14 +21,14 @@ import eu.kanade.presentation.components.EmptyScreen
|
||||||
import eu.kanade.presentation.components.EntryBottomActionMenu
|
import eu.kanade.presentation.components.EntryBottomActionMenu
|
||||||
import eu.kanade.presentation.components.FastScrollLazyColumn
|
import eu.kanade.presentation.components.FastScrollLazyColumn
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.presentation.components.PullRefresh
|
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.download.manga.model.MangaDownload
|
import eu.kanade.tachiyomi.data.download.manga.model.MangaDownload
|
||||||
import eu.kanade.tachiyomi.ui.updates.manga.MangaUpdatesItem
|
import eu.kanade.tachiyomi.ui.updates.manga.MangaUpdatesItem
|
||||||
import eu.kanade.tachiyomi.ui.updates.manga.UpdatesState
|
import eu.kanade.tachiyomi.ui.updates.manga.UpdatesState
|
||||||
import kotlinx.coroutines.delay
|
import kotlinx.coroutines.delay
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import tachiyomi.presentation.core.components.material.PullRefresh
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import kotlin.time.Duration.Companion.seconds
|
import kotlin.time.Duration.Companion.seconds
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
|
|
|
@ -25,10 +25,10 @@ import com.google.accompanist.web.rememberWebViewNavigator
|
||||||
import com.google.accompanist.web.rememberWebViewState
|
import com.google.accompanist.web.rememberWebViewState
|
||||||
import eu.kanade.presentation.components.AppBar
|
import eu.kanade.presentation.components.AppBar
|
||||||
import eu.kanade.presentation.components.AppBarActions
|
import eu.kanade.presentation.components.AppBarActions
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.BuildConfig
|
import eu.kanade.tachiyomi.BuildConfig
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.util.system.setDefaultSettings
|
import eu.kanade.tachiyomi.util.system.setDefaultSettings
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
fun WebViewScreenContent(
|
fun WebViewScreenContent(
|
||||||
|
|
|
@ -11,8 +11,6 @@ import data.Mangas
|
||||||
import dataanime.Anime_sync
|
import dataanime.Anime_sync
|
||||||
import dataanime.Animes
|
import dataanime.Animes
|
||||||
import eu.kanade.domain.backup.service.BackupPreferences
|
import eu.kanade.domain.backup.service.BackupPreferences
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnimeFavorites
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetMangaFavorites
|
|
||||||
import eu.kanade.domain.library.service.LibraryPreferences
|
import eu.kanade.domain.library.service.LibraryPreferences
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.backup.BackupConst.BACKUP_CATEGORY
|
import eu.kanade.tachiyomi.data.backup.BackupConst.BACKUP_CATEGORY
|
||||||
|
@ -70,6 +68,8 @@ import tachiyomi.data.updateStrategyAdapter
|
||||||
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
||||||
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
|
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
|
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.anime.model.AnimeHistoryUpdate
|
||||||
import tachiyomi.domain.history.manga.model.MangaHistoryUpdate
|
import tachiyomi.domain.history.manga.model.MangaHistoryUpdate
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
|
|
|
@ -2,8 +2,6 @@ package eu.kanade.tachiyomi.data.download.anime
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisode
|
|
||||||
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
|
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
|
||||||
import eu.kanade.tachiyomi.data.download.anime.model.AnimeDownload
|
import eu.kanade.tachiyomi.data.download.anime.model.AnimeDownload
|
||||||
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
||||||
|
@ -12,7 +10,9 @@ import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.decodeFromString
|
import kotlinx.serialization.decodeFromString
|
||||||
import kotlinx.serialization.encodeToString
|
import kotlinx.serialization.encodeToString
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisode
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package eu.kanade.tachiyomi.data.download.anime.model
|
package eu.kanade.tachiyomi.data.download.anime.model
|
||||||
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisode
|
|
||||||
import eu.kanade.tachiyomi.animesource.model.Video
|
import eu.kanade.tachiyomi.animesource.model.Video
|
||||||
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
|
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
|
||||||
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
||||||
|
@ -14,7 +12,9 @@ import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.flow.emitAll
|
import kotlinx.coroutines.flow.emitAll
|
||||||
import kotlinx.coroutines.flow.flow
|
import kotlinx.coroutines.flow.flow
|
||||||
import rx.subjects.PublishSubject
|
import rx.subjects.PublishSubject
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisode
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
|
@ -2,8 +2,6 @@ package eu.kanade.tachiyomi.data.download.manga
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetManga
|
|
||||||
import eu.kanade.domain.items.chapter.interactor.GetChapter
|
|
||||||
import eu.kanade.tachiyomi.data.download.manga.model.MangaDownload
|
import eu.kanade.tachiyomi.data.download.manga.model.MangaDownload
|
||||||
import eu.kanade.tachiyomi.source.manga.MangaSourceManager
|
import eu.kanade.tachiyomi.source.manga.MangaSourceManager
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
|
@ -12,7 +10,9 @@ import kotlinx.serialization.Serializable
|
||||||
import kotlinx.serialization.decodeFromString
|
import kotlinx.serialization.decodeFromString
|
||||||
import kotlinx.serialization.encodeToString
|
import kotlinx.serialization.encodeToString
|
||||||
import kotlinx.serialization.json.Json
|
import kotlinx.serialization.json.Json
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetManga
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.GetChapter
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
package eu.kanade.tachiyomi.data.download.manga.model
|
package eu.kanade.tachiyomi.data.download.manga.model
|
||||||
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetManga
|
|
||||||
import eu.kanade.domain.items.chapter.interactor.GetChapter
|
|
||||||
import eu.kanade.tachiyomi.source.manga.MangaSourceManager
|
import eu.kanade.tachiyomi.source.manga.MangaSourceManager
|
||||||
import eu.kanade.tachiyomi.source.model.Page
|
import eu.kanade.tachiyomi.source.model.Page
|
||||||
import eu.kanade.tachiyomi.source.online.HttpSource
|
import eu.kanade.tachiyomi.source.online.HttpSource
|
||||||
|
@ -13,7 +11,9 @@ import kotlinx.coroutines.flow.debounce
|
||||||
import kotlinx.coroutines.flow.distinctUntilChanged
|
import kotlinx.coroutines.flow.distinctUntilChanged
|
||||||
import kotlinx.coroutines.flow.emitAll
|
import kotlinx.coroutines.flow.emitAll
|
||||||
import kotlinx.coroutines.flow.flow
|
import kotlinx.coroutines.flow.flow
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetManga
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.GetChapter
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
|
@ -16,17 +16,12 @@ import androidx.work.WorkQuery
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
import androidx.work.workDataOf
|
import androidx.work.workDataOf
|
||||||
import eu.kanade.domain.download.service.DownloadPreferences
|
import eu.kanade.domain.download.service.DownloadPreferences
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetLibraryAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
||||||
import eu.kanade.domain.entries.anime.model.copyFrom
|
import eu.kanade.domain.entries.anime.model.copyFrom
|
||||||
import eu.kanade.domain.entries.anime.model.toSAnime
|
import eu.kanade.domain.entries.anime.model.toSAnime
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisodeByAnimeId
|
|
||||||
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
|
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
|
||||||
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
||||||
import eu.kanade.domain.library.service.LibraryPreferences
|
import eu.kanade.domain.library.service.LibraryPreferences
|
||||||
import eu.kanade.domain.track.anime.interactor.GetAnimeTracks
|
|
||||||
import eu.kanade.domain.track.anime.interactor.InsertAnimeTrack
|
|
||||||
import eu.kanade.domain.track.anime.model.toDbTrack
|
import eu.kanade.domain.track.anime.model.toDbTrack
|
||||||
import eu.kanade.domain.track.anime.model.toDomainTrack
|
import eu.kanade.domain.track.anime.model.toDomainTrack
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
@ -70,11 +65,16 @@ import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetLibraryAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import tachiyomi.domain.entries.anime.model.toAnimeUpdate
|
import tachiyomi.domain.entries.anime.model.toAnimeUpdate
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
import tachiyomi.domain.items.episode.model.NoEpisodesException
|
import tachiyomi.domain.items.episode.model.NoEpisodesException
|
||||||
import tachiyomi.domain.library.anime.LibraryAnime
|
import tachiyomi.domain.library.anime.LibraryAnime
|
||||||
|
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
|
||||||
|
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
|
@ -16,17 +16,12 @@ import androidx.work.WorkQuery
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
import androidx.work.workDataOf
|
import androidx.work.workDataOf
|
||||||
import eu.kanade.domain.download.service.DownloadPreferences
|
import eu.kanade.domain.download.service.DownloadPreferences
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetLibraryManga
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetManga
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.UpdateManga
|
import eu.kanade.domain.entries.manga.interactor.UpdateManga
|
||||||
import eu.kanade.domain.entries.manga.model.copyFrom
|
import eu.kanade.domain.entries.manga.model.copyFrom
|
||||||
import eu.kanade.domain.entries.manga.model.toSManga
|
import eu.kanade.domain.entries.manga.model.toSManga
|
||||||
import eu.kanade.domain.items.chapter.interactor.GetChapterByMangaId
|
|
||||||
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithSource
|
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithSource
|
||||||
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
|
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
|
||||||
import eu.kanade.domain.library.service.LibraryPreferences
|
import eu.kanade.domain.library.service.LibraryPreferences
|
||||||
import eu.kanade.domain.track.manga.interactor.GetMangaTracks
|
|
||||||
import eu.kanade.domain.track.manga.interactor.InsertMangaTrack
|
|
||||||
import eu.kanade.domain.track.manga.model.toDbTrack
|
import eu.kanade.domain.track.manga.model.toDbTrack
|
||||||
import eu.kanade.domain.track.manga.model.toDomainTrack
|
import eu.kanade.domain.track.manga.model.toDomainTrack
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
@ -70,11 +65,16 @@ import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
|
import tachiyomi.domain.category.manga.interactor.GetMangaCategories
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetLibraryManga
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetManga
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
import tachiyomi.domain.entries.manga.model.toMangaUpdate
|
import tachiyomi.domain.entries.manga.model.toMangaUpdate
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
import tachiyomi.domain.items.chapter.model.NoChaptersException
|
import tachiyomi.domain.items.chapter.model.NoChaptersException
|
||||||
import tachiyomi.domain.library.manga.LibraryManga
|
import tachiyomi.domain.library.manga.LibraryManga
|
||||||
|
import tachiyomi.domain.track.manga.interactor.GetMangaTracks
|
||||||
|
import tachiyomi.domain.track.manga.interactor.InsertMangaTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
|
@ -9,12 +9,6 @@ import android.os.Build
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.net.toUri
|
import androidx.core.net.toUri
|
||||||
import eu.kanade.domain.download.service.DownloadPreferences
|
import eu.kanade.domain.download.service.DownloadPreferences
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.entries.manga.interactor.GetManga
|
|
||||||
import eu.kanade.domain.items.chapter.interactor.GetChapter
|
|
||||||
import eu.kanade.domain.items.chapter.interactor.UpdateChapter
|
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisode
|
|
||||||
import eu.kanade.domain.items.episode.interactor.UpdateEpisode
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.core.Constants
|
import eu.kanade.tachiyomi.core.Constants
|
||||||
import eu.kanade.tachiyomi.data.backup.BackupRestoreService
|
import eu.kanade.tachiyomi.data.backup.BackupRestoreService
|
||||||
|
@ -38,10 +32,16 @@ import eu.kanade.tachiyomi.util.system.toShareIntent
|
||||||
import eu.kanade.tachiyomi.util.system.toast
|
import eu.kanade.tachiyomi.util.system.toast
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import tachiyomi.core.util.lang.launchIO
|
import tachiyomi.core.util.lang.launchIO
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.domain.entries.manga.interactor.GetManga
|
||||||
import tachiyomi.domain.entries.manga.model.Manga
|
import tachiyomi.domain.entries.manga.model.Manga
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.GetChapter
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.UpdateChapter
|
||||||
import tachiyomi.domain.items.chapter.model.Chapter
|
import tachiyomi.domain.items.chapter.model.Chapter
|
||||||
import tachiyomi.domain.items.chapter.model.toChapterUpdate
|
import tachiyomi.domain.items.chapter.model.toChapterUpdate
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisode
|
||||||
|
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
|
||||||
import tachiyomi.domain.items.episode.model.Episode
|
import tachiyomi.domain.items.episode.model.Episode
|
||||||
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package eu.kanade.tachiyomi.data.track
|
package eu.kanade.tachiyomi.data.track
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisodeByAnimeId
|
|
||||||
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
||||||
import eu.kanade.domain.track.anime.interactor.InsertAnimeTrack
|
|
||||||
import eu.kanade.domain.track.anime.model.toDbTrack
|
import eu.kanade.domain.track.anime.model.toDbTrack
|
||||||
import eu.kanade.domain.track.anime.model.toDomainTrack
|
import eu.kanade.domain.track.anime.model.toDomainTrack
|
||||||
import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack
|
import eu.kanade.tachiyomi.data.database.models.anime.AnimeTrack
|
||||||
|
@ -13,6 +11,8 @@ import logcat.LogPriority
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.lang.withUIContext
|
import tachiyomi.core.util.lang.withUIContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
|
||||||
|
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import tachiyomi.domain.track.anime.model.AnimeTrack as DomainAnimeTrack
|
import tachiyomi.domain.track.anime.model.AnimeTrack as DomainAnimeTrack
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package eu.kanade.tachiyomi.data.track
|
package eu.kanade.tachiyomi.data.track
|
||||||
|
|
||||||
import android.app.Application
|
import android.app.Application
|
||||||
import eu.kanade.domain.items.chapter.interactor.GetChapterByMangaId
|
|
||||||
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
|
import eu.kanade.domain.items.chapter.interactor.SyncChaptersWithTrackServiceTwoWay
|
||||||
import eu.kanade.domain.track.manga.interactor.InsertMangaTrack
|
|
||||||
import eu.kanade.domain.track.manga.model.toDbTrack
|
import eu.kanade.domain.track.manga.model.toDbTrack
|
||||||
import eu.kanade.domain.track.manga.model.toDomainTrack
|
import eu.kanade.domain.track.manga.model.toDomainTrack
|
||||||
import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack
|
import eu.kanade.tachiyomi.data.database.models.manga.MangaTrack
|
||||||
|
@ -13,6 +11,8 @@ import logcat.LogPriority
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.lang.withUIContext
|
import tachiyomi.core.util.lang.withUIContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.items.chapter.interactor.GetChapterByMangaId
|
||||||
|
import tachiyomi.domain.track.manga.interactor.InsertMangaTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import tachiyomi.domain.track.manga.model.MangaTrack as DomainTrack
|
import tachiyomi.domain.track.manga.model.MangaTrack as DomainTrack
|
||||||
|
|
|
@ -38,7 +38,7 @@ class AnimeSourceManager(
|
||||||
private val stubSourcesMap = ConcurrentHashMap<Long, StubAnimeSource>()
|
private val stubSourcesMap = ConcurrentHashMap<Long, StubAnimeSource>()
|
||||||
|
|
||||||
val catalogueSources: Flow<List<AnimeCatalogueSource>> = sourcesMapFlow.map { it.values.filterIsInstance<AnimeCatalogueSource>() }
|
val catalogueSources: Flow<List<AnimeCatalogueSource>> = sourcesMapFlow.map { it.values.filterIsInstance<AnimeCatalogueSource>() }
|
||||||
val onlineSources: Flow<List<AnimeHttpSource>> = catalogueSources.map { sources -> sources.filterIsInstance<AnimeHttpSource>() }
|
val onlineSources: Flow<List<AnimeHttpSource>> = catalogueSources.map { it.filterIsInstance<AnimeHttpSource>() }
|
||||||
|
|
||||||
init {
|
init {
|
||||||
scope.launch {
|
scope.launch {
|
||||||
|
@ -108,7 +108,7 @@ class AnimeSourceManager(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("OverridingDeprecatedMember")
|
@Suppress("OverridingDeprecatedMember")
|
||||||
open inner class StubAnimeSource(private val sourceData: AnimeSourceData) : AnimeSource {
|
inner class StubAnimeSource(private val sourceData: AnimeSourceData) : AnimeSource {
|
||||||
|
|
||||||
override val id: Long = sourceData.id
|
override val id: Long = sourceData.id
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ import eu.kanade.tachiyomi.animesource.model.AnimesPage
|
||||||
import eu.kanade.tachiyomi.animesource.model.SAnime
|
import eu.kanade.tachiyomi.animesource.model.SAnime
|
||||||
import eu.kanade.tachiyomi.animesource.model.SEpisode
|
import eu.kanade.tachiyomi.animesource.model.SEpisode
|
||||||
import eu.kanade.tachiyomi.source.UnmeteredSource
|
import eu.kanade.tachiyomi.source.UnmeteredSource
|
||||||
import eu.kanade.tachiyomi.util.episode.EpisodeRecognition
|
|
||||||
import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder
|
import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder
|
||||||
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
||||||
import eu.kanade.tachiyomi.util.storage.toFFmpegString
|
import eu.kanade.tachiyomi.util.storage.toFFmpegString
|
||||||
|
@ -25,6 +24,7 @@ import logcat.LogPriority
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.items.episode.service.EpisodeRecognition
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
|
|
|
@ -14,7 +14,6 @@ import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
import eu.kanade.tachiyomi.source.model.SChapter
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import eu.kanade.tachiyomi.util.chapter.ChapterRecognition
|
|
||||||
import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder
|
import eu.kanade.tachiyomi.util.lang.compareToCaseInsensitiveNaturalOrder
|
||||||
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
import eu.kanade.tachiyomi.util.storage.DiskUtil
|
||||||
import eu.kanade.tachiyomi.util.storage.EpubFile
|
import eu.kanade.tachiyomi.util.storage.EpubFile
|
||||||
|
@ -29,6 +28,7 @@ import nl.adaptivity.xmlutil.serialization.XML
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.items.chapter.service.ChapterRecognition
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.io.FileInputStream
|
import java.io.FileInputStream
|
||||||
|
|
|
@ -39,7 +39,7 @@ class MangaSourceManager(
|
||||||
private val stubSourcesMap = ConcurrentHashMap<Long, StubMangaSource>()
|
private val stubSourcesMap = ConcurrentHashMap<Long, StubMangaSource>()
|
||||||
|
|
||||||
val catalogueSources: Flow<List<CatalogueSource>> = sourcesMapFlow.map { it.values.filterIsInstance<CatalogueSource>() }
|
val catalogueSources: Flow<List<CatalogueSource>> = sourcesMapFlow.map { it.values.filterIsInstance<CatalogueSource>() }
|
||||||
val onlineSources: Flow<List<HttpSource>> = catalogueSources.map { sources -> sources.filterIsInstance<HttpSource>() }
|
val onlineSources: Flow<List<HttpSource>> = catalogueSources.map { it.filterIsInstance<HttpSource>() }
|
||||||
|
|
||||||
init {
|
init {
|
||||||
scope.launch {
|
scope.launch {
|
||||||
|
@ -110,7 +110,7 @@ class MangaSourceManager(
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("OverridingDeprecatedMember")
|
@Suppress("OverridingDeprecatedMember")
|
||||||
open inner class StubMangaSource(private val sourceData: MangaSourceData) : MangaSource {
|
inner class StubMangaSource(private val sourceData: MangaSourceData) : MangaSource {
|
||||||
|
|
||||||
override val id: Long = sourceData.id
|
override val id: Long = sourceData.id
|
||||||
|
|
||||||
|
|
|
@ -39,13 +39,13 @@ import cafe.adriel.voyager.core.screen.Screen
|
||||||
import cafe.adriel.voyager.core.screen.uniqueScreenKey
|
import cafe.adriel.voyager.core.screen.uniqueScreenKey
|
||||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
|
import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource
|
||||||
import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore
|
import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore
|
||||||
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
||||||
import eu.kanade.tachiyomi.source.anime.getPreferenceKey
|
import eu.kanade.tachiyomi.source.anime.getPreferenceKey
|
||||||
import eu.kanade.tachiyomi.widget.TachiyomiTextInputEditText.Companion.setIncognito
|
import eu.kanade.tachiyomi.widget.TachiyomiTextInputEditText.Companion.setIncognito
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
package eu.kanade.tachiyomi.ui.browse.anime.migration
|
package eu.kanade.tachiyomi.ui.browse.anime.migration
|
||||||
|
|
||||||
import eu.kanade.domain.entries.anime.model.hasCustomCover
|
import eu.kanade.domain.entries.anime.model.hasCustomCover
|
||||||
import eu.kanade.domain.track.anime.interactor.GetAnimeTracks
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.cache.AnimeCoverCache
|
import eu.kanade.tachiyomi.data.cache.AnimeCoverCache
|
||||||
import kotlinx.coroutines.runBlocking
|
import kotlinx.coroutines.runBlocking
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import uy.kohesive.injekt.injectLazy
|
import uy.kohesive.injekt.injectLazy
|
||||||
|
|
|
@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.ui.browse.anime.migration.anime
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import cafe.adriel.voyager.core.model.StateScreenModel
|
import cafe.adriel.voyager.core.model.StateScreenModel
|
||||||
import cafe.adriel.voyager.core.model.coroutineScope
|
import cafe.adriel.voyager.core.model.coroutineScope
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnimeFavorites
|
|
||||||
import eu.kanade.tachiyomi.animesource.AnimeSource
|
import eu.kanade.tachiyomi.animesource.AnimeSource
|
||||||
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
||||||
import kotlinx.coroutines.channels.Channel
|
import kotlinx.coroutines.channels.Channel
|
||||||
|
@ -16,6 +15,7 @@ import kotlinx.coroutines.flow.update
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import logcat.LogPriority
|
import logcat.LogPriority
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnimeFavorites
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
|
@ -23,8 +23,6 @@ import cafe.adriel.voyager.core.screen.Screen
|
||||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import eu.kanade.presentation.browse.anime.BrowseAnimeSourceContent
|
import eu.kanade.presentation.browse.anime.BrowseAnimeSourceContent
|
||||||
import eu.kanade.presentation.components.ExtendedFloatingActionButton
|
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.components.SearchToolbar
|
import eu.kanade.presentation.components.SearchToolbar
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
|
import eu.kanade.tachiyomi.animesource.online.AnimeHttpSource
|
||||||
|
@ -36,6 +34,8 @@ import eu.kanade.tachiyomi.ui.home.HomeScreen
|
||||||
import eu.kanade.tachiyomi.ui.webview.WebViewScreen
|
import eu.kanade.tachiyomi.ui.webview.WebViewScreen
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
|
import tachiyomi.presentation.core.components.material.ExtendedFloatingActionButton
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
data class AnimeSourceSearchScreen(
|
data class AnimeSourceSearchScreen(
|
||||||
private val oldAnime: Anime,
|
private val oldAnime: Anime,
|
||||||
|
|
|
@ -25,15 +25,10 @@ import androidx.compose.ui.platform.LocalContext
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
import androidx.compose.ui.util.fastForEachIndexed
|
import androidx.compose.ui.util.fastForEachIndexed
|
||||||
import cafe.adriel.voyager.core.model.StateScreenModel
|
import cafe.adriel.voyager.core.model.StateScreenModel
|
||||||
import eu.kanade.domain.category.anime.interactor.SetAnimeCategories
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
||||||
import eu.kanade.domain.entries.anime.model.hasCustomCover
|
import eu.kanade.domain.entries.anime.model.hasCustomCover
|
||||||
import eu.kanade.domain.entries.anime.model.toSAnime
|
import eu.kanade.domain.entries.anime.model.toSAnime
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisodeByAnimeId
|
|
||||||
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
|
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithSource
|
||||||
import eu.kanade.domain.items.episode.interactor.UpdateEpisode
|
|
||||||
import eu.kanade.domain.track.anime.interactor.GetAnimeTracks
|
|
||||||
import eu.kanade.domain.track.anime.interactor.InsertAnimeTrack
|
|
||||||
import eu.kanade.presentation.components.LoadingScreen
|
import eu.kanade.presentation.components.LoadingScreen
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.animesource.AnimeSource
|
import eu.kanade.tachiyomi.animesource.AnimeSource
|
||||||
|
@ -50,9 +45,14 @@ import tachiyomi.core.preference.PreferenceStore
|
||||||
import tachiyomi.core.util.lang.launchIO
|
import tachiyomi.core.util.lang.launchIO
|
||||||
import tachiyomi.core.util.lang.withUIContext
|
import tachiyomi.core.util.lang.withUIContext
|
||||||
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
||||||
|
import tachiyomi.domain.category.anime.interactor.SetAnimeCategories
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import tachiyomi.domain.entries.anime.model.AnimeUpdate
|
import tachiyomi.domain.entries.anime.model.AnimeUpdate
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
|
||||||
|
import tachiyomi.domain.items.episode.interactor.UpdateEpisode
|
||||||
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
import tachiyomi.domain.items.episode.model.toEpisodeUpdate
|
||||||
|
import tachiyomi.domain.track.anime.interactor.GetAnimeTracks
|
||||||
|
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
|
@ -3,7 +3,6 @@ package eu.kanade.tachiyomi.ui.browse.anime.migration.search
|
||||||
import androidx.compose.runtime.Immutable
|
import androidx.compose.runtime.Immutable
|
||||||
import cafe.adriel.voyager.core.model.coroutineScope
|
import cafe.adriel.voyager.core.model.coroutineScope
|
||||||
import eu.kanade.domain.base.BasePreferences
|
import eu.kanade.domain.base.BasePreferences
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.source.service.SourcePreferences
|
import eu.kanade.domain.source.service.SourcePreferences
|
||||||
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
||||||
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
import eu.kanade.tachiyomi.source.anime.AnimeSourceManager
|
||||||
|
@ -11,6 +10,7 @@ import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.AnimeSearchItemRe
|
||||||
import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.AnimeSearchScreenModel
|
import eu.kanade.tachiyomi.ui.browse.anime.source.globalsearch.AnimeSearchScreenModel
|
||||||
import kotlinx.coroutines.flow.update
|
import kotlinx.coroutines.flow.update
|
||||||
import kotlinx.coroutines.launch
|
import kotlinx.coroutines.launch
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
|
@ -43,9 +43,7 @@ import eu.kanade.presentation.browse.anime.MissingSourceScreen
|
||||||
import eu.kanade.presentation.browse.anime.components.BrowseAnimeSourceToolbar
|
import eu.kanade.presentation.browse.anime.components.BrowseAnimeSourceToolbar
|
||||||
import eu.kanade.presentation.browse.anime.components.RemoveEntryDialog
|
import eu.kanade.presentation.browse.anime.components.RemoveEntryDialog
|
||||||
import eu.kanade.presentation.components.ChangeCategoryDialog
|
import eu.kanade.presentation.components.ChangeCategoryDialog
|
||||||
import eu.kanade.presentation.components.Divider
|
|
||||||
import eu.kanade.presentation.components.DuplicateAnimeDialog
|
import eu.kanade.presentation.components.DuplicateAnimeDialog
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.presentation.util.AssistContentScreen
|
import eu.kanade.presentation.util.AssistContentScreen
|
||||||
import eu.kanade.presentation.util.padding
|
import eu.kanade.presentation.util.padding
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
|
@ -62,6 +60,8 @@ import kotlinx.coroutines.channels.Channel
|
||||||
import kotlinx.coroutines.flow.collectLatest
|
import kotlinx.coroutines.flow.collectLatest
|
||||||
import kotlinx.coroutines.flow.receiveAsFlow
|
import kotlinx.coroutines.flow.receiveAsFlow
|
||||||
import tachiyomi.core.util.lang.launchIO
|
import tachiyomi.core.util.lang.launchIO
|
||||||
|
import tachiyomi.presentation.core.components.material.Divider
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
|
|
||||||
data class BrowseAnimeSourceScreen(
|
data class BrowseAnimeSourceScreen(
|
||||||
private val sourceId: Long,
|
private val sourceId: Long,
|
||||||
|
|
|
@ -18,21 +18,15 @@ import eu.davidea.flexibleadapter.items.IFlexible
|
||||||
import eu.kanade.core.prefs.CheckboxState
|
import eu.kanade.core.prefs.CheckboxState
|
||||||
import eu.kanade.core.prefs.asState
|
import eu.kanade.core.prefs.asState
|
||||||
import eu.kanade.core.prefs.mapAsCheckboxState
|
import eu.kanade.core.prefs.mapAsCheckboxState
|
||||||
import eu.kanade.domain.category.anime.interactor.SetAnimeCategories
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetDuplicateLibraryAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.NetworkToLocalAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
||||||
import eu.kanade.domain.entries.anime.model.copyFrom
|
import eu.kanade.domain.entries.anime.model.copyFrom
|
||||||
import eu.kanade.domain.entries.anime.model.toDomainAnime
|
import eu.kanade.domain.entries.anime.model.toDomainAnime
|
||||||
import eu.kanade.domain.entries.anime.model.toSAnime
|
import eu.kanade.domain.entries.anime.model.toSAnime
|
||||||
import eu.kanade.domain.items.episode.interactor.GetEpisodeByAnimeId
|
|
||||||
import eu.kanade.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
|
import eu.kanade.domain.items.episode.interactor.SetAnimeDefaultEpisodeFlags
|
||||||
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
import eu.kanade.domain.items.episode.interactor.SyncEpisodesWithTrackServiceTwoWay
|
||||||
import eu.kanade.domain.library.service.LibraryPreferences
|
import eu.kanade.domain.library.service.LibraryPreferences
|
||||||
import eu.kanade.domain.source.anime.interactor.GetRemoteAnime
|
import eu.kanade.domain.source.anime.interactor.GetRemoteAnime
|
||||||
import eu.kanade.domain.source.service.SourcePreferences
|
import eu.kanade.domain.source.service.SourcePreferences
|
||||||
import eu.kanade.domain.track.anime.interactor.InsertAnimeTrack
|
|
||||||
import eu.kanade.domain.track.anime.model.toDomainTrack
|
import eu.kanade.domain.track.anime.model.toDomainTrack
|
||||||
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
import eu.kanade.tachiyomi.animesource.AnimeCatalogueSource
|
||||||
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
|
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
|
||||||
|
@ -71,9 +65,15 @@ import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.lang.withNonCancellableContext
|
import tachiyomi.core.util.lang.withNonCancellableContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
import tachiyomi.domain.category.anime.interactor.GetAnimeCategories
|
||||||
|
import tachiyomi.domain.category.anime.interactor.SetAnimeCategories
|
||||||
import tachiyomi.domain.category.model.Category
|
import tachiyomi.domain.category.model.Category
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetDuplicateLibraryAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.NetworkToLocalAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import tachiyomi.domain.entries.anime.model.toAnimeUpdate
|
import tachiyomi.domain.entries.anime.model.toAnimeUpdate
|
||||||
|
import tachiyomi.domain.items.episode.interactor.GetEpisodeByAnimeId
|
||||||
|
import tachiyomi.domain.track.anime.interactor.InsertAnimeTrack
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
import java.util.Date
|
import java.util.Date
|
||||||
|
|
|
@ -5,8 +5,6 @@ import androidx.compose.runtime.State
|
||||||
import androidx.compose.runtime.produceState
|
import androidx.compose.runtime.produceState
|
||||||
import cafe.adriel.voyager.core.model.StateScreenModel
|
import cafe.adriel.voyager.core.model.StateScreenModel
|
||||||
import cafe.adriel.voyager.core.model.coroutineScope
|
import cafe.adriel.voyager.core.model.coroutineScope
|
||||||
import eu.kanade.domain.entries.anime.interactor.GetAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.NetworkToLocalAnime
|
|
||||||
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
import eu.kanade.domain.entries.anime.interactor.UpdateAnime
|
||||||
import eu.kanade.domain.entries.anime.model.copyFrom
|
import eu.kanade.domain.entries.anime.model.copyFrom
|
||||||
import eu.kanade.domain.entries.anime.model.toDomainAnime
|
import eu.kanade.domain.entries.anime.model.toDomainAnime
|
||||||
|
@ -25,6 +23,8 @@ import tachiyomi.core.util.lang.awaitSingle
|
||||||
import tachiyomi.core.util.lang.withIOContext
|
import tachiyomi.core.util.lang.withIOContext
|
||||||
import tachiyomi.core.util.lang.withNonCancellableContext
|
import tachiyomi.core.util.lang.withNonCancellableContext
|
||||||
import tachiyomi.core.util.system.logcat
|
import tachiyomi.core.util.system.logcat
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.GetAnime
|
||||||
|
import tachiyomi.domain.entries.anime.interactor.NetworkToLocalAnime
|
||||||
import tachiyomi.domain.entries.anime.model.Anime
|
import tachiyomi.domain.entries.anime.model.Anime
|
||||||
import tachiyomi.domain.entries.anime.model.toAnimeUpdate
|
import tachiyomi.domain.entries.anime.model.toAnimeUpdate
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
|
|
|
@ -39,13 +39,13 @@ import cafe.adriel.voyager.core.screen.Screen
|
||||||
import cafe.adriel.voyager.core.screen.uniqueScreenKey
|
import cafe.adriel.voyager.core.screen.uniqueScreenKey
|
||||||
import cafe.adriel.voyager.navigator.LocalNavigator
|
import cafe.adriel.voyager.navigator.LocalNavigator
|
||||||
import cafe.adriel.voyager.navigator.currentOrThrow
|
import cafe.adriel.voyager.navigator.currentOrThrow
|
||||||
import eu.kanade.presentation.components.Scaffold
|
|
||||||
import eu.kanade.tachiyomi.R
|
import eu.kanade.tachiyomi.R
|
||||||
import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore
|
import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore
|
||||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||||
import eu.kanade.tachiyomi.source.manga.MangaSourceManager
|
import eu.kanade.tachiyomi.source.manga.MangaSourceManager
|
||||||
import eu.kanade.tachiyomi.source.manga.getPreferenceKey
|
import eu.kanade.tachiyomi.source.manga.getPreferenceKey
|
||||||
import eu.kanade.tachiyomi.widget.TachiyomiTextInputEditText.Companion.setIncognito
|
import eu.kanade.tachiyomi.widget.TachiyomiTextInputEditText.Companion.setIncognito
|
||||||
|
import tachiyomi.presentation.core.components.material.Scaffold
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue