ui:material3: remove some deprecated methods. Add support for dark theme by default
--- a/ui/material3/src/androidMain/kotlin/OpenSourceLicensesActivity.kt Sun Apr 27 16:28:55 2025 -0400
+++ b/ui/material3/src/androidMain/kotlin/OpenSourceLicensesActivity.kt Sun Apr 27 16:32:52 2025 -0400
@@ -21,17 +21,15 @@
*/
package com.geekorum.aboutoss.ui.material3
-import android.app.Activity
import android.os.Bundle
import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
import androidx.activity.viewModels
import androidx.compose.foundation.isSystemInDarkTheme
import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.lightColorScheme
import androidx.compose.runtime.Composable
-import androidx.compose.runtime.SideEffect
-import androidx.compose.ui.graphics.toArgb
-import androidx.compose.ui.platform.LocalView
-import androidx.core.view.WindowCompat
import com.geekorum.aboutoss.core.gms.GmsLicenseInfoRepository
import com.geekorum.aboutoss.ui.common.BaseOpensourceLicenseActivity
import com.geekorum.aboutoss.ui.common.Factory
@@ -60,7 +58,7 @@
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- WindowCompat.setDecorFitsSystemWindows(window, false)
+ enableEdgeToEdge()
setContent {
themeProvider {
OpenSourceDependenciesNavHost(
@@ -82,16 +80,8 @@
*/
var themeProvider: @Composable (@Composable () -> Unit) -> Unit = { content ->
val darkTheme: Boolean = isSystemInDarkTheme()
- val colorScheme = MaterialTheme.colorScheme
- val view = LocalView.current
- if (!view.isInEditMode) {
- SideEffect {
- val window = (view.context as Activity).window
- window.statusBarColor = colorScheme.primary.toArgb()
- WindowCompat.getInsetsController(window, view).isAppearanceLightStatusBars = darkTheme
- }
- }
- MaterialTheme(content = content)
+ val colorScheme = if (darkTheme) darkColorScheme() else lightColorScheme()
+ MaterialTheme(colorScheme, content = content)
}
}
}