Use mca component to judge is dynamic color available

This commit is contained in:
tarsin committed 2023-01-10 18:17:10 +08:00
1 parent b0f2776a23
commit b1a431ed82
1 file changed
+2 -4
@@ -1,6 +1,5 @@
package com.hippo.ehviewer.ui.compose.theme
import android.os.Build
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.darkColorScheme
@@ -9,6 +8,7 @@ import androidx.compose.material3.dynamicLightColorScheme
import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import com.google.android.material.color.DynamicColors
private val DarkColorScheme = darkColorScheme()
private val LightColorScheme = lightColorScheme()
@@ -16,12 +16,10 @@ private val LightColorScheme = lightColorScheme()
@Composable
fun EhViewerTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
// Dynamic color is available on Android 12+
dynamicColor: Boolean = true,
content: @Composable () -> Unit
) {
val colorScheme = when {
dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
DynamicColors.isDynamicColorAvailable() -> {
val context = LocalContext.current
if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
}