diff --git a/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationActivity.kt b/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationActivity.kt index 7f47774e..c28e9bbd 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationActivity.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationActivity.kt @@ -7,8 +7,13 @@ import android.os.Bundle import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.activity.viewModels +import androidx.compose.material3.MaterialTheme +import androidx.compose.runtime.SideEffect import androidx.compose.runtime.collectAsState import androidx.compose.runtime.getValue +import androidx.compose.ui.graphics.luminance +import androidx.compose.ui.graphics.toArgb +import androidx.core.view.WindowCompat import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.qualifiers.ApplicationContext import eu.darken.capod.common.compose.waitForState @@ -53,6 +58,15 @@ class WidgetConfigurationActivity : Activity2() { setContent { val themeState by generalSettings.themeState.collectAsState(initial = generalSettings.currentThemeState) CapodTheme(state = themeState) { + val backgroundColor = MaterialTheme.colorScheme.background + val useDarkIcons = backgroundColor.luminance() > 0.5f + SideEffect { + window.decorView.setBackgroundColor(backgroundColor.toArgb()) + val insetsController = WindowCompat.getInsetsController(window, window.decorView) + insetsController.isAppearanceLightStatusBars = useDarkIcons + insetsController.isAppearanceLightNavigationBars = useDarkIcons + } + val state by waitForState(vm.state) state?.let { currentState -> WidgetConfigurationScreen( diff --git a/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationScreen.kt b/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationScreen.kt index 47c6c6e4..28a3058a 100644 --- a/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationScreen.kt +++ b/app/src/main/java/eu/darken/capod/main/ui/widget/WidgetConfigurationScreen.kt @@ -31,6 +31,8 @@ import androidx.compose.foundation.layout.FlowRow import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.WindowInsets +import androidx.compose.foundation.layout.WindowInsetsSides +import androidx.compose.foundation.layout.only import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height @@ -113,7 +115,7 @@ fun WidgetConfigurationScreen( Column( modifier = Modifier .fillMaxSize() - .windowInsetsPadding(WindowInsets.systemBars), + .windowInsetsPadding(WindowInsets.systemBars.only(WindowInsetsSides.Top + WindowInsetsSides.Horizontal)), ) { Column( modifier = Modifier @@ -326,7 +328,7 @@ fun WidgetConfigurationScreen( // Bottom bar Surface(tonalElevation = 3.dp) { - Column { + Column(modifier = Modifier.windowInsetsPadding(WindowInsets.systemBars.only(WindowInsetsSides.Bottom))) { if (!state.isPro) { Text( text = stringResource(R.string.common_feature_requires_pro_msg),