From 0b140fe73e8133668dc3dd4628b04878cbfd0fb4 Mon Sep 17 00:00:00 2001 From: WaterRain <109326062+CATMIAOZHI@users.noreply.github.com> Date: Fri, 17 Jul 2026 21:34:51 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20UTC+0/UTC+8=20=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E5=81=8F=E5=A5=BD=E6=8C=81=E4=B9=85=E5=8C=96=E2=80=94=E2=80=94?= =?UTF-8?q?OCGO=20=E8=B7=AF=E5=BE=84=E9=A6=96=E6=AC=A1=E5=8A=A0=E8=BD=BD?= =?UTF-8?q?=E4=B8=8D=E8=AF=BB=E5=8F=96=E6=8C=81=E4=B9=85=E5=8C=96=E5=80=BC?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E5=81=8F=E5=A5=BD=E4=B8=A2=E5=A4=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 UTC 偏好同步读取逻辑从 setWorkspace() 下沉到 load() 开头, 确保 OCGO(load())和 CCGO(setWorkspace()→load())两条路径 首次加载时都从 DataStore 读取持久化的 useUtc8 偏好。 useUtc8Initialized 标志位保证只读取一次,后续 toggleUtc8() 不被覆盖。 --- .../token/ui/dashboard/UsageChartViewModel.kt | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/rainy/token/ui/dashboard/UsageChartViewModel.kt b/app/src/main/java/com/rainy/token/ui/dashboard/UsageChartViewModel.kt index f5d5a6e..11eae35 100644 --- a/app/src/main/java/com/rainy/token/ui/dashboard/UsageChartViewModel.kt +++ b/app/src/main/java/com/rainy/token/ui/dashboard/UsageChartViewModel.kt @@ -44,18 +44,7 @@ class UsageChartViewModel @Inject constructor( loadGeneration++ allowFallback = true _state.value = ChartUiState(useUtc8 = _state.value.useUtc8) - viewModelScope.launch { - // 首次加载时同步读取 UTC 偏好,避免用默认值 false 加载后再切换 - if (!_state.value.useUtc8Initialized) { - val saved = chartSettingsStore.useUtc8Flow.first() - if (saved != _state.value.useUtc8) { - _state.update { it.copy(useUtc8 = saved, useUtc8Initialized = true) } - } else { - _state.update { it.copy(useUtc8Initialized = true) } - } - } - load() - } + load() } private suspend fun workspaceId(): String? { @@ -101,6 +90,11 @@ class UsageChartViewModel @Inject constructor( fun load() { viewModelScope.launch { + // 首次加载时同步读取 UTC 偏好,避免用默认值 false 加载后再切换 + if (!_state.value.useUtc8Initialized) { + val saved = chartSettingsStore.useUtc8Flow.first() + _state.update { it.copy(useUtc8 = saved, useUtc8Initialized = true) } + } val wid = workspaceId() ?: return@launch val genAtStart = loadGeneration val cache = cacheProvider.get()