diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt index 4aa683f7..bb89a460 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Home.kt @@ -9,7 +9,6 @@ import androidx.compose.animation.expandVertically import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut import androidx.compose.animation.shrinkVertically -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -44,7 +43,6 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.produceState import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color @@ -74,6 +72,7 @@ import com.sukisu.ultra.getKernelVersion import com.sukisu.ultra.ui.component.DropdownItem import com.sukisu.ultra.ui.component.RebootListPopup import com.sukisu.ultra.ui.component.rememberConfirmDialog +import com.sukisu.ultra.ui.theme.isInDarkTheme import com.sukisu.ultra.ui.util.* import com.sukisu.ultra.ui.util.module.LatestVersionInfo import com.sukisu.ultra.ui.util.reboot @@ -347,7 +346,7 @@ private fun StatusCard( colors = CardDefaults.defaultColors( color = when { isDynamicColor -> colorScheme.secondaryContainer - isSystemInDarkTheme() || themeMode == 2 -> Color(0xFF1A3825) + isInDarkTheme(themeMode) -> Color(0xFF1A3825) else -> Color(0xFFDFFAE4) } ), @@ -531,7 +530,7 @@ fun WarningCard( colors = CardDefaults.defaultColors( color = color ?: when { isDynamicColor -> colorScheme.errorContainer - isSystemInDarkTheme() || themeMode == 2 -> Color(0XFF310808) + isInDarkTheme(themeMode) -> Color(0XFF310808) else -> Color(0xFFF8E2E2) } ), diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Module.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Module.kt index 6a828da5..37b20d36 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Module.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/Module.kt @@ -19,7 +19,6 @@ import androidx.compose.animation.shrinkHorizontally import androidx.compose.animation.shrinkVertically import androidx.compose.foundation.background import androidx.compose.foundation.border -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -46,7 +45,6 @@ import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.rememberLazyListState import androidx.compose.foundation.shape.CircleShape import androidx.compose.material.icons.Icons -import androidx.compose.material.icons.automirrored.outlined.Undo import androidx.compose.material.icons.outlined.Delete import androidx.compose.material.icons.rounded.Add import androidx.compose.material.icons.rounded.Code @@ -111,6 +109,7 @@ import com.sukisu.ultra.ui.component.SearchBox import com.sukisu.ultra.ui.component.SearchPager import com.sukisu.ultra.ui.component.rememberConfirmDialog import com.sukisu.ultra.ui.component.rememberLoadingDialog +import com.sukisu.ultra.ui.theme.isInDarkTheme import com.sukisu.ultra.ui.util.DownloadListener import com.sukisu.ultra.ui.util.download import com.sukisu.ultra.ui.util.getFileName @@ -894,7 +893,7 @@ fun ModuleItem( ) { val context = LocalContext.current val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) - val isDark = isSystemInDarkTheme() || prefs.getInt("color_mode", 0) == 2 || prefs.getInt("color_mode", 0) == 5 + val isDark = isInDarkTheme(prefs.getInt("color_mode", 0)) val colorScheme = colorScheme val secondaryContainer = colorScheme.secondaryContainer.copy(alpha = 0.8f) val actionIconTint = remember(isDark) { colorScheme.onSurface.copy(alpha = if (isDark) 0.7f else 0.9f) } diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt index d680c04f..a10d0afa 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/screen/SuperUser.kt @@ -10,7 +10,6 @@ import androidx.compose.animation.shrinkVertically import androidx.compose.foundation.Image import androidx.compose.foundation.background import androidx.compose.foundation.basicMarquee -import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -77,6 +76,7 @@ import com.sukisu.ultra.ui.component.AppIconImage import com.sukisu.ultra.ui.component.DropdownItem import com.sukisu.ultra.ui.component.SearchBox import com.sukisu.ultra.ui.component.SearchPager +import com.sukisu.ultra.ui.theme.isInDarkTheme import com.sukisu.ultra.ui.util.ownerNameForUid import com.sukisu.ultra.ui.util.pickPrimary import com.sukisu.ultra.ui.viewmodel.SuperUserViewModel @@ -470,7 +470,7 @@ private fun GroupItem( ) { val context = LocalContext.current val prefs = context.getSharedPreferences("settings", Context.MODE_PRIVATE) - val isDark = isSystemInDarkTheme() || prefs.getInt("color_mode", 0) == 2 || prefs.getInt("color_mode", 0) == 5 + val isDark = isInDarkTheme(prefs.getInt("color_mode", 0)) val colorScheme = colorScheme val bg = remember(colorScheme) { colorScheme.secondaryContainer.copy(alpha = 0.8f) } val rootBg = remember(colorScheme) { colorScheme.tertiaryContainer.copy(alpha = 0.6f) } diff --git a/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt b/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt index 0866565f..1007c19c 100644 --- a/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt +++ b/manager/app/src/main/java/com/sukisu/ultra/ui/theme/Theme.kt @@ -2,6 +2,7 @@ package com.sukisu.ultra.ui.theme import androidx.compose.foundation.isSystemInDarkTheme import androidx.compose.runtime.Composable +import androidx.compose.runtime.ReadOnlyComposable import androidx.compose.ui.graphics.Color import com.sukisu.ultra.ui.webui.MonetColorsProvider.UpdateCss import top.yukonga.miuix.kmp.theme.ColorSchemeMode @@ -44,3 +45,13 @@ fun KernelSUTheme( } ) } + +@Composable +@ReadOnlyComposable +fun isInDarkTheme(themeMode: Int): Boolean { + return when (themeMode) { + 1, 4 -> false // Force light mode + 2, 5 -> true // Force dark mode + else -> isSystemInDarkTheme() // Follow system (0 or default) + } +} \ No newline at end of file