Răsfoiți Sursa

fix(theme): 移除 MiuixThemeWrapper 内全局嵌套的 MaterialTheme

HapeLee 3 luni în urmă
părinte
comite
8621867376

+ 3 - 11
app/src/main/java/io/legado/app/ui/theme/ThemeColorSchemeOverride.kt

@@ -110,8 +110,6 @@ fun ProvideColorSchemeOverride(
             isDark = resolvedIsDark,
         )
     }
-    val materialTypography = MaterialTheme.typography
-    val materialShapes = MaterialTheme.shapes
     val isMiuixEngine = ThemeResolver.isMiuixEngine(overrideThemeMode.composeEngine)
     val miuixColorSchemeMode = remember(overrideThemeMode.themeMode) {
         overrideThemeMode.themeMode.toMiuixMonetMode()
@@ -149,19 +147,13 @@ fun ProvideColorSchemeOverride(
     ) {
         if (miuixController != null) {
             MiuixTheme(controller = miuixController) {
-                MaterialTheme(
-                    colorScheme = colorScheme,
-                    typography = materialTypography,
-                    shapes = materialShapes
-                ) {
-                    content()
-                }
+                content()
             }
         } else {
             MaterialTheme(
                 colorScheme = colorScheme,
-                typography = materialTypography,
-                shapes = materialShapes
+                typography = MaterialTheme.typography,
+                shapes = MaterialTheme.shapes
             ) {
                 content()
             }

+ 1 - 85
app/src/main/java/io/legado/app/ui/theme/ThemeComponents.kt

@@ -3,10 +3,8 @@ package io.legado.app.ui.theme
 import android.graphics.Typeface
 import android.net.Uri
 import android.os.Build
-import androidx.compose.material3.ColorScheme
 import androidx.compose.material3.ExperimentalMaterial3ExpressiveApi
 import androidx.compose.material3.MaterialExpressiveTheme
-import androidx.compose.material3.MaterialTheme
 import androidx.compose.material3.MotionScheme
 import androidx.compose.material3.Shapes
 import androidx.compose.material3.Typography
@@ -201,93 +199,11 @@ fun MiuixThemeWrapper(
             )
         }
 
-        val materialTypography = remember(miuixStyles, customFontFamily) {
-            val base = miuixStylesToM3Typography(miuixStyles)
-            if (customFontFamily != null) {
-                base.copy(
-                    headlineLarge = base.headlineLarge.copy(fontFamily = customFontFamily),
-                    headlineMedium = base.headlineMedium.copy(fontFamily = customFontFamily),
-                    headlineSmall = base.headlineSmall.copy(fontFamily = customFontFamily),
-                    titleLarge = base.titleLarge.copy(fontFamily = customFontFamily),
-                    titleMedium = base.titleMedium.copy(fontFamily = customFontFamily),
-                    titleSmall = base.titleSmall.copy(fontFamily = customFontFamily),
-                    bodyLarge = base.bodyLarge.copy(fontFamily = customFontFamily),
-                    bodyMedium = base.bodyMedium.copy(fontFamily = customFontFamily),
-                    bodySmall = base.bodySmall.copy(fontFamily = customFontFamily),
-                    labelLarge = base.labelLarge.copy(fontFamily = customFontFamily),
-                    labelMedium = base.labelMedium.copy(fontFamily = customFontFamily),
-                    labelSmall = base.labelSmall.copy(fontFamily = customFontFamily)
-                )
-            } else {
-                base
-            }
-        }
-
         CompositionLocalProvider(
             LocalLegadoTypography provides legadoTypography,
             LocalLegadoColorScheme provides mappedColorScheme
         ) {
-            // 将 Miuix 色板(含深度个性化)映射为 M3 ColorScheme,
-            // 使 M3 组件(如 WideNavigationRail)在 Miuix 引擎下获取正确颜色
-            val materialColorScheme = remember(mappedColorScheme) {
-                ColorScheme(
-                    primary = mappedColorScheme.primary,
-                    onPrimary = mappedColorScheme.onPrimary,
-                    primaryContainer = mappedColorScheme.primaryContainer,
-                    onPrimaryContainer = mappedColorScheme.onPrimaryContainer,
-                    inversePrimary = mappedColorScheme.inversePrimary,
-                    secondary = mappedColorScheme.secondary,
-                    onSecondary = mappedColorScheme.onSecondary,
-                    secondaryContainer = mappedColorScheme.secondaryContainer,
-                    onSecondaryContainer = mappedColorScheme.onSecondaryContainer,
-                    tertiary = mappedColorScheme.tertiary,
-                    onTertiary = mappedColorScheme.onTertiary,
-                    tertiaryContainer = mappedColorScheme.tertiaryContainer,
-                    onTertiaryContainer = mappedColorScheme.onTertiaryContainer,
-                    background = mappedColorScheme.background,
-                    onBackground = mappedColorScheme.onBackground,
-                    surface = mappedColorScheme.surface,
-                    onSurface = mappedColorScheme.onSurface,
-                    surfaceVariant = mappedColorScheme.surfaceVariant,
-                    onSurfaceVariant = mappedColorScheme.onSurfaceVariant,
-                    surfaceTint = mappedColorScheme.surfaceTint,
-                    inverseSurface = mappedColorScheme.inverseSurface,
-                    inverseOnSurface = mappedColorScheme.inverseOnSurface,
-                    error = mappedColorScheme.error,
-                    onError = mappedColorScheme.onError,
-                    errorContainer = mappedColorScheme.errorContainer,
-                    onErrorContainer = mappedColorScheme.onErrorContainer,
-                    outline = mappedColorScheme.outline,
-                    outlineVariant = mappedColorScheme.outlineVariant,
-                    scrim = mappedColorScheme.scrim,
-                    surfaceBright = mappedColorScheme.surfaceBright,
-                    surfaceDim = mappedColorScheme.surfaceDim,
-                    surfaceContainer = mappedColorScheme.surfaceContainer,
-                    surfaceContainerHigh = mappedColorScheme.surfaceContainerHigh,
-                    surfaceContainerHighest = mappedColorScheme.surfaceContainerHighest,
-                    surfaceContainerLow = mappedColorScheme.surfaceContainerLow,
-                    surfaceContainerLowest = mappedColorScheme.surfaceContainerLowest,
-                    primaryFixed = mappedColorScheme.primaryFixed,
-                    primaryFixedDim = mappedColorScheme.primaryFixedDim,
-                    onPrimaryFixed = mappedColorScheme.onPrimaryFixed,
-                    onPrimaryFixedVariant = mappedColorScheme.onPrimaryFixedVariant,
-                    secondaryFixed = mappedColorScheme.secondaryFixed,
-                    secondaryFixedDim = mappedColorScheme.secondaryFixedDim,
-                    onSecondaryFixed = mappedColorScheme.onSecondaryFixed,
-                    onSecondaryFixedVariant = mappedColorScheme.onSecondaryFixedVariant,
-                    tertiaryFixed = mappedColorScheme.tertiaryFixed,
-                    tertiaryFixedDim = mappedColorScheme.tertiaryFixedDim,
-                    onTertiaryFixed = mappedColorScheme.onTertiaryFixed,
-                    onTertiaryFixedVariant = mappedColorScheme.onTertiaryFixedVariant,
-                )
-            }
-            MaterialTheme(
-                colorScheme = materialColorScheme,
-                typography = materialTypography,
-                shapes = Shapes()
-            ) {
-                AppBackground(darkTheme = darkTheme) { content() }
-            }
+            AppBackground(darkTheme = darkTheme) { content() }
         }
     }
 }