@ -16,7 +16,8 @@
package com.google.samples.apps.nowinandroid.core.designsystem
package com.google.samples.apps.nowinandroid.core.designsystem
import android.os.Build
import android.os.Build.VERSION.SDK_INT
import android.os.Build.VERSION_CODES
import androidx.compose.material3.ColorScheme
import androidx.compose.material3.ColorScheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.dynamicDarkColorScheme
import androidx.compose.material3.dynamicDarkColorScheme
@ -219,60 +220,41 @@ class ThemeTest {
}
}
@Composable
@Composable
private fun dynamicLightColorSchemeWithFallback ( ) : ColorScheme {
private fun dynamicLightColorSchemeWithFallback ( ) : ColorScheme = when {
return if ( Build . VERSION . SDK _INT >= Build . VERSION_CODES . S ) {
SDK _INT >= VERSION_CODES . S -> dynamicLightColorScheme ( LocalContext . current )
dynamicLightColorScheme ( LocalContext . current )
else -> LightDefaultColorScheme
} else {
LightDefaultColorScheme
}
}
}
@Composable
@Composable
private fun dynamicDarkColorSchemeWithFallback ( ) : ColorScheme {
private fun dynamicDarkColorSchemeWithFallback ( ) : ColorScheme = when {
return if ( Build . VERSION . SDK _INT >= Build . VERSION_CODES . S ) {
SDK _INT >= VERSION_CODES . S -> dynamicDarkColorScheme ( LocalContext . current )
dynamicDarkColorScheme ( LocalContext . current )
else -> DarkDefaultColorScheme
} else {
DarkDefaultColorScheme
}
}
}
private fun emptyGradientColors ( colorScheme : ColorScheme ) : GradientColors {
private fun emptyGradientColors ( colorScheme : ColorScheme ) : GradientColors =
return GradientColors ( container = colorScheme . surfaceColorAtElevation ( 2. dp ) )
GradientColors ( container = colorScheme . surfaceColorAtElevation ( 2. dp ) )
}
private fun defaultGradientColors ( colorScheme : ColorScheme ) : GradientColors {
private fun defaultGradientColors ( colorScheme : ColorScheme ) : GradientColors = GradientColors (
return GradientColors (
top = colorScheme . inverseOnSurface ,
top = colorScheme . inverseOnSurface ,
bottom = colorScheme . primaryContainer ,
bottom = colorScheme . primaryContainer ,
container = colorScheme . surface ,
container = colorScheme . surface ,
)
)
}
private fun dynamicGradientColorsWithFallback ( colorScheme : ColorScheme ) : GradientColors {
private fun dynamicGradientColorsWithFallback ( colorScheme : ColorScheme ) : GradientColors = when {
return if ( Build . VERSION . SDK _INT >= Build . VERSION_CODES . S ) {
SDK _INT >= VERSION_CODES . S -> emptyGradientColors ( colorScheme )
emptyGradientColors ( colorScheme )
else -> defaultGradientColors ( colorScheme )
} else {
defaultGradientColors ( colorScheme )
}
}
}
private fun defaultBackgroundTheme ( colorScheme : ColorScheme ) : BackgroundTheme {
private fun defaultBackgroundTheme ( colorScheme : ColorScheme ) : BackgroundTheme = BackgroundTheme (
return BackgroundTheme (
color = colorScheme . surface ,
color = colorScheme . surface ,
tonalElevation = 2. dp ,
tonalElevation = 2. dp ,
)
)
}
private fun defaultTintTheme ( ) : TintTheme {
private fun defaultTintTheme ( ) : TintTheme = TintTheme ( )
return TintTheme ( )
}
private fun dynamicTintThemeWithFallback ( colorScheme : ColorScheme ) : TintTheme {
private fun dynamicTintThemeWithFallback ( colorScheme : ColorScheme ) : TintTheme = when {
return if ( Build . VERSION . SDK _INT >= Build . VERSION_CODES . S ) {
SDK _INT >= VERSION_CODES . S -> TintTheme ( colorScheme . primary )
TintTheme ( colorScheme . primary )
else -> TintTheme ( )
} else {
TintTheme ( )
}
}
}
/ * *
/ * *