Use mca component to judge is dynamic color available
This commit is contained in:
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)
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user