mirror of
https://github.com/CatimaLoyalty/Android.git
synced 2026-02-19 15:47:35 -05:00
Merge pull request #2912 from CatimaLoyalty/fix/2911
Fix Compose status and navigation bar theming
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package protect.card_locker
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.OnBackPressedDispatcher
|
||||
import androidx.activity.compose.setContent
|
||||
import androidx.compose.foundation.layout.Column
|
||||
@@ -26,12 +25,15 @@ import protect.card_locker.compose.CatimaAboutSection
|
||||
import protect.card_locker.compose.CatimaTopAppBar
|
||||
import protect.card_locker.compose.theme.CatimaTheme
|
||||
|
||||
class AboutActivity : ComponentActivity() {
|
||||
class AboutActivity : CatimaComponentActivity() {
|
||||
private lateinit var content: AboutContent
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
fixedEdgeToEdge()
|
||||
|
||||
content = AboutContent(this)
|
||||
title = content.pageTitle
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
package protect.card_locker
|
||||
|
||||
import android.graphics.Color
|
||||
import android.os.Bundle
|
||||
import android.os.PersistableBundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.SystemBarStyle
|
||||
import androidx.activity.enableEdgeToEdge
|
||||
import androidx.appcompat.app.AppCompatDelegate
|
||||
import protect.card_locker.preferences.Settings
|
||||
|
||||
open class CatimaComponentActivity() : ComponentActivity() {
|
||||
fun fixedEdgeToEdge() {
|
||||
// Fix edge-to-edge
|
||||
// When overriding onCreate this does not correctly get applied, which is why it is its own function
|
||||
|
||||
// We explicitly need to set the systemBarStyle ourselves, to prevent issues where Android
|
||||
// for example renders white icons on top of a white statusbar (or black on black)
|
||||
val settings = Settings(this)
|
||||
val systemBarStyle = when (settings.theme) {
|
||||
AppCompatDelegate.MODE_NIGHT_NO ->
|
||||
SystemBarStyle.light(
|
||||
scrim = Color.TRANSPARENT,
|
||||
darkScrim = Color.TRANSPARENT,
|
||||
)
|
||||
AppCompatDelegate.MODE_NIGHT_YES ->
|
||||
SystemBarStyle.dark(
|
||||
scrim = Color.TRANSPARENT,
|
||||
)
|
||||
else ->
|
||||
SystemBarStyle.auto(
|
||||
lightScrim = Color.TRANSPARENT,
|
||||
darkScrim = Color.TRANSPARENT
|
||||
)
|
||||
}
|
||||
|
||||
enableEdgeToEdge(
|
||||
statusBarStyle = systemBarStyle,
|
||||
navigationBarStyle = systemBarStyle
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user