Browse Source

Lift Compose theme to abstract controller

arkon 2 years ago
parent
commit
032aa64195

+ 25 - 32
app/src/main/java/eu/kanade/presentation/history/HistoryScreen.kt

@@ -46,7 +46,6 @@ import eu.kanade.domain.history.model.HistoryWithRelations
 import eu.kanade.presentation.components.EmptyScreen
 import eu.kanade.presentation.components.MangaCover
 import eu.kanade.presentation.components.MangaCoverAspect
-import eu.kanade.presentation.theme.TachiyomiTheme
 import eu.kanade.presentation.util.horizontalPadding
 import eu.kanade.tachiyomi.R
 import eu.kanade.tachiyomi.data.preference.PreferencesHelper
@@ -61,12 +60,6 @@ import java.text.DecimalFormat
 import java.text.DecimalFormatSymbols
 import java.util.Date
 
-val chapterFormatter = DecimalFormat(
-    "#.###",
-    DecimalFormatSymbols()
-        .apply { decimalSeparator = '.' },
-)
-
 @Composable
 fun HistoryScreen(
     composeView: ComposeView,
@@ -76,27 +69,25 @@ fun HistoryScreen(
     onClickDelete: (HistoryWithRelations, Boolean) -> Unit,
 ) {
     val nestedScrollInterop = rememberNestedScrollInteropConnection(composeView)
-    TachiyomiTheme {
-        val state by presenter.state.collectAsState()
-        val history = state.list?.collectAsLazyPagingItems()
-        when {
-            history == null -> {
-                CircularProgressIndicator()
-            }
-            history.itemCount == 0 -> {
-                EmptyScreen(
-                    textResource = R.string.information_no_recent_manga
-                )
-            }
-            else -> {
-                HistoryContent(
-                    nestedScroll = nestedScrollInterop,
-                    history = history,
-                    onClickItem = onClickItem,
-                    onClickResume = onClickResume,
-                    onClickDelete = onClickDelete,
-                )
-            }
+    val state by presenter.state.collectAsState()
+    val history = state.list?.collectAsLazyPagingItems()
+    when {
+        history == null -> {
+            CircularProgressIndicator()
+        }
+        history.itemCount == 0 -> {
+            EmptyScreen(
+                textResource = R.string.information_no_recent_manga
+            )
+        }
+        else -> {
+            HistoryContent(
+                nestedScroll = nestedScrollInterop,
+                history = history,
+                onClickItem = onClickItem,
+                onClickResume = onClickResume,
+                onClickDelete = onClickDelete,
+            )
         }
     }
 }
@@ -146,10 +137,7 @@ fun HistoryContent(
             }
         }
         item {
-            Spacer(
-                modifier = Modifier
-                    .navigationBarsPadding()
-            )
+            Spacer(Modifier.navigationBarsPadding())
         }
     }
 
@@ -302,3 +290,8 @@ fun RemoveHistoryDialog(
         },
     )
 }
+
+private val chapterFormatter = DecimalFormat(
+    "#.###",
+    DecimalFormatSymbols().apply { decimalSeparator = '.' },
+)

+ 4 - 1
app/src/main/java/eu/kanade/tachiyomi/ui/base/controller/ComposeController.kt

@@ -3,6 +3,7 @@ package eu.kanade.tachiyomi.ui.base.controller
 import android.view.LayoutInflater
 import android.view.View
 import androidx.compose.runtime.Composable
+import eu.kanade.presentation.theme.TachiyomiTheme
 import eu.kanade.tachiyomi.databinding.ComposeControllerBinding
 import nucleus.presenter.Presenter
 
@@ -15,7 +16,9 @@ abstract class ComposeController<P : Presenter<*>> : NucleusController<ComposeCo
         super.onViewCreated(view)
 
         binding.root.setContent {
-            ComposeContent()
+            TachiyomiTheme {
+                ComposeContent()
+            }
         }
     }