From 5f57d35ce5da4d1efa30a03a6e49fb3f95b6d025 Mon Sep 17 00:00:00 2001 From: Danil Nikolaev Date: Sun, 14 Jul 2024 00:33:56 +0300 Subject: [PATCH] fix nav bar transparency --- .../meloda/app/fast/presentation/MainActivity.kt | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/meloda/app/fast/presentation/MainActivity.kt b/app/src/main/kotlin/com/meloda/app/fast/presentation/MainActivity.kt index d65787bc..0e04ba77 100644 --- a/app/src/main/kotlin/com/meloda/app/fast/presentation/MainActivity.kt +++ b/app/src/main/kotlin/com/meloda/app/fast/presentation/MainActivity.kt @@ -5,10 +5,12 @@ import android.app.NotificationChannel import android.app.NotificationManager import android.content.Context import android.content.Intent +import android.content.res.Configuration import android.net.Uri import android.os.Build import android.os.Bundle import android.provider.Settings +import androidx.activity.SystemBarStyle import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.appcompat.app.AppCompatActivity @@ -19,6 +21,8 @@ import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.compose.runtime.remember +import androidx.compose.ui.graphics.Color +import androidx.compose.ui.graphics.toArgb import androidx.compose.ui.platform.LocalContext import androidx.core.content.ContextCompat import androidx.core.os.LocaleListCompat @@ -50,7 +54,17 @@ class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - enableEdgeToEdge() + + val currentNightMode = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK + val systemBarStyle = when (currentNightMode) { + Configuration.UI_MODE_NIGHT_NO -> SystemBarStyle.light(Color.Transparent.toArgb(), Color.Transparent.toArgb()) + Configuration.UI_MODE_NIGHT_YES -> SystemBarStyle.dark(Color.Transparent.toArgb()) + else -> error("Illegal State, current mode is $currentNightMode") + } + enableEdgeToEdge( + statusBarStyle = systemBarStyle, + navigationBarStyle = systemBarStyle, + ) createNotificationChannels()