From 4ea29bbff61c7562e7d13f1d59c70a0554807e70 Mon Sep 17 00:00:00 2001 From: "Tran M. Cuong" Date: Mon, 17 Jun 2024 01:11:29 +0700 Subject: [PATCH] add readResolve for Screen & Tab (might fix the issue key currentTab was used multiple times?) --- .../more/settings/screen/SettingsMainScreen.kt | 3 ++- .../more/settings/screen/about/AboutScreen.kt | 3 ++- .../tachiyomi/ui/download/DownloadQueueScreen.kt | 2 ++ .../eu/kanade/tachiyomi/ui/history/HistoryTab.kt | 2 ++ .../eu/kanade/tachiyomi/ui/home/HomeScreen.kt | 16 +++++++++++++--- .../eu/kanade/tachiyomi/ui/library/LibraryTab.kt | 2 ++ .../java/eu/kanade/tachiyomi/ui/more/MoreTab.kt | 2 ++ .../eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt | 2 ++ 8 files changed, 27 insertions(+), 5 deletions(-) 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 a3ebe8516..9db1e8afb 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 @@ -9,7 +9,6 @@ import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.RoundedCornerShape import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.outlined.ChromeReaderMode -import androidx.compose.material.icons.outlined.ChromeReaderMode import androidx.compose.material.icons.outlined.Code import androidx.compose.material.icons.outlined.CollectionsBookmark import androidx.compose.material.icons.outlined.Explore @@ -56,6 +55,8 @@ import tachiyomi.presentation.core.i18n.stringResource import cafe.adriel.voyager.core.screen.Screen as VoyagerScreen object SettingsMainScreen : Screen() { + @Suppress("unused") + private fun readResolve(): Any = SettingsMainScreen @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt index 06d0a39dc..21773b249 100644 --- a/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt +++ b/app/src/main/java/eu/kanade/presentation/more/settings/screen/about/AboutScreen.kt @@ -58,8 +58,9 @@ import java.time.Instant import java.time.LocalDateTime import java.time.ZoneId -@Suppress("JavaIoSerializableObjectMustHaveReadResolve") object AboutScreen : Screen() { + @Suppress("unused") + private fun readResolve(): Any = AboutScreen @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 8332c0c97..13b496032 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 @@ -63,6 +63,8 @@ import tachiyomi.presentation.core.screens.EmptyScreen import kotlin.math.roundToInt object DownloadQueueScreen : Screen() { + @Suppress("unused") + private fun readResolve(): Any = DownloadQueueScreen @Composable override fun Content() { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt index f2118696c..49f49721e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/history/HistoryTab.kt @@ -39,6 +39,8 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object HistoryTab : Tab { + @Suppress("unused") + private fun readResolve(): Any = HistoryTab private val snackbarHostState = SnackbarHostState() 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 c6e3ba3aa..8c3fcf337 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 @@ -65,6 +65,8 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object HomeScreen : Screen() { + @Suppress("unused") + private fun readResolve(): Any = HomeScreen private val librarySearchEvent = Channel() private val openTabEvent = Channel() @@ -148,6 +150,7 @@ object HomeScreen : Screen() { materialFadeThroughOut(durationMillis = TabFadeDuration) }, label = "tabContent", + contentKey = { it.key } ) { tabNavigator.saveableState(key = "currentTab", it) { it.Content() @@ -194,8 +197,10 @@ object HomeScreen : Screen() { @Composable private fun RowScope.NavigationBarItem( - tab: eu.kanade.presentation.util.Tab/* SY --> */, - alwaysShowLabel: Boolean, /* SY <-- */ + tab: eu.kanade.presentation.util.Tab, + // SY --> + alwaysShowLabel: Boolean, + // SY <-- ) { val tabNavigator = LocalTabNavigator.current val navigator = LocalNavigator.currentOrThrow @@ -224,7 +229,12 @@ object HomeScreen : Screen() { } @Composable - fun NavigationRailItem(tab: eu.kanade.presentation.util.Tab/* SY --> */, alwaysShowLabel: Boolean/* SY <-- */) { + fun NavigationRailItem( + tab: eu.kanade.presentation.util.Tab, + // SY --> + alwaysShowLabel: Boolean, + // SY <-- + ) { val tabNavigator = LocalTabNavigator.current val navigator = LocalNavigator.currentOrThrow val scope = rememberCoroutineScope() diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt index d56f73338..91d016765 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryTab.kt @@ -76,6 +76,8 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object LibraryTab : Tab { + @Suppress("unused") + private fun readResolve(): Any = LibraryTab override val options: TabOptions @Composable diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt index 7701be295..bbc836f46 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/more/MoreTab.kt @@ -43,6 +43,8 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object MoreTab : Tab { + @Suppress("unused") + private fun readResolve(): Any = MoreTab override val options: TabOptions @Composable diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt index 566d061d8..911939020 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/updates/UpdatesTab.kt @@ -38,6 +38,8 @@ import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get object UpdatesTab : Tab { + @Suppress("unused") + private fun readResolve(): Any = UpdatesTab override val options: TabOptions @Composable