HapeLee 3 месяцев назад
Родитель
Сommit
b2fb80bfc5

+ 4 - 0
app/src/main/java/io/legado/app/ui/book/info/BookInfoBackdropStyle.kt

@@ -5,6 +5,7 @@ import io.legado.app.ui.config.themeConfig.ThemeConfig
 internal data class BookInfoBackdropStyle(
     val showCover: Boolean,
     val blurCover: Boolean,
+    val applySeedOverlay: Boolean,
 )
 
 internal fun resolveBookInfoBackdropStyle(backgroundMode: String): BookInfoBackdropStyle {
@@ -12,16 +13,19 @@ internal fun resolveBookInfoBackdropStyle(backgroundMode: String): BookInfoBackd
         ThemeConfig.BOOK_INFO_BACKGROUND_BLUR_OFF -> BookInfoBackdropStyle(
             showCover = true,
             blurCover = false,
+            applySeedOverlay = true,
         )
 
         ThemeConfig.BOOK_INFO_BACKGROUND_COVER_HIDDEN -> BookInfoBackdropStyle(
             showCover = false,
             blurCover = false,
+            applySeedOverlay = false,
         )
 
         else -> BookInfoBackdropStyle(
             showCover = true,
             blurCover = true,
+            applySeedOverlay = true,
         )
     }
 }

+ 6 - 6
app/src/main/java/io/legado/app/ui/book/info/BookInfoScreen.kt

@@ -280,7 +280,7 @@ private fun BookInfoScreenContent(
                                     onNetworkCoverLoadError(book.coverPath)
                                 },
                                 usesDefaultCover = usesDefaultCover,
-                                blurCover = resolvedBackdropStyle.blurCover,
+                                applySeedOverlay = resolvedBackdropStyle.applySeedOverlay,
                                 sharedTransitionScope = sharedTransitionScope,
                                 animatedVisibilityScope = animatedVisibilityScope,
                                 sharedCoverKey = sharedCoverKey,
@@ -675,7 +675,7 @@ private fun BookInfoBackdrop(
                 )
             }
         }
-        if (style.blurCover) {
+        if (style.applySeedOverlay) {
             Box(
                 modifier = Modifier
                     .fillMaxSize()
@@ -689,12 +689,12 @@ private fun BookInfoBackdrop(
                     Brush.verticalGradient(
                         colorStops = arrayOf(
                             0f to Color.Transparent,
-                            0.20f to if (style.blurCover) {
+                            0.20f to if (style.applySeedOverlay) {
                                 seedOverlay.copy(alpha = 0.10f)
                             } else {
                                 Color.Transparent
                             },
-                            0.40f to if (style.blurCover) {
+                            0.40f to if (style.applySeedOverlay) {
                                 seedOverlay.copy(alpha = 0.18f)
                             } else {
                                 LegadoTheme.colorScheme.surface.copy(alpha = 0.35f)
@@ -820,7 +820,7 @@ private fun BookInfoHeader(
     onOriginClick: () -> Unit,
     onNetworkCoverLoadError: () -> Unit,
     usesDefaultCover: Boolean,
-    blurCover: Boolean,
+    applySeedOverlay: Boolean,
     sharedTransitionScope: SharedTransitionScope?,
     animatedVisibilityScope: AnimatedVisibilityScope?,
     sharedCoverKey: String?,
@@ -833,7 +833,7 @@ private fun BookInfoHeader(
                 Brush.verticalGradient(
                     colors = listOf(
                         Color.Transparent,
-                        if (blurCover) {
+                        if (applySeedOverlay) {
                             lerp(LegadoTheme.colorScheme.surface, LegadoTheme.seedColor, 0.08f)
                                 .copy(alpha = 0.5f)
                         } else {

+ 15 - 3
app/src/test/java/io/legado/app/ui/book/info/BookInfoBackdropStyleTest.kt

@@ -9,15 +9,27 @@ class BookInfoBackdropStyleTest {
     @Test
     fun backgroundModesKeepTheirExpectedCoverTreatment() {
         assertEquals(
-            BookInfoBackdropStyle(showCover = true, blurCover = false),
+            BookInfoBackdropStyle(
+                showCover = true,
+                blurCover = false,
+                applySeedOverlay = true,
+            ),
             resolveBookInfoBackdropStyle(ThemeConfig.BOOK_INFO_BACKGROUND_BLUR_OFF)
         )
         assertEquals(
-            BookInfoBackdropStyle(showCover = true, blurCover = true),
+            BookInfoBackdropStyle(
+                showCover = true,
+                blurCover = true,
+                applySeedOverlay = true,
+            ),
             resolveBookInfoBackdropStyle(ThemeConfig.BOOK_INFO_BACKGROUND_BLUR_ON)
         )
         assertEquals(
-            BookInfoBackdropStyle(showCover = false, blurCover = false),
+            BookInfoBackdropStyle(
+                showCover = false,
+                blurCover = false,
+                applySeedOverlay = false,
+            ),
             resolveBookInfoBackdropStyle(ThemeConfig.BOOK_INFO_BACKGROUND_COVER_HIDDEN)
         )
     }