diff --git a/app/build.gradle.kts b/app/build.gradle.kts index a6bf7de8b..0d50154fb 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -159,6 +159,7 @@ kotlin { "-opt-in=androidx.compose.foundation.ExperimentalFoundationApi", "-opt-in=androidx.compose.foundation.layout.ExperimentalLayoutApi", "-opt-in=androidx.compose.material3.ExperimentalMaterial3Api", + "-opt-in=androidx.compose.material3.ExperimentalMaterial3ExpressiveApi", "-opt-in=androidx.compose.ui.ExperimentalComposeUiApi", "-opt-in=coil3.annotation.ExperimentalCoilApi", "-opt-in=kotlinx.coroutines.ExperimentalCoroutinesApi", diff --git a/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt b/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt index debf500fa..e7d8a4867 100644 --- a/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt +++ b/app/src/main/java/eu/kanade/presentation/theme/TachiyomiTheme.kt @@ -3,7 +3,7 @@ package eu.kanade.presentation.theme import android.content.Context import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.material3.ColorScheme -import androidx.compose.material3.MaterialTheme +import androidx.compose.material3.MaterialExpressiveTheme import androidx.compose.runtime.Composable import androidx.compose.runtime.remember import androidx.compose.ui.platform.LocalContext @@ -56,7 +56,7 @@ private fun BaseTachiyomiTheme( ) { val context = LocalContext.current val isDark = isSystemInDarkTheme() - MaterialTheme( + MaterialExpressiveTheme( colorScheme = remember(appTheme, isDark, isAmoled) { getThemeColorScheme( context = context, diff --git a/app/src/main/java/eu/kanade/presentation/theme/colorscheme/MonetColorScheme.kt b/app/src/main/java/eu/kanade/presentation/theme/colorscheme/MonetColorScheme.kt index fb670babe..039d4bd16 100644 --- a/app/src/main/java/eu/kanade/presentation/theme/colorscheme/MonetColorScheme.kt +++ b/app/src/main/java/eu/kanade/presentation/theme/colorscheme/MonetColorScheme.kt @@ -8,6 +8,8 @@ import androidx.compose.material3.ColorScheme import androidx.compose.material3.dynamicDarkColorScheme import androidx.compose.material3.dynamicLightColorScheme import androidx.compose.ui.graphics.Color +import com.materialkolor.PaletteStyle +import com.materialkolor.dynamiccolor.ColorSpec import com.materialkolor.ktx.DynamicScheme import com.materialkolor.toColorScheme @@ -48,7 +50,12 @@ internal class MonetCompatColorScheme(seed: Color) : BaseColorScheme() { companion object { fun generateColorSchemeFromSeed(seed: Color, dark: Boolean): ColorScheme { - return DynamicScheme(seedColor = seed, isDark = dark) + return DynamicScheme( + seedColor = seed, + isDark = dark, + specVersion = ColorSpec.SpecVersion.SPEC_2025, + style = PaletteStyle.Expressive, + ) .toColorScheme(isAmoled = false) } }