From b626c3d1a9481976a055708e8effc9b6b18b019c Mon Sep 17 00:00:00 2001 From: Super12138 <70494801+Super12138@users.noreply.github.com> Date: Tue, 11 Feb 2025 17:21:40 +0800 Subject: [PATCH] =?UTF-8?q?feat(crash):=20=E5=B4=A9=E6=BA=83=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E9=80=82=E9=85=8D=E7=94=A8=E6=88=B7=E6=B7=B1=E8=89=B2?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../todo/ui/activities/CrashActivity.kt | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt b/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt index 08208c8..798a1f3 100644 --- a/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt +++ b/app/src/main/kotlin/cn/super12138/todo/ui/activities/CrashActivity.kt @@ -5,10 +5,18 @@ import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge +import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.runtime.LaunchedEffect import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource +import androidx.core.view.WindowCompat 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.theme.ToDoTheme import java.text.SimpleDateFormat @@ -51,7 +59,22 @@ class CrashActivity : ComponentActivity() { }.toString() 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( crashLog = if (crashLogs == null) stringResource(R.string.tip_no_crash_logs) else crashLogFormatted, exitApp = { finishAffinity() },