From 47a93cc98a1b966adf6d902d664c292fd8c9f366 Mon Sep 17 00:00:00 2001 From: MM20 <15646950+MM2-0@users.noreply.github.com> Date: Fri, 10 Jun 2022 18:53:41 +0200 Subject: [PATCH] Add shapes to Launcher theme based on corner radius preference --- .../launcher2/ui/component/LauncherCard.kt | 2 +- .../mm20/launcher2/ui/theme/LauncherTheme.kt | 18 ++++++++++++++---- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/ui/src/main/java/de/mm20/launcher2/ui/component/LauncherCard.kt b/ui/src/main/java/de/mm20/launcher2/ui/component/LauncherCard.kt index e22dac3a..1f98d3c5 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/component/LauncherCard.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/component/LauncherCard.kt @@ -19,7 +19,7 @@ fun LauncherCard( ) { Surface( modifier = modifier, - shape = RoundedCornerShape(LocalCardStyle.current.radius.dp), + shape = MaterialTheme.shapes.medium, border = LocalCardStyle.current.borderWidth.takeIf { it > 0 } ?.let { BorderStroke(it.dp, MaterialTheme.colorScheme.surface) }, content = content, diff --git a/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt b/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt index 0527e9d9..035ff060 100644 --- a/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt +++ b/ui/src/main/java/de/mm20/launcher2/ui/theme/LauncherTheme.kt @@ -2,12 +2,11 @@ package de.mm20.launcher2.ui.theme import android.os.Build import androidx.compose.foundation.isSystemInDarkTheme -import androidx.compose.material3.ColorScheme -import androidx.compose.material3.MaterialTheme -import androidx.compose.material3.dynamicDarkColorScheme -import androidx.compose.material3.dynamicLightColorScheme +import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.* import androidx.compose.runtime.* import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.unit.dp import de.mm20.launcher2.preferences.LauncherDataStore import de.mm20.launcher2.preferences.Settings import de.mm20.launcher2.preferences.Settings.AppearanceSettings @@ -41,6 +40,10 @@ fun LauncherTheme( val darkTheme = themePreference == Theme.Dark || themePreference == Theme.System && isSystemInDarkTheme() + val cornerRadius by remember { + dataStore.data.map { it.cards.radius.dp } + }.collectAsState(8.dp) + val colorScheme by colorSchemeAsState(colorSchemePreference, darkTheme) CompositionLocalProvider( @@ -49,6 +52,13 @@ fun LauncherTheme( MaterialTheme( colorScheme = colorScheme, typography = DefaultTypography, + shapes = Shapes( + extraSmall = RoundedCornerShape(cornerRadius / 3f), + small = RoundedCornerShape(cornerRadius / 3f * 2f), + medium = RoundedCornerShape(cornerRadius), + large = RoundedCornerShape(cornerRadius / 3f * 4f), + extraLarge = RoundedCornerShape(cornerRadius / 3f * 7f), + ), content = content ) }