summaryrefslogtreecommitdiffhomepage
path: root/android/lib/theme
diff options
context:
space:
mode:
authorDavid Göransson <david.goransson@mullvad.net>2024-03-07 09:38:46 +0100
committerDavid Göransson <david.goransson@mullvad.net>2024-03-11 16:43:07 +0100
commit83ebef709a40ae0387e6ce43d16fab61eae94ee5 (patch)
treec3cc78a39128f3f406bc9e28292a9f2bca821257 /android/lib/theme
parentbed06a1c14eaa312c8ed76a6310754261addaee5 (diff)
downloadmullvadvpn-83ebef709a40ae0387e6ce43d16fab61eae94ee5.tar.xz
mullvadvpn-83ebef709a40ae0387e6ce43d16fab61eae94ee5.zip
Increase ripple contrast
Diffstat (limited to 'android/lib/theme')
-rw-r--r--android/lib/theme/src/main/kotlin/net/mullvad/mullvadvpn/lib/theme/Theme.kt31
1 files changed, 30 insertions, 1 deletions
diff --git a/android/lib/theme/src/main/kotlin/net/mullvad/mullvadvpn/lib/theme/Theme.kt b/android/lib/theme/src/main/kotlin/net/mullvad/mullvadvpn/lib/theme/Theme.kt
index 8d68723679..85d45c4d2b 100644
--- a/android/lib/theme/src/main/kotlin/net/mullvad/mullvadvpn/lib/theme/Theme.kt
+++ b/android/lib/theme/src/main/kotlin/net/mullvad/mullvadvpn/lib/theme/Theme.kt
@@ -1,12 +1,17 @@
package net.mullvad.mullvadvpn.lib.theme
import androidx.compose.foundation.shape.RoundedCornerShape
+import androidx.compose.material.ripple.LocalRippleTheme
+import androidx.compose.material.ripple.RippleAlpha
+import androidx.compose.material.ripple.RippleTheme
+import androidx.compose.material3.LocalContentColor
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Shapes
import androidx.compose.material3.Typography
import androidx.compose.material3.darkColorScheme
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.runtime.Immutable
import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.graphics.Color
@@ -97,6 +102,21 @@ val Shapes =
val Dimens: Dimensions
@Composable get() = LocalAppDimens.current
+private object StateTokens {
+ const val DraggedStateLayerOpacity = 0.16f // 0.16f (Material default)
+ const val FocusStateLayerOpacity = 0.24f // 0.12f (Material default)
+ const val HoverStateLayerOpacity = 0.08f // 0.08f (Material default)
+ const val PressedStateLayerOpacity = 0.12f // 0.12f (Material default)
+}
+
+private val rippleAlpha =
+ RippleAlpha(
+ pressedAlpha = StateTokens.PressedStateLayerOpacity,
+ focusedAlpha = StateTokens.FocusStateLayerOpacity,
+ draggedAlpha = StateTokens.DraggedStateLayerOpacity,
+ hoveredAlpha = StateTokens.HoverStateLayerOpacity
+ )
+
@Composable
fun ProvideDimens(dimensions: Dimensions, content: @Composable () -> Unit) {
val dimensionSet = remember { dimensions }
@@ -117,7 +137,16 @@ fun AppTheme(content: @Composable () -> Unit) {
colorScheme = colors,
shapes = Shapes,
typography = typography,
- content = content
+ content = {
+ CompositionLocalProvider(LocalRippleTheme provides MullvadRippleTheme) { content() }
+ }
)
}
}
+
+@Immutable
+object MullvadRippleTheme : RippleTheme {
+ @Composable override fun defaultColor() = LocalContentColor.current
+
+ @Composable override fun rippleAlpha() = rippleAlpha
+}