andrew
10/03/2021, 5:48 PMenum class DarkTheme(private val _enabled: @Composable () -> Boolean) {
NO({ false }),
YES({ true }),
AUTO({ isSystemInDarkTheme() });
val enabled: Boolean
@Composable
get() = _enabled()
}
ephemient
10/03/2021, 5:58 PMenum class DarkTheme(private val overrideSystemInDarkTheme: Boolean?) {
ForceLight(false),
ForceDark(true),
FollowSystem(null);
val isDarkTheme: Boolean
@Composable
get() = overrideSystemInDarkTheme ?: isSystemInDarkTheme()
}
enum class DarkTheme {
ForceLight,
ForceDark,
FollowSystem;
val isDarkTheme: Boolean
@Composable
get() = when (this) {
ForceLight -> false
ForceDark -> true
FollowSystem -> isSystemInDarkTheme()
}
}
enum class DarkTheme {
ForceLight {
override val isDarkTheme: Boolean
@Composable
get() = false
},
ForceDark {
override val isDarkTheme: Boolean
@Composable
get() = true
},
FollowSystem {
override val isDarkTheme: Boolean
@Composable
get() = isSystemInDarkTheme()
};
@get:Composable
abstract val isDarkTheme: Boolean
}
andrew
10/03/2021, 5:59 PMandrew
10/03/2021, 5:59 PMandrew
10/03/2021, 6:00 PM