From 8abb53752074bb3035a68cd24d19e6a527e48cf2 Mon Sep 17 00:00:00 2001 From: z-hf Date: Sun, 3 Aug 2025 16:19:42 +0800 Subject: [PATCH 1/2] Delete the original node Signed-off-by: z-hf --- service/module_loader/src/mmi_service.cpp | 3 +++ .../window_manager/include/touch_drawing_manager.h | 1 + .../window_manager/src/touch_drawing_manager.cpp | 13 +++++++++++++ 3 files changed, 17 insertions(+) diff --git a/service/module_loader/src/mmi_service.cpp b/service/module_loader/src/mmi_service.cpp index c558696609..14afa85c89 100644 --- a/service/module_loader/src/mmi_service.cpp +++ b/service/module_loader/src/mmi_service.cpp @@ -2286,6 +2286,9 @@ void MMIService::OnAddSystemAbility(int32_t systemAbilityId, const std::string & #ifdef OHOS_RSS_CLIENT if (systemAbilityId == RES_SCHED_SYS_ABILITY_ID) { OnAddResSchedSystemAbility(systemAbilityId, deviceId); +#ifdef OHOS_BUILD_ENABLE_TOUCH_DRAWING + TOUCH_DRAWING_MGR->ResetTouchWindow(); +#endif // OHOS_BUILD_ENABLE_TOUCH_DRAWING } #endif // OHOS_RSS_CLIENT #ifdef OHOS_BUILD_ENABLE_FINGERSENSE_WRAPPER diff --git a/service/window_manager/include/touch_drawing_manager.h b/service/window_manager/include/touch_drawing_manager.h index 39f42da28d..308c46f276 100644 --- a/service/window_manager/include/touch_drawing_manager.h +++ b/service/window_manager/include/touch_drawing_manager.h @@ -46,6 +46,7 @@ public: bool IsWindowRotation() const; void SetDelegateProxy(std::shared_ptr proxy); void SetMultiWindowScreenId(uint64_t screenId, uint64_t displayNodeScreenId); + void ResetTouchWindow(); private: void SetupSettingObserver(int32_t nRetries); diff --git a/service/window_manager/src/touch_drawing_manager.cpp b/service/window_manager/src/touch_drawing_manager.cpp index 61711bf468..e16a2402a0 100644 --- a/service/window_manager/src/touch_drawing_manager.cpp +++ b/service/window_manager/src/touch_drawing_manager.cpp @@ -297,6 +297,19 @@ void TouchDrawingManager::SetMultiWindowScreenId(uint64_t screenId, uint64_t dis } } +void TouchDrawingManager::ResetTouchWindow() +{ + auto touchDrawingHandler = GetTouchDrawingHandler(); + if (touchDrawingHandler != nullptr) { + touchDrawingHandler->UpdateLabels(false); + touchDrawingHandler->UpdateBubbleData(false); + UpdateLabels(); + UpdateBubbleData(); + MMI_HILOGI("Delete the original node, bubble:%{public}d, + Label:%{public}d", bubbleMode_.isShow, pointerMode_.isShow); + } +} + ITouchDrawingHandler* TouchDrawingManager::LoadTouchDrawingHandler() { if (touchDrawingHandler_ == nullptr) { -- Gitee From d77a253a691cd712efddb88b1f6062b7e1bca3d8 Mon Sep 17 00:00:00 2001 From: z-hf Date: Mon, 4 Aug 2025 09:21:24 +0800 Subject: [PATCH 2/2] Delete the original node Signed-off-by: z-hf --- service/window_manager/src/touch_drawing_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/service/window_manager/src/touch_drawing_manager.cpp b/service/window_manager/src/touch_drawing_manager.cpp index e16a2402a0..d0d30d4f0e 100644 --- a/service/window_manager/src/touch_drawing_manager.cpp +++ b/service/window_manager/src/touch_drawing_manager.cpp @@ -305,8 +305,8 @@ void TouchDrawingManager::ResetTouchWindow() touchDrawingHandler->UpdateBubbleData(false); UpdateLabels(); UpdateBubbleData(); - MMI_HILOGI("Delete the original node, bubble:%{public}d, - Label:%{public}d", bubbleMode_.isShow, pointerMode_.isShow); + MMI_HILOGI("Delete the original node, bubble:%{public}d, Label:%{public}d", + bubbleMode_.isShow, pointerMode_.isShow); } } -- Gitee