From bbb6ffee77d0d784dcc33d81aa6335dce990bb81 Mon Sep 17 00:00:00 2001 From: xue <2144439972@qq.com> Date: Sat, 18 Apr 2026 17:44:46 +0800 Subject: [PATCH] =?utf8?q?=E4=BF=AE=E5=A4=8D=E8=AE=BE=E7=BD=AE=E6=B0=B8?= =?utf8?q?=E4=B8=8D=E6=81=AF=E5=B1=8F=EF=BC=8C=E6=8C=89=E9=94=AE=E6=81=AF?= =?utf8?q?=E5=B1=8F=E5=90=8E=E8=87=AA=E5=8A=A8=E4=BA=AE=E5=B1=8F=E9=97=AE?= =?utf8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../thunderbird/src/ThunderBirdModel.cpp | 36 +++++++++---------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp index abb4f0e0d..0dbef42cb 100644 --- a/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp +++ b/code/sdk/application/wearable/ln/nativeapp/nativeui/thunderbird/src/ThunderBirdModel.cpp @@ -1872,27 +1872,23 @@ extern "C" { ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); } - // 处理常亮屏刷新定时器(每5分钟刷新一次,避免1小时超时) + // 处理常亮屏刷新(每 5 分钟 cancel/reopen keepon,避免 1 小时超时;不设 LOS_Msleep,避免阻塞图形线程) if (m_alwaysOnRefreshActive) { m_alwaysOnRefreshTime++; - // TimeDisplayCallback每秒调用一次,300次=300秒=5分钟 if (m_alwaysOnRefreshTime >= 300) { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TimeDisplayCallback: Refreshing screen always-on (45 minutes elapsed)"); - //如果息屏则先亮屏 - if (uapi_get_screen_state() == 0) { - uapi_set_screen_on_api(); - } - // 先取消常亮屏(设置为0) - ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); - - // 等待足够的时间,确保取消操作完成(异步操作需要时间) - // 由于 set_screen_set_keepon_timeout 是异步的,需要等待更长时间 - LOS_Msleep(2000); - - // 重新设置常亮屏 - ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); - - m_alwaysOnRefreshTime = 0; // 重置计数器 + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TimeDisplayCallback: always-on keepon refresh (300s)"); + if (m_stressTestDialogueActive) { + if (uapi_get_screen_state() == 1) { + uapi_set_screen_on_api(); + } + ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); + ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); + } else if (uapi_get_screen_state() == 0) { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "TimeDisplayCallback: always-on keepon refresh (never sleep mode)"); + ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); + ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); + } + m_alwaysOnRefreshTime = 0; } } @@ -3589,9 +3585,9 @@ extern "C" { void ThunderBirdModel::StartAlwaysOnRefreshTimer() { - WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "StartAlwaysOnRefreshTimer: Starting periodic refresh (every 50 minutes)"); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP, "StartAlwaysOnRefreshTimer: keepon refresh every 300s (TimeDisplay tick)"); m_alwaysOnRefreshActive = true; - m_alwaysOnRefreshTime = 0; // 从0开始计数,每50分钟(3000秒)刷新一次 + m_alwaysOnRefreshTime = 0; // 确保时间显示定时器正在运行(用于定期检查) if (m_timeDisplayTimer == nullptr) { -- 2.17.1