feat(crash): 崩溃界面适配用户深色模式
This commit is contained in:
parent
b193c285ce
commit
b626c3d1a9
1 changed files with 24 additions and 1 deletions
|
|
@ -5,10 +5,18 @@ import android.os.Bundle
|
||||||
import androidx.activity.ComponentActivity
|
import androidx.activity.ComponentActivity
|
||||||
import androidx.activity.compose.setContent
|
import androidx.activity.compose.setContent
|
||||||
import androidx.activity.enableEdgeToEdge
|
import androidx.activity.enableEdgeToEdge
|
||||||
|
import androidx.compose.foundation.isSystemInDarkTheme
|
||||||
import androidx.compose.foundation.layout.fillMaxSize
|
import androidx.compose.foundation.layout.fillMaxSize
|
||||||
|
import androidx.compose.runtime.LaunchedEffect
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.stringResource
|
import androidx.compose.ui.res.stringResource
|
||||||
|
import androidx.core.view.WindowCompat
|
||||||
import cn.super12138.todo.R
|
import cn.super12138.todo.R
|
||||||
|
import cn.super12138.todo.constants.GlobalValues
|
||||||
|
import cn.super12138.todo.logic.model.DarkMode
|
||||||
|
import cn.super12138.todo.logic.model.DarkMode.Dark
|
||||||
|
import cn.super12138.todo.logic.model.DarkMode.FollowSystem
|
||||||
|
import cn.super12138.todo.logic.model.DarkMode.Light
|
||||||
import cn.super12138.todo.ui.pages.crash.CrashPage
|
import cn.super12138.todo.ui.pages.crash.CrashPage
|
||||||
import cn.super12138.todo.ui.theme.ToDoTheme
|
import cn.super12138.todo.ui.theme.ToDoTheme
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
|
|
@ -51,7 +59,22 @@ class CrashActivity : ComponentActivity() {
|
||||||
}.toString()
|
}.toString()
|
||||||
|
|
||||||
setContent {
|
setContent {
|
||||||
ToDoTheme {
|
val darkMode = DarkMode.fromId(GlobalValues.darkMode)
|
||||||
|
val darkTheme = when (darkMode) {
|
||||||
|
FollowSystem -> isSystemInDarkTheme()
|
||||||
|
Light -> false
|
||||||
|
Dark -> true
|
||||||
|
}
|
||||||
|
// 配置状态栏和底部导航栏的颜色(在用户切换深色模式时)
|
||||||
|
// https://github.com/dn0ne/lotus/blob/master/app/src/main/java/com/dn0ne/player/MainActivity.kt#L266
|
||||||
|
LaunchedEffect(darkMode) {
|
||||||
|
WindowCompat.getInsetsController(window, window.decorView).apply {
|
||||||
|
isAppearanceLightStatusBars = !darkTheme
|
||||||
|
isAppearanceLightNavigationBars = !darkTheme
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ToDoTheme(darkTheme = darkTheme) {
|
||||||
CrashPage(
|
CrashPage(
|
||||||
crashLog = if (crashLogs == null) stringResource(R.string.tip_no_crash_logs) else crashLogFormatted,
|
crashLog = if (crashLogs == null) stringResource(R.string.tip_no_crash_logs) else crashLogFormatted,
|
||||||
exitApp = { finishAffinity() },
|
exitApp = { finishAffinity() },
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue