multiplatform: insets

This commit is contained in:
Avently
2024-10-14 20:35:04 +07:00
parent b7131e16f2
commit 134d115fbb
13 changed files with 84 additions and 44 deletions
@@ -5,7 +5,11 @@ import android.content.Intent
import android.net.Uri
import android.os.*
import android.view.WindowManager
import androidx.activity.SystemBarStyle
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.toArgb
import androidx.compose.ui.platform.ClipboardManager
import androidx.fragment.app.FragmentActivity
import chat.simplex.app.model.NtfManager
@@ -47,6 +51,7 @@ class MainActivity: FragmentActivity() {
WindowManager.LayoutParams.FLAG_SECURE
)
}
enableEdgeToEdge()
setContent {
AppScreen()
}
@@ -314,37 +314,38 @@ class SimplexApp: Application(), LifecycleEventObserver {
@Suppress("DEPRECATION")
val windowInsetController = ViewCompat.getWindowInsetsController(window.decorView)
var statusBar = (if (hasTop && appPrefs.onboardingStage.get() == OnboardingStage.OnboardingComplete) {
backgroundColor.mixWith(CurrentColors.value.colors.onBackground, 0.97f)
} else {
if (CurrentColors.value.base == DefaultTheme.SIMPLEX) {
backgroundColor.lighter(0.4f)
} else {
backgroundColor
}
}).toArgb()
// var statusBar = (if (hasTop && appPrefs.onboardingStage.get() == OnboardingStage.OnboardingComplete) {
// backgroundColor.mixWith(CurrentColors.value.colors.onBackground, 0.97f)
// } else {
// if (CurrentColors.value.base == DefaultTheme.SIMPLEX) {
// backgroundColor.lighter(0.4f)
// } else {
// backgroundColor
// }
// }).toArgb()
var statusBarLight = isLight
// SimplexGreen while in call
//
// // SimplexGreen while in call
if (window.statusBarColor == SimplexGreen.toArgb()) {
statusBarColorAfterCall.intValue = statusBar
statusBar = SimplexGreen.toArgb()
// statusBarColorAfterCall.intValue = statusBar
// statusBar = SimplexGreen.toArgb()
statusBarLight = false
}
val navBar = (if (hasBottom && appPrefs.onboardingStage.get() == OnboardingStage.OnboardingComplete) {
backgroundColor.mixWith(CurrentColors.value.colors.onBackground, 0.97f)
} else {
backgroundColor
}).toArgb()
if (window.statusBarColor != statusBar) {
window.statusBarColor = statusBar
}
// val navBar = (if (hasBottom && appPrefs.onboardingStage.get() == OnboardingStage.OnboardingComplete) {
// backgroundColor.mixWith(CurrentColors.value.colors.onBackground, 0.97f)
// } else {
// backgroundColor
// }).toArgb()
// if (window.statusBarColor != statusBar) {
// window.statusBarColor = statusBar
// }
if (windowInsetController?.isAppearanceLightStatusBars != statusBarLight) {
windowInsetController?.isAppearanceLightStatusBars = statusBarLight
}
if (window.navigationBarColor != navBar) {
window.navigationBarColor = navBar
}
// if (window.navigationBarColor != navBar) {
// window.navigationBarColor = navBar
// }
window.navigationBarColor = Color.Transparent.toArgb()
if (windowInsetController?.isAppearanceLightNavigationBars != isLight) {
windowInsetController?.isAppearanceLightNavigationBars = isLight
}