From: luozheng <1732036298@qq.com> Date: Tue, 10 Dec 2024 08:45:40 +0000 (+0800) Subject: 解决在长亮屏界面查找手表后错误取消该界面的常亮屏操作。 X-Git-Tag: v1.3.113-repair_tp~143^2~9 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=refs%2Fchanges%2F1507%2F4;p=mirrors%2FFD230.git 解决在长亮屏界面查找手表后错误取消该界面的常亮屏操作。 --- diff --git a/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp b/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp index ac59001e5..0072bb4fa 100644 --- a/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp +++ b/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp @@ -2,7 +2,7 @@ * @Author: luozheng 1732036298@qq.com * @Date: 2024-03-25 17:33:47 * @LastEditors: luozheng 1732036298@qq.com - * @LastEditTime: 2024-12-05 15:18:11 + * @LastEditTime: 2024-12-10 15:03:45 * @FilePath: /FD230/code/sdk/application/wearable/service/msg_center/src/notify/findwatch_notification.cpp * @details:实现查找手表的功能一般需要手表和智能手机之间的配合,通常是通过手机上的应用(App)或其他设备发送指令给手表,触发手表的查找功能。 * 以下是基本的实现步骤: @@ -46,6 +46,7 @@ namespace OHOS { UIViewGroup *FindWatchGroupView{nullptr}; UIButton *FindWatchButton{nullptr}; + uint8_t pre_screen_status = 0;//屏幕之前的状态之前 FindWatchViewEventListener::FindWatchViewEventListener() { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP, "FindWatchViewEventListener::FindWatchViewEventListener"); @@ -472,7 +473,12 @@ namespace OHOS FindWatchViewEventListener::GetInstance().FindWatch_StartTimer(700); FindWatchViewEventListener::GetInstance().SetScreenBrightness(); - ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); + + pre_screen_status = uapi_dev_runtime_get_screen_always_on_status();//获取查找手表之前是否是长亮屏状态 + if(!pre_screen_status) + { + ScreenAlwaysOnCtr(OPEN_SCREEN_ALWAYS_ON); + } NotificationManager::GetInstance()->RegisterNotifyCleanupFunction(FreeFindWatchView); return FindWatchGroupView; @@ -499,7 +505,7 @@ namespace OHOS FindWatchViewEventListener::GetInstance().FindWatchRingPlayStop(); FindWatchViewEventListener::GetInstance().ResumeScreenBrightness(); FindWatchViewEventListener::GetInstance().FindWatch_StopTimer(); - if(OHOS::AiVoiceModel::GetInstance().get_screen60s_timer_is_stop()) //如果在AI界面查找手表且60s的常亮屏定时器不在,可以取消常亮屏 + if(!pre_screen_status) //如果查找手表之前不是长亮屏状态,就取消查找手表设置的常亮屏 { ScreenAlwaysOnCtr(CANCEL_SCREEN_ALWAYS_ON); }