diff --git a/app/src/main/java/no/nordicsemi/android/common/test/MainActivity.kt b/app/src/main/java/no/nordicsemi/android/common/test/MainActivity.kt index a8bd1312..e29698b0 100644 --- a/app/src/main/java/no/nordicsemi/android/common/test/MainActivity.kt +++ b/app/src/main/java/no/nordicsemi/android/common/test/MainActivity.kt @@ -81,7 +81,7 @@ class MainActivity : NordicActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - WindowCompat.setDecorFitsSystemWindows(window, false) + setDecorFitsSystemWindows(false) val menuItems = listOf( Item("Main", Tabs, Icons.Filled.Verified), diff --git a/theme/src/main/java/no/nordicsemi/android/common/theme/NordicActivity.kt b/theme/src/main/java/no/nordicsemi/android/common/theme/NordicActivity.kt index 8b9d867a..372b1c17 100644 --- a/theme/src/main/java/no/nordicsemi/android/common/theme/NordicActivity.kt +++ b/theme/src/main/java/no/nordicsemi/android/common/theme/NordicActivity.kt @@ -37,8 +37,9 @@ import android.os.Bundle import android.view.View import android.view.WindowInsetsController import androidx.activity.ComponentActivity +import androidx.core.content.ContextCompat import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import androidx.core.view.ViewCompat +import androidx.core.view.WindowCompat /** * Base activity that sets the Nordic theme and the Splash Screen. @@ -56,6 +57,8 @@ abstract class NordicActivity : ComponentActivity() { setTheme(R.style.NordicTheme) super.onCreate(savedInstanceState) + setDecorFitsSystemWindows(true) + val view = window.decorView if (!isDarkMode()) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { @@ -85,6 +88,15 @@ abstract class NordicActivity : ComponentActivity() { } } + fun setDecorFitsSystemWindows(decorFitsSystemWindows: Boolean) { + if (!decorFitsSystemWindows) { + WindowCompat.setDecorFitsSystemWindows(window, false) + window.statusBarColor = ContextCompat.getColor(this, android.R.color.transparent) + } else { + window.statusBarColor = ContextCompat.getColor(this, R.color.statusBarColor) + } + } + fun isDarkMode(): Boolean { val darkModeFlag = resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK return darkModeFlag == Configuration.UI_MODE_NIGHT_YES