diff --git a/app/src/main/java/eu/kanade/core/navigation/Screen.kt b/app/src/main/java/eu/kanade/core/navigation/Screen.kt new file mode 100644 index 000000000..0f0cac0da --- /dev/null +++ b/app/src/main/java/eu/kanade/core/navigation/Screen.kt @@ -0,0 +1,12 @@ +package eu.kanade.core.navigation + +import cafe.adriel.voyager.core.screen.ScreenKey +import cafe.adriel.voyager.core.screen.uniqueScreenKey +import cafe.adriel.voyager.core.screen.Screen as VoyagerScreen + +// TODO: this prevents crashes in nested navigators with transitions not being disposed +// properly. Go back to using vanilla Voyager Screens once fixed upstream. +abstract class Screen : VoyagerScreen { + + override val key: ScreenKey = uniqueScreenKey +} diff --git a/app/src/main/java/eu/kanade/presentation/components/AdaptiveSheet.kt b/app/src/main/java/eu/kanade/presentation/components/AdaptiveSheet.kt index b349891a7..cb2a06102 100644 --- a/app/src/main/java/eu/kanade/presentation/components/AdaptiveSheet.kt +++ b/app/src/main/java/eu/kanade/presentation/components/AdaptiveSheet.kt @@ -53,9 +53,9 @@ import androidx.compose.ui.unit.IntOffset import androidx.compose.ui.unit.Velocity import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.lifecycle.DisposableEffectIgnoringConfiguration -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.transitions.ScreenTransition +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.util.isTabletUi import kotlinx.coroutines.delay import kotlinx.coroutines.flow.collectLatest diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt index 777dd57d7..33fdca552 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/AboutScreen.kt @@ -20,9 +20,9 @@ import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.domain.ui.UiPreferences import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.more.LogoHeader @@ -54,7 +54,7 @@ import java.text.SimpleDateFormat import java.util.Locale import java.util.TimeZone -object AboutScreen : Screen { +object AboutScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt index 21ac4619b..9bdc3ff12 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/ClearDatabaseScreen.kt @@ -34,10 +34,9 @@ import androidx.compose.ui.util.fastMap import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.domain.source.interactor.GetSourcesWithNonLibraryManga import eu.kanade.presentation.browse.components.SourceIcon import eu.kanade.presentation.components.AppBar @@ -61,9 +60,7 @@ import tachiyomi.presentation.core.util.selectedBackground import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -class ClearDatabaseScreen : Screen { - - override val key = uniqueScreenKey +class ClearDatabaseScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/LicensesScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/LicensesScreen.kt index 6bf129772..7ae37b3ea 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/LicensesScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/LicensesScreen.kt @@ -5,16 +5,16 @@ import androidx.compose.material3.MaterialTheme import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow import com.mikepenz.aboutlibraries.ui.compose.LibrariesContainer import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.tachiyomi.R import tachiyomi.presentation.core.components.material.Scaffold -class LicensesScreen : Screen { +class LicensesScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt index eadb35ff2..d24c83234 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsMainScreen.kt @@ -41,10 +41,10 @@ import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import androidx.core.graphics.ColorUtils -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.AppBarActions import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget @@ -55,8 +55,9 @@ import exh.assets.ehassets.EhLogo import exh.assets.ehassets.MangadexLogo import tachiyomi.presentation.core.components.LazyColumn import tachiyomi.presentation.core.components.material.Scaffold +import cafe.adriel.voyager.core.screen.Screen as VoyagerScreen -object SettingsMainScreen : Screen { +object SettingsMainScreen : Screen() { @Composable override fun Content() { @@ -179,7 +180,7 @@ object SettingsMainScreen : Screen { ) } - private fun Navigator.navigate(screen: Screen, twoPane: Boolean) { + private fun Navigator.navigate(screen: VoyagerScreen, twoPane: Boolean) { if (twoPane) replaceAll(screen) else push(screen) } @@ -188,7 +189,7 @@ object SettingsMainScreen : Screen { @StringRes val subtitleRes: Int, val formatSubtitle: @Composable () -> String = { stringResource(subtitleRes) }, val icon: ImageVector, - val screen: Screen, + val screen: VoyagerScreen, ) private val items = listOf( diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt index bf7af9e8d..9c0cd3e4c 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/SettingsSearchScreen.kt @@ -47,9 +47,9 @@ import androidx.compose.ui.text.input.ImeAction import androidx.compose.ui.text.input.TextFieldValue import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.unit.dp -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.EmptyScreen import eu.kanade.presentation.more.settings.Preference import eu.kanade.tachiyomi.R @@ -57,8 +57,9 @@ import eu.kanade.tachiyomi.util.system.isLTR import tachiyomi.presentation.core.components.material.Divider import tachiyomi.presentation.core.components.material.Scaffold import tachiyomi.presentation.core.util.runOnEnterKeyPressed +import cafe.adriel.voyager.core.screen.Screen as VoyagerScreen -class SettingsSearchScreen : Screen { +class SettingsSearchScreen : Screen() { @Composable override fun Content() { @@ -304,12 +305,12 @@ private val settingScreens = listOf( private data class SettingsData( val title: String, - val route: Screen, + val route: VoyagerScreen, val contents: List, ) private data class SearchResultItem( - val route: Screen, + val route: VoyagerScreen, val title: String, val breadcrumbs: String, val highlightKey: String, diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/WorkerInfoScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/WorkerInfoScreen.kt index eb652d0ae..edd1e7132 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/WorkerInfoScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/WorkerInfoScreen.kt @@ -34,9 +34,9 @@ import androidx.work.WorkQuery import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.coroutineScope import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.tachiyomi.R import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.map @@ -46,7 +46,7 @@ import tachiyomi.presentation.core.components.LazyColumn import tachiyomi.presentation.core.components.material.Scaffold import tachiyomi.presentation.core.util.plus -object WorkerInfoScreen : Screen { +object WorkerInfoScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt index a18e5a890..1ec16ba28 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/ExtensionFilterScreen.kt @@ -6,16 +6,16 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.ExtensionFilterScreen import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.util.system.toast import kotlinx.coroutines.flow.collectLatest import tachiyomi.presentation.core.components.LoadingScreen -class ExtensionFilterScreen : Screen { +class ExtensionFilterScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt index 355ca8daf..2191d218d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/ExtensionDetailsScreen.kt @@ -7,16 +7,16 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.ExtensionDetailsScreen import kotlinx.coroutines.flow.collectLatest import tachiyomi.presentation.core.components.LoadingScreen data class ExtensionDetailsScreen( private val pkgName: String, -) : Screen { +) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt index de4f4547d..874e31806 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/extension/details/SourcePreferencesScreen.kt @@ -35,10 +35,9 @@ import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceScreen import androidx.preference.forEach import androidx.preference.getOnBindEditTextListener -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.data.preference.SharedPreferencesDataStore import eu.kanade.tachiyomi.source.ConfigurableSource @@ -50,9 +49,7 @@ import tachiyomi.presentation.core.components.material.Scaffold import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -class SourcePreferencesScreen(val sourceId: Long) : Screen { - - override val key = uniqueScreenKey +class SourcePreferencesScreen(val sourceId: Long) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/PreMigrationScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/PreMigrationScreen.kt index c7a4d2d5f..47787e3f4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/PreMigrationScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/design/PreMigrationScreen.kt @@ -36,10 +36,10 @@ import androidx.core.view.updateLayoutParams import androidx.core.view.updatePadding import androidx.recyclerview.widget.LinearLayoutManager import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.OverflowMenu import eu.kanade.tachiyomi.R @@ -50,8 +50,7 @@ import tachiyomi.presentation.core.components.material.ExtendedFloatingActionBut import tachiyomi.presentation.core.components.material.Scaffold import kotlin.math.roundToInt -class PreMigrationScreen(val mangaIds: List) : Screen { - +class PreMigrationScreen(val mangaIds: List) : Screen() { @Composable override fun Content() { val screenModel = rememberScreenModel { PreMigrationScreenModel() } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt index 42c92db94..aa59a81cc 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/advanced/process/MigrationListScreen.kt @@ -9,10 +9,9 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import androidx.compose.ui.platform.LocalContext import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.MigrationListScreen import eu.kanade.presentation.browse.components.MigrationExitDialog import eu.kanade.presentation.browse.components.MigrationMangaDialog @@ -23,13 +22,10 @@ import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.util.system.toast import tachiyomi.core.util.lang.withUIContext -class MigrationListScreen(private val config: MigrationProcedureConfig) : Screen { +class MigrationListScreen(private val config: MigrationProcedureConfig) : Screen() { @delegate:Transient var newSelectedItem by mutableStateOf?>(null) - - override val key = uniqueScreenKey - @Composable override fun Content() { val screenModel = rememberScreenModel { MigrationListScreenModel(config) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt index 77e48c5f7..5f338c09e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/manga/MigrationMangaScreen.kt @@ -6,9 +6,9 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.domain.UnsortedPreferences import eu.kanade.presentation.browse.MigrateMangaScreen import eu.kanade.tachiyomi.R @@ -22,7 +22,7 @@ import uy.kohesive.injekt.api.get data class MigrationMangaScreen( private val sourceId: Long, -) : Screen { +) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt index 8efa3b9a4..075b77a23 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/MigrateSearchScreen.kt @@ -4,14 +4,14 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.MigrateSearchScreen import eu.kanade.tachiyomi.ui.browse.migration.advanced.process.MigrationListScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen -class MigrateSearchScreen(private val mangaId: Long, private val validSources: List) : Screen { +class MigrateSearchScreen(private val mangaId: Long, private val validSources: List) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt index 42e5c8659..b8a906a2e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/search/SourceSearchScreen.kt @@ -12,9 +12,9 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalUriHandler import androidx.paging.compose.collectAsLazyPagingItems import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceFloatingActionButton import eu.kanade.presentation.components.SearchToolbar @@ -32,7 +32,7 @@ data class SourceSearchScreen( private val oldManga: Manga, private val sourceId: Long, private val query: String?, -) : Screen { +) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesScreen.kt index d50139719..6cb701e2f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/migration/sources/MigrationSourcesScreen.kt @@ -1,11 +1,10 @@ package eu.kanade.tachiyomi.ui.browse.migration.sources import androidx.compose.runtime.Composable -import cafe.adriel.voyager.core.screen.Screen +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.BrowseTabWrapper -class MigrationSourcesScreen : Screen { - +class MigrationSourcesScreen : Screen() { @Composable override fun Content() { BrowseTabWrapper(migrateSourceTab()) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreen.kt index e9b21ed46..d365cc3f3 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesFilterScreen.kt @@ -6,15 +6,15 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.SourcesFilterScreen import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.util.system.toast import tachiyomi.presentation.core.components.LoadingScreen -class SourcesFilterScreen : Screen { +class SourcesFilterScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreen.kt index 6e8ae1ae2..6317b927f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/SourcesScreen.kt @@ -1,12 +1,11 @@ package eu.kanade.tachiyomi.ui.browse.source import androidx.compose.runtime.Composable -import cafe.adriel.voyager.core.screen.Screen +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.BrowseTabWrapper import java.io.Serializable -class SourcesScreen(private val smartSearchConfig: SmartSearchConfig?) : Screen { - +class SourcesScreen(private val smartSearchConfig: SmartSearchConfig?) : Screen() { @Composable override fun Content() { BrowseTabWrapper(sourcesTab(smartSearchConfig)) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt index cf8b2a3d2..edf1a67a7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/browse/BrowseSourceScreen.kt @@ -34,10 +34,9 @@ import androidx.compose.ui.platform.LocalUriHandler import androidx.compose.ui.res.stringResource import androidx.paging.compose.collectAsLazyPagingItems import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.MissingSourceScreen import eu.kanade.presentation.browse.components.BrowseSourceToolbar @@ -76,12 +75,10 @@ data class BrowseSourceScreen( private val savedSearch: Long? = null, private val smartSearchConfig: SourcesScreen.SmartSearchConfig? = null, // SY <-- -) : Screen, AssistContentScreen { +) : Screen(), AssistContentScreen { private var assistUrl: String? = null - override val key = uniqueScreenKey - override fun onProvideAssistUrl() = assistUrl @Composable diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt index c7093df62..5c0a1a4fa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/feed/SourceFeedScreen.kt @@ -9,10 +9,10 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.ui.platform.LocalContext import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.domain.source.interactor.GetRemoteManga import eu.kanade.presentation.browse.SourceFeedScreen import eu.kanade.presentation.browse.components.FailedToLoadSavedSearchDialog @@ -34,11 +34,10 @@ import tachiyomi.domain.manga.model.Manga import tachiyomi.domain.source.model.SavedSearch import xyz.nulldev.ts.api.http.serializer.FilterSerializer -class SourceFeedScreen(val sourceId: Long) : Screen { +class SourceFeedScreen(val sourceId: Long) : Screen() { @Transient private var filterSheet: SourceFilterSheet? = null - @Composable override fun Content() { val screenModel = rememberScreenModel { SourceFeedScreenModel(sourceId) } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt index 368806bb2..ec5aabbee 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/browse/source/globalsearch/GlobalSearchScreen.kt @@ -4,10 +4,9 @@ import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.GlobalSearchScreen import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceScreen import eu.kanade.tachiyomi.ui.manga.MangaScreen @@ -15,9 +14,7 @@ import eu.kanade.tachiyomi.ui.manga.MangaScreen class GlobalSearchScreen( val searchQuery: String = "", val extensionFilter: String = "", -) : Screen { - - override val key = uniqueScreenKey +) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt index 20ba714b1..eb6ccc0b4 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/CategoryScreen.kt @@ -8,10 +8,9 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.util.fastMap import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.category.CategoryScreen import eu.kanade.presentation.category.components.CategoryCreateDialog import eu.kanade.presentation.category.components.CategoryDeleteDialog @@ -21,9 +20,7 @@ import eu.kanade.tachiyomi.util.system.toast import kotlinx.coroutines.flow.collectLatest import tachiyomi.presentation.core.components.LoadingScreen -class CategoryScreen : Screen { - - override val key = uniqueScreenKey +class CategoryScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt index 4433aef79..590930707 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/biometric/BiometricTimesScreen.kt @@ -7,10 +7,10 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow import com.google.android.material.timepicker.MaterialTimePicker +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.category.BiometricTimesScreen import eu.kanade.presentation.category.components.CategoryDeleteDialog import eu.kanade.tachiyomi.R @@ -22,8 +22,7 @@ import kotlin.time.Duration import kotlin.time.Duration.Companion.hours import kotlin.time.Duration.Companion.minutes -class BiometricTimesScreen : Screen { - +class BiometricTimesScreen : Screen() { @Composable override fun Content() { val context = LocalContext.current diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagScreen.kt index b0105a98f..9c583b539 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/genre/SortTagScreen.kt @@ -7,9 +7,9 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.category.components.CategoryCreateDialog import eu.kanade.presentation.category.components.CategoryDeleteDialog import eu.kanade.tachiyomi.R @@ -17,8 +17,7 @@ import eu.kanade.tachiyomi.util.system.toast import kotlinx.coroutines.flow.collectLatest import tachiyomi.presentation.core.components.LoadingScreen -class SortTagScreen : Screen { - +class SortTagScreen : Screen() { @Composable override fun Content() { val context = LocalContext.current diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/repos/RepoScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/repos/RepoScreen.kt index 071c1f345..380769225 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/repos/RepoScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/repos/RepoScreen.kt @@ -7,9 +7,9 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.category.SourceRepoScreen import eu.kanade.presentation.category.components.CategoryCreateDialog import eu.kanade.presentation.category.components.CategoryDeleteDialog @@ -18,8 +18,7 @@ import eu.kanade.tachiyomi.util.system.toast import kotlinx.coroutines.flow.collectLatest import tachiyomi.presentation.core.components.LoadingScreen -class RepoScreen : Screen { - +class RepoScreen : Screen() { @Composable override fun Content() { val context = LocalContext.current diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryScreen.kt index 2e68fe95a..0fbe757e8 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/category/sources/SourceCategoryScreen.kt @@ -7,9 +7,9 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.category.SourceCategoryScreen import eu.kanade.presentation.category.components.CategoryCreateDialog import eu.kanade.presentation.category.components.CategoryDeleteDialog @@ -19,7 +19,7 @@ import eu.kanade.tachiyomi.util.system.toast import kotlinx.coroutines.flow.collectLatest import tachiyomi.presentation.core.components.LoadingScreen -class SourceCategoryScreen : Screen { +class SourceCategoryScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt index c8e82247a..6a2836122 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadQueueScreen.kt @@ -45,9 +45,9 @@ import androidx.core.view.updateLayoutParams import androidx.core.view.updatePadding import androidx.recyclerview.widget.LinearLayoutManager import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.EmptyScreen import eu.kanade.presentation.components.OverflowMenu @@ -60,7 +60,7 @@ import tachiyomi.presentation.core.components.material.ExtendedFloatingActionBut import tachiyomi.presentation.core.components.material.Scaffold import kotlin.math.roundToInt -object DownloadQueueScreen : Screen { +object DownloadQueueScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt index 5c999e83a..f39422bc7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/home/HomeScreen.kt @@ -31,11 +31,11 @@ import androidx.compose.ui.semantics.contentDescription import androidx.compose.ui.semantics.semantics import androidx.compose.ui.text.style.TextOverflow import androidx.compose.ui.util.fastForEach -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow import cafe.adriel.voyager.navigator.tab.LocalTabNavigator import cafe.adriel.voyager.navigator.tab.TabNavigator +import eu.kanade.core.navigation.Screen import eu.kanade.core.prefs.asState import eu.kanade.core.util.fastFilter import eu.kanade.domain.library.service.LibraryPreferences @@ -63,7 +63,7 @@ import tachiyomi.presentation.core.components.material.Scaffold import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get -object HomeScreen : Screen { +object HomeScreen : Screen() { private val librarySearchEvent = Channel() private val openTabEvent = Channel() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt index 632652621..6f6992435 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/MangaScreen.kt @@ -19,12 +19,11 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalHapticFeedback import androidx.core.net.toUri import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow import com.google.android.material.dialog.MaterialAlertDialogBuilder +import eu.kanade.core.navigation.Screen import eu.kanade.domain.UnsortedPreferences import eu.kanade.domain.manga.model.hasCustomCover import eu.kanade.domain.manga.model.toSManga @@ -86,12 +85,10 @@ class MangaScreen( private val mangaId: Long, val fromSource: Boolean = false, private val smartSearchConfig: SourcesScreen.SmartSearchConfig? = null, -) : Screen, AssistContentScreen { +) : Screen(), AssistContentScreen { private var assistUrl: String? = null - override val key = uniqueScreenKey - override fun onProvideAssistUrl() = assistUrl @Composable diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackInfoDialog.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackInfoDialog.kt index b8030fb7c..5b3311d33 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackInfoDialog.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/track/TrackInfoDialog.kt @@ -32,10 +32,10 @@ import cafe.adriel.voyager.core.model.ScreenModel import cafe.adriel.voyager.core.model.StateScreenModel import cafe.adriel.voyager.core.model.coroutineScope import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.domain.chapter.interactor.SyncChaptersWithTrackServiceTwoWay import eu.kanade.domain.track.model.toDbTrack import eu.kanade.domain.track.model.toDomainTrack @@ -83,7 +83,7 @@ data class TrackInfoDialogHomeScreen( private val mangaId: Long, private val mangaTitle: String, private val sourceId: Long, -) : Screen { +) : Screen() { @Composable override fun Content() { @@ -265,7 +265,7 @@ data class TrackInfoDialogHomeScreen( private data class TrackStatusSelectorScreen( private val track: Track, private val serviceId: Long, -) : Screen { +) : Screen() { @Composable override fun Content() { @@ -314,7 +314,7 @@ private data class TrackStatusSelectorScreen( private data class TrackChapterSelectorScreen( private val track: Track, private val serviceId: Long, -) : Screen { +) : Screen() { @Composable override fun Content() { @@ -369,7 +369,7 @@ private data class TrackChapterSelectorScreen( private data class TrackScoreSelectorScreen( private val track: Track, private val serviceId: Long, -) : Screen { +) : Screen() { @Composable override fun Content() { @@ -420,7 +420,7 @@ private data class TrackDateSelectorScreen( private val track: Track, private val serviceId: Long, private val start: Boolean, -) : Screen { +) : Screen() { @Composable override fun Content() { @@ -514,7 +514,7 @@ private data class TrackDateRemoverScreen( private val track: Track, private val serviceId: Long, private val start: Boolean, -) : Screen { +) : Screen() { @Composable override fun Content() { @@ -597,7 +597,7 @@ data class TrackServiceSearchScreen( private val initialQuery: String, private val currentUrl: String?, private val serviceId: Long, -) : Screen { +) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/more/NewUpdateScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/more/NewUpdateScreen.kt index f634f38c3..2ee4339fe 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/more/NewUpdateScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/more/NewUpdateScreen.kt @@ -3,9 +3,9 @@ package eu.kanade.tachiyomi.ui.more import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.more.NewUpdateScreen import eu.kanade.tachiyomi.data.updater.AppUpdateService import eu.kanade.tachiyomi.util.system.openInBrowser @@ -15,7 +15,7 @@ class NewUpdateScreen( private val changelogInfo: String, private val releaseLink: String, private val downloadLink: String, -) : Screen { +) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt index 0ded25b45..4be9b01fa 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/setting/SettingsScreen.kt @@ -9,10 +9,10 @@ import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.runtime.Composable import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.ui.Modifier -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.more.settings.screen.AboutScreen import eu.kanade.presentation.more.settings.screen.SettingsBackupScreen import eu.kanade.presentation.more.settings.screen.SettingsGeneralScreen @@ -25,7 +25,7 @@ import tachiyomi.presentation.core.components.TwoPanelBox class SettingsScreen private constructor( val toBackup: Boolean, val toAbout: Boolean, -) : Screen { +) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreen.kt index 4f264f2bb..4d738745f 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/stats/StatsScreen.kt @@ -5,10 +5,9 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.res.stringResource import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.more.stats.StatsScreenContent import eu.kanade.presentation.more.stats.StatsScreenState @@ -16,9 +15,7 @@ import eu.kanade.tachiyomi.R import tachiyomi.presentation.core.components.LoadingScreen import tachiyomi.presentation.core.components.material.Scaffold -class StatsScreen : Screen { - - override val key = uniqueScreenKey +class StatsScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewScreen.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewScreen.kt index 7ae6100c8..8d4485ece 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewScreen.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/webview/WebViewScreen.kt @@ -3,10 +3,9 @@ package eu.kanade.tachiyomi.ui.webview import androidx.compose.runtime.Composable import androidx.compose.ui.platform.LocalContext import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen -import cafe.adriel.voyager.core.screen.uniqueScreenKey import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.util.AssistContentScreen import eu.kanade.presentation.webview.WebViewScreenContent @@ -14,12 +13,10 @@ class WebViewScreen( private val url: String, private val initialTitle: String? = null, private val sourceId: Long? = null, -) : Screen, AssistContentScreen { +) : Screen(), AssistContentScreen { private var assistUrl: String? = null - override val key = uniqueScreenKey - override fun onProvideAssistUrl() = assistUrl @Composable diff --git a/app/src/main/java/exh/debug/SettingsDebugScreen.kt b/app/src/main/java/exh/debug/SettingsDebugScreen.kt index 1029495d4..f1378a465 100644 --- a/app/src/main/java/exh/debug/SettingsDebugScreen.kt +++ b/app/src/main/java/exh/debug/SettingsDebugScreen.kt @@ -43,9 +43,9 @@ import androidx.compose.ui.input.pointer.pointerInput import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.SpanStyle import androidx.compose.ui.unit.dp -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.core.prefs.PreferenceMutableState import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget @@ -66,7 +66,7 @@ import kotlin.reflect.KFunction import kotlin.reflect.KVisibility import kotlin.reflect.full.declaredFunctions -class SettingsDebugScreen : Screen { +class SettingsDebugScreen : Screen() { data class DebugToggle(val name: String, val pref: PreferenceMutableState, val default: Boolean) diff --git a/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt b/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt index e40035cd5..03627f906 100644 --- a/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt +++ b/app/src/main/java/exh/md/follows/MangaDexFollowsScreen.kt @@ -13,9 +13,9 @@ import androidx.compose.ui.platform.LocalHapticFeedback import androidx.compose.ui.res.stringResource import androidx.paging.compose.collectAsLazyPagingItems import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar import eu.kanade.presentation.browse.components.RemoveMangaDialog @@ -28,7 +28,7 @@ import eu.kanade.tachiyomi.ui.manga.MangaScreen import tachiyomi.core.util.lang.launchIO import tachiyomi.presentation.core.components.material.Scaffold -class MangaDexFollowsScreen(private val sourceId: Long) : Screen { +class MangaDexFollowsScreen(private val sourceId: Long) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt b/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt index 2df1f8199..76c9cc69d 100644 --- a/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt +++ b/app/src/main/java/exh/md/similar/MangaDexSimilarScreen.kt @@ -10,9 +10,9 @@ import androidx.compose.ui.platform.LocalConfiguration import androidx.compose.ui.res.stringResource import androidx.paging.compose.collectAsLazyPagingItems import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar import eu.kanade.tachiyomi.R @@ -20,7 +20,7 @@ import eu.kanade.tachiyomi.ui.manga.MangaScreen import tachiyomi.domain.manga.model.Manga import tachiyomi.presentation.core.components.material.Scaffold -class MangaDexSimilarScreen(val mangaId: Long, val sourceId: Long) : Screen { +class MangaDexSimilarScreen(val mangaId: Long, val sourceId: Long) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/exh/pagepreview/PagePreviewScreen.kt b/app/src/main/java/exh/pagepreview/PagePreviewScreen.kt index 77fa99c12..30bd337f3 100644 --- a/app/src/main/java/exh/pagepreview/PagePreviewScreen.kt +++ b/app/src/main/java/exh/pagepreview/PagePreviewScreen.kt @@ -6,13 +6,13 @@ import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue import androidx.compose.ui.platform.LocalContext import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.tachiyomi.ui.reader.ReaderActivity import exh.pagepreview.components.PagePreviewScreen -class PagePreviewScreen(private val mangaId: Long) : Screen { +class PagePreviewScreen(private val mangaId: Long) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/exh/recs/RecommendsScreen.kt b/app/src/main/java/exh/recs/RecommendsScreen.kt index b0f6e011c..381665716 100644 --- a/app/src/main/java/exh/recs/RecommendsScreen.kt +++ b/app/src/main/java/exh/recs/RecommendsScreen.kt @@ -9,17 +9,17 @@ import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalConfiguration import androidx.paging.compose.collectAsLazyPagingItems import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.Navigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.browse.BrowseSourceContent import eu.kanade.presentation.browse.components.BrowseSourceSimpleToolbar import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen import tachiyomi.domain.manga.model.Manga import tachiyomi.presentation.core.components.material.Scaffold -class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen { +class RecommendsScreen(val mangaId: Long, val sourceId: Long) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/exh/ui/batchadd/BatchAddScreen.kt b/app/src/main/java/exh/ui/batchadd/BatchAddScreen.kt index 3d0f6d0f8..e42c2dff9 100644 --- a/app/src/main/java/exh/ui/batchadd/BatchAddScreen.kt +++ b/app/src/main/java/exh/ui/batchadd/BatchAddScreen.kt @@ -27,9 +27,9 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.tachiyomi.R import tachiyomi.presentation.core.components.LazyColumn @@ -38,7 +38,7 @@ import tachiyomi.presentation.core.components.material.Scaffold import tachiyomi.presentation.core.components.material.padding import tachiyomi.presentation.core.util.plus -class BatchAddScreen : Screen { +class BatchAddScreen : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt b/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt index c6ec250e5..c168e750e 100644 --- a/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt +++ b/app/src/main/java/exh/ui/metadata/MetadataViewScreen.kt @@ -19,9 +19,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.presentation.components.EmptyScreen import eu.kanade.tachiyomi.R @@ -33,7 +33,7 @@ import tachiyomi.presentation.core.components.material.topSmallPaddingValues import tachiyomi.presentation.core.util.clickableNoIndication import tachiyomi.presentation.core.util.plus -class MetadataViewScreen(private val mangaId: Long, private val sourceId: Long) : Screen { +class MetadataViewScreen(private val mangaId: Long, private val sourceId: Long) : Screen() { @Composable override fun Content() { diff --git a/app/src/main/java/exh/ui/smartsearch/SmartSearchScreen.kt b/app/src/main/java/exh/ui/smartsearch/SmartSearchScreen.kt index 559005b2a..f59279daa 100644 --- a/app/src/main/java/exh/ui/smartsearch/SmartSearchScreen.kt +++ b/app/src/main/java/exh/ui/smartsearch/SmartSearchScreen.kt @@ -18,9 +18,9 @@ import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.model.rememberScreenModel -import cafe.adriel.voyager.core.screen.Screen import cafe.adriel.voyager.navigator.LocalNavigator import cafe.adriel.voyager.navigator.currentOrThrow +import eu.kanade.core.navigation.Screen import eu.kanade.presentation.components.AppBar import eu.kanade.tachiyomi.R import eu.kanade.tachiyomi.ui.browse.source.SourcesScreen @@ -29,7 +29,10 @@ import eu.kanade.tachiyomi.ui.manga.MangaScreen import eu.kanade.tachiyomi.util.system.toast import tachiyomi.presentation.core.components.material.Scaffold -class SmartSearchScreen(private val sourceId: Long, private val smartSearchConfig: SourcesScreen.SmartSearchConfig) : Screen { +class SmartSearchScreen( + private val sourceId: Long, + private val smartSearchConfig: SourcesScreen.SmartSearchConfig +) : Screen() { @Composable override fun Content() {