From da99711e7e9c57ce94c4762f645e22c20aea6b67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=88=9A?= Date: Wed, 20 Aug 2025 15:40:10 +0800 Subject: [PATCH 1/6] =?UTF-8?q?TDD=E8=93=9D=E9=BB=84=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴刚 --- wm/src/window_scene.cpp | 7 +++---- wm/src/window_scene_session_impl.cpp | 13 ++++--------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/wm/src/window_scene.cpp b/wm/src/window_scene.cpp index 145d3d7cb0..9edd08e50a 100644 --- a/wm/src/window_scene.cpp +++ b/wm/src/window_scene.cpp @@ -100,10 +100,9 @@ WMError WindowScene::Init(DisplayId displayId, const std::shared_ptrSetBundleName(context->GetBundleName()); std::string moduleName = context->GetHapModuleInfo() ? context->GetHapModuleInfo()->moduleName : ""; - if (!moduleName.empty()) { - isModuleAbilityHookEnd = - SingletonContainer::Get().IsModuleHookOff(isModuleAbilityHookEnd, moduleName); - } + TLOGI(WmsLogTag::WMS_MAIN, "set isModuleAbiltityHookEnd") + isModuleAbilityHookEnd = + SingletonContainer::Get().IsModuleHookOff(isModuleAbilityHookEnd, moduleName); } auto mainWindow = SingletonContainer::Get() .CreateWindow(option, context, iSession, identityToken, isModuleAbilityHookEnd); diff --git a/wm/src/window_scene_session_impl.cpp b/wm/src/window_scene_session_impl.cpp index 41f3868a07..0573a7e9ed 100644 --- a/wm/src/window_scene_session_impl.cpp +++ b/wm/src/window_scene_session_impl.cpp @@ -2397,7 +2397,7 @@ WMError WindowSceneSessionImpl::CheckAndModifyWindowRect(uint32_t& width, uint32 } /** @note @window.layout */ -WMError WindowSceneSessionImpl::Resize(uint32_t width, uint32_t height, const RectAnimationConfig& rectAnimationConfig) +WMError WindowSceneSessionImpl::Resize(uint32_t width, uint32_t height) { auto reason = SizeChangeReason::RESIZE; if (isResizedByLimit_) { @@ -2431,21 +2431,16 @@ WMError WindowSceneSessionImpl::Resize(uint32_t width, uint32_t height, const Re windowRect.ToString().c_str(), newRect.ToString().c_str()); property_->SetRequestRect(newRect); - property_->SetRectAnimationConfig(rectAnimationConfig); WSRect wsRect = { newRect.posX_, newRect.posY_, newRect.width_, newRect.height_ }; auto hostSession = GetHostSession(); - if (rectAnimationConfig.duration > 0 && reason == SizeChangeReason::RESIZE) { - reason = SizeChangeReason::RESIZE_WITH_ANIMATION; - } CHECK_HOST_SESSION_RETURN_ERROR_IF_NULL(hostSession, WMError::WM_ERROR_INVALID_WINDOW); - auto ret = hostSession->UpdateSessionRect(wsRect, reason, false, false, {}, rectAnimationConfig); + auto ret = hostSession->UpdateSessionRect(wsRect, reason); return static_cast(ret); } -WMError WindowSceneSessionImpl::ResizeAsync(uint32_t width, uint32_t height, - const RectAnimationConfig& rectAnimationConfig) +WMError WindowSceneSessionImpl::ResizeAsync(uint32_t width, uint32_t height) { if (IsWindowSessionInvalid()) { TLOGE(WmsLogTag::WMS_LAYOUT, "Session is invalid"); @@ -2457,7 +2452,7 @@ WMError WindowSceneSessionImpl::ResizeAsync(uint32_t width, uint32_t height, GetWindowId(), GetWindowMode()); return WMError::WM_ERROR_INVALID_OP_IN_CUR_STATUS; } - auto ret = Resize(width, height, rectAnimationConfig); + auto ret = Resize(width, height); if (state_ == WindowState::STATE_SHOWN) { layoutCallback_->ResetResizeLock(); auto startTime = std::chrono::duration_cast( -- Gitee From d717a6d2ffe7c2a1b03607906b0f201db9f28889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=88=9A?= Date: Thu, 4 Sep 2025 20:29:37 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E5=A2=9E=E8=A1=A5=E7=BB=B4=E6=B5=8B=20Sign?= =?UTF-8?q?ed-off-by:=20=E5=90=B4=E5=88=9A=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wm/src/window_scene.cpp | 7 ++++--- wm/src/window_scene_session_impl.cpp | 12 ++++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/wm/src/window_scene.cpp b/wm/src/window_scene.cpp index 9edd08e50a..145d3d7cb0 100644 --- a/wm/src/window_scene.cpp +++ b/wm/src/window_scene.cpp @@ -100,9 +100,10 @@ WMError WindowScene::Init(DisplayId displayId, const std::shared_ptrSetBundleName(context->GetBundleName()); std::string moduleName = context->GetHapModuleInfo() ? context->GetHapModuleInfo()->moduleName : ""; - TLOGI(WmsLogTag::WMS_MAIN, "set isModuleAbiltityHookEnd") - isModuleAbilityHookEnd = - SingletonContainer::Get().IsModuleHookOff(isModuleAbilityHookEnd, moduleName); + if (!moduleName.empty()) { + isModuleAbilityHookEnd = + SingletonContainer::Get().IsModuleHookOff(isModuleAbilityHookEnd, moduleName); + } } auto mainWindow = SingletonContainer::Get() .CreateWindow(option, context, iSession, identityToken, isModuleAbilityHookEnd); diff --git a/wm/src/window_scene_session_impl.cpp b/wm/src/window_scene_session_impl.cpp index 0573a7e9ed..57c14f1149 100644 --- a/wm/src/window_scene_session_impl.cpp +++ b/wm/src/window_scene_session_impl.cpp @@ -1334,6 +1334,7 @@ void WindowSceneSessionImpl::GetConfigurationFromAbilityInfo() WindowModeSupport::WINDOW_MODE_SUPPORT_FLOATING); } property_->SetWindowModeSupportType(windowModeSupportType); + TLOGE(WmsLogTag::WMS_LAYOUT, "window support type: %{public}u", windowModeSupportType); // update windowModeSupportType to server UpdateProperty(WSPropertyChangeAction::ACTION_UPDATE_MODE_SUPPORT_INFO); bool isWindowModeSupportFullscreen = GetTargetAPIVersion() < 15 ? // 15: isolated version @@ -1411,6 +1412,7 @@ void WindowSceneSessionImpl::CalculateNewLimitsByLimits( uint32_t displayWidth = static_cast(displayInfo->GetWidth()); uint32_t displayHeight = static_cast(displayInfo->GetHeight()); if (displayWidth == 0 || displayHeight == 0) { + TLOGE(WmsLogTag::WMS_LAYOUT, "displayWidth or displayHeight is zero"); return; } virtualPixelRatio = GetVirtualPixelRatio(displayInfo); @@ -1511,6 +1513,7 @@ void WindowSceneSessionImpl::UpdateWindowSizeLimits() CalculateNewLimitsByLimits(newLimits, customizedLimits, virtualPixelRatio); if (MathHelper::NearZero(virtualPixelRatio)) { + TLOGE(WmsLogTag::WMS_LAYOUT, "update window size limits failed:virtual pixel ratio is zero"); return; } newLimits.vpRatio_ = virtualPixelRatio; @@ -4119,11 +4122,12 @@ MaximizeMode WindowSceneSessionImpl::GetGlobalMaximizeMode() const WMError WindowSceneSessionImpl::SetWindowMode(WindowMode mode) { - TLOGD(WmsLogTag::WMS_LAYOUT, "%{public}u mode %{public}u", GetWindowId(), static_cast(mode)); if (IsWindowSessionInvalid()) { TLOGE(WmsLogTag::WMS_LAYOUT, "Session is invalid"); return WMError::WM_ERROR_INVALID_WINDOW; } + TLOGE(WmsLogTag::WMS_LAYOUT, "window support type: %{public}u, mode: %{public}u", + property_->GetWindowModeSupportType(), static_cast(mode)); if (!WindowHelper::IsWindowModeSupported(property_->GetWindowModeSupportType(), mode)) { TLOGE(WmsLogTag::WMS_LAYOUT, "window %{public}u do not support mode: %{public}u", GetWindowId(), static_cast(mode)); @@ -4141,6 +4145,7 @@ WMError WindowSceneSessionImpl::SetWindowMode(WindowMode mode) } else if (mode == WindowMode::WINDOW_MODE_SPLIT_SECONDARY) { hostSession->OnSessionEvent(SessionEvent::EVENT_SPLIT_SECONDARY); } + TLOGE(WmsLogTag::WMS_LAYOUT, "set window mode success:value is %{public}u", static_cast(mode)); return WMError::WM_OK; } @@ -5358,10 +5363,11 @@ WSError WindowSceneSessionImpl::NotifyLayoutFinishAfterWindowModeChange(WindowMo WSError WindowSceneSessionImpl::UpdateWindowMode(WindowMode mode) { - WLOGFI("%{public}u mode %{public}u", GetWindowId(), static_cast(mode)); if (IsWindowSessionInvalid()) { return WSError::WS_ERROR_INVALID_WINDOW; } + TLOGE(WmsLogTag::WMS_LAYOUT, "window support type: %{public}u, mode: %{public}u", + property_->GetWindowModeSupportType(), static_cast(mode)); if (!WindowHelper::IsWindowModeSupported(property_->GetWindowModeSupportType(), mode)) { WLOGFE("%{public}u do not support mode: %{public}u", GetWindowId(), static_cast(mode)); @@ -6601,6 +6607,7 @@ WMError WindowSceneSessionImpl::SetWindowAnchorInfo(const WindowAnchorInfo& wind WMError WindowSceneSessionImpl::SetFollowParentWindowLayoutEnabled(bool isFollow) { if (IsWindowSessionInvalid()) { + TLOGE(WmsLogTag::WMS_LAYOUT, "window session is invalid"); return WMError::WM_ERROR_INVALID_WINDOW; } const auto& property = GetProperty(); @@ -6623,6 +6630,7 @@ WMError WindowSceneSessionImpl::SetFollowParentWindowLayoutEnabled(bool isFollow } WSError ret = GetHostSession()->SetFollowParentWindowLayoutEnabled(isFollow); if (ret == WSError::WS_ERROR_DEVICE_NOT_SUPPORT) { + TLOGE(WmsLogTag::WMS_LAYOUT, "device not support"); return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; } return ret != WSError::WS_OK ? WMError::WM_ERROR_SYSTEM_ABNORMALLY : WMError::WM_OK; -- Gitee From 84e585363b079d14b9fccdce3638593e7c363b8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=88=9A?= Date: Thu, 4 Sep 2025 12:54:06 +0000 Subject: [PATCH 3/6] update wm/src/window_scene_session_impl.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴刚 --- wm/src/window_scene_session_impl.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/wm/src/window_scene_session_impl.cpp b/wm/src/window_scene_session_impl.cpp index 57c14f1149..9ad328a228 100644 --- a/wm/src/window_scene_session_impl.cpp +++ b/wm/src/window_scene_session_impl.cpp @@ -2400,7 +2400,7 @@ WMError WindowSceneSessionImpl::CheckAndModifyWindowRect(uint32_t& width, uint32 } /** @note @window.layout */ -WMError WindowSceneSessionImpl::Resize(uint32_t width, uint32_t height) +WMError WindowSceneSessionImpl::Resize(uint32_t width, uint32_t height, const RectAnimationConfig& rectAnimationConfig) { auto reason = SizeChangeReason::RESIZE; if (isResizedByLimit_) { @@ -2434,16 +2434,21 @@ WMError WindowSceneSessionImpl::Resize(uint32_t width, uint32_t height) windowRect.ToString().c_str(), newRect.ToString().c_str()); property_->SetRequestRect(newRect); + property_->SetRectAnimationConfig(rectAnimationConfig); WSRect wsRect = { newRect.posX_, newRect.posY_, newRect.width_, newRect.height_ }; auto hostSession = GetHostSession(); + if (rectAnimationConfig.duration > 0 && reason == SizeChangeReason::RESIZE) { + reason = SizeChangeReason::RESIZE_WITH_ANIMATION; + } CHECK_HOST_SESSION_RETURN_ERROR_IF_NULL(hostSession, WMError::WM_ERROR_INVALID_WINDOW); - auto ret = hostSession->UpdateSessionRect(wsRect, reason); + auto ret = hostSession->UpdateSessionRect(wsRect, reason, false, false, {}, rectAnimationConfig); return static_cast(ret); } -WMError WindowSceneSessionImpl::ResizeAsync(uint32_t width, uint32_t height) +WMError WindowSceneSessionImpl::ResizeAsync(uint32_t width, uint32_t height, + const RectAnimationConfig& rectAnimationConfig) { if (IsWindowSessionInvalid()) { TLOGE(WmsLogTag::WMS_LAYOUT, "Session is invalid"); @@ -2455,7 +2460,7 @@ WMError WindowSceneSessionImpl::ResizeAsync(uint32_t width, uint32_t height) GetWindowId(), GetWindowMode()); return WMError::WM_ERROR_INVALID_OP_IN_CUR_STATUS; } - auto ret = Resize(width, height); + auto ret = Resize(width, height, rectAnimationConfig); if (state_ == WindowState::STATE_SHOWN) { layoutCallback_->ResetResizeLock(); auto startTime = std::chrono::duration_cast( -- Gitee From ea196ad41b191261d9b496b6ab01d81b63347144 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=88=9A?= Date: Fri, 5 Sep 2025 03:00:32 +0000 Subject: [PATCH 4/6] update wm/src/window_scene_session_impl.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴刚 --- wm/src/window_scene_session_impl.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/wm/src/window_scene_session_impl.cpp b/wm/src/window_scene_session_impl.cpp index 9ad328a228..43d6f58353 100644 --- a/wm/src/window_scene_session_impl.cpp +++ b/wm/src/window_scene_session_impl.cpp @@ -1334,7 +1334,8 @@ void WindowSceneSessionImpl::GetConfigurationFromAbilityInfo() WindowModeSupport::WINDOW_MODE_SUPPORT_FLOATING); } property_->SetWindowModeSupportType(windowModeSupportType); - TLOGE(WmsLogTag::WMS_LAYOUT, "window support type: %{public}u", windowModeSupportType); + TLOGI(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, windowModeSupportType: %{public}u", + GetWindowId(), windowModeSupportType); // update windowModeSupportType to server UpdateProperty(WSPropertyChangeAction::ACTION_UPDATE_MODE_SUPPORT_INFO); bool isWindowModeSupportFullscreen = GetTargetAPIVersion() < 15 ? // 15: isolated version @@ -1412,7 +1413,8 @@ void WindowSceneSessionImpl::CalculateNewLimitsByLimits( uint32_t displayWidth = static_cast(displayInfo->GetWidth()); uint32_t displayHeight = static_cast(displayInfo->GetHeight()); if (displayWidth == 0 || displayHeight == 0) { - TLOGE(WmsLogTag::WMS_LAYOUT, "displayWidth or displayHeight is zero"); + TLOGE(WmsLogTag::WMS_LAYOUT, "displayWidth or displayHeight is zero, displayId: %{public}u", + property_->GetDisplayId()); return; } virtualPixelRatio = GetVirtualPixelRatio(displayInfo); @@ -1513,7 +1515,8 @@ void WindowSceneSessionImpl::UpdateWindowSizeLimits() CalculateNewLimitsByLimits(newLimits, customizedLimits, virtualPixelRatio); if (MathHelper::NearZero(virtualPixelRatio)) { - TLOGE(WmsLogTag::WMS_LAYOUT, "update window size limits failed:virtual pixel ratio is zero"); + TLOGE(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, virtual pixel ratio is zero", + GetWindowId()); return; } newLimits.vpRatio_ = virtualPixelRatio; @@ -4131,8 +4134,8 @@ WMError WindowSceneSessionImpl::SetWindowMode(WindowMode mode) TLOGE(WmsLogTag::WMS_LAYOUT, "Session is invalid"); return WMError::WM_ERROR_INVALID_WINDOW; } - TLOGE(WmsLogTag::WMS_LAYOUT, "window support type: %{public}u, mode: %{public}u", - property_->GetWindowModeSupportType(), static_cast(mode)); + TLOGI(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, windowModeSupportType: %{public}u, mode: %{public}u", + GetWindowId(), property_->GetWindowModeSupportType(), static_cast(mode)); if (!WindowHelper::IsWindowModeSupported(property_->GetWindowModeSupportType(), mode)) { TLOGE(WmsLogTag::WMS_LAYOUT, "window %{public}u do not support mode: %{public}u", GetWindowId(), static_cast(mode)); @@ -4150,7 +4153,8 @@ WMError WindowSceneSessionImpl::SetWindowMode(WindowMode mode) } else if (mode == WindowMode::WINDOW_MODE_SPLIT_SECONDARY) { hostSession->OnSessionEvent(SessionEvent::EVENT_SPLIT_SECONDARY); } - TLOGE(WmsLogTag::WMS_LAYOUT, "set window mode success:value is %{public}u", static_cast(mode)); + TLOGI(WmsLogTag::WMS_LAYOUT, "Success, windowId: %{public}u, mode: %{public}u", + GetWindowId(), static_cast(mode)); return WMError::WM_OK; } @@ -5371,8 +5375,8 @@ WSError WindowSceneSessionImpl::UpdateWindowMode(WindowMode mode) if (IsWindowSessionInvalid()) { return WSError::WS_ERROR_INVALID_WINDOW; } - TLOGE(WmsLogTag::WMS_LAYOUT, "window support type: %{public}u, mode: %{public}u", - property_->GetWindowModeSupportType(), static_cast(mode)); + TLOGI(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, windowModeSupportType: %{public}u, mode: %{public}u", + GetWindowId(), property_->GetWindowModeSupportType(), static_cast(mode)); if (!WindowHelper::IsWindowModeSupported(property_->GetWindowModeSupportType(), mode)) { WLOGFE("%{public}u do not support mode: %{public}u", GetWindowId(), static_cast(mode)); @@ -6612,7 +6616,7 @@ WMError WindowSceneSessionImpl::SetWindowAnchorInfo(const WindowAnchorInfo& wind WMError WindowSceneSessionImpl::SetFollowParentWindowLayoutEnabled(bool isFollow) { if (IsWindowSessionInvalid()) { - TLOGE(WmsLogTag::WMS_LAYOUT, "window session is invalid"); + TLOGE(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, window session is invalid", GetWindowId()); return WMError::WM_ERROR_INVALID_WINDOW; } const auto& property = GetProperty(); @@ -6635,7 +6639,7 @@ WMError WindowSceneSessionImpl::SetFollowParentWindowLayoutEnabled(bool isFollow } WSError ret = GetHostSession()->SetFollowParentWindowLayoutEnabled(isFollow); if (ret == WSError::WS_ERROR_DEVICE_NOT_SUPPORT) { - TLOGE(WmsLogTag::WMS_LAYOUT, "device not support"); + TLOGE(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, device not support", GetWindoId()); return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; } return ret != WSError::WS_OK ? WMError::WM_ERROR_SYSTEM_ABNORMALLY : WMError::WM_OK; -- Gitee From d54b371b21ad60bc46dbf79608db485c3c508307 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=88=9A?= Date: Fri, 5 Sep 2025 06:15:07 +0000 Subject: [PATCH 5/6] update wm/src/window_scene_session_impl.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴刚 --- wm/src/window_scene_session_impl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wm/src/window_scene_session_impl.cpp b/wm/src/window_scene_session_impl.cpp index 43d6f58353..c991e5cd1c 100644 --- a/wm/src/window_scene_session_impl.cpp +++ b/wm/src/window_scene_session_impl.cpp @@ -1413,7 +1413,7 @@ void WindowSceneSessionImpl::CalculateNewLimitsByLimits( uint32_t displayWidth = static_cast(displayInfo->GetWidth()); uint32_t displayHeight = static_cast(displayInfo->GetHeight()); if (displayWidth == 0 || displayHeight == 0) { - TLOGE(WmsLogTag::WMS_LAYOUT, "displayWidth or displayHeight is zero, displayId: %{public}u", + TLOGE(WmsLogTag::WMS_LAYOUT, "displayWidth or displayHeight is zero, displayId: %{public}" PRIu64, property_->GetDisplayId()); return; } @@ -6639,7 +6639,7 @@ WMError WindowSceneSessionImpl::SetFollowParentWindowLayoutEnabled(bool isFollow } WSError ret = GetHostSession()->SetFollowParentWindowLayoutEnabled(isFollow); if (ret == WSError::WS_ERROR_DEVICE_NOT_SUPPORT) { - TLOGE(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, device not support", GetWindoId()); + TLOGE(WmsLogTag::WMS_LAYOUT, "windowId: %{public}u, device not support", GetWindowId()); return WMError::WM_ERROR_DEVICE_NOT_SUPPORT; } return ret != WSError::WS_OK ? WMError::WM_ERROR_SYSTEM_ABNORMALLY : WMError::WM_OK; -- Gitee From 4f98670c35ef41e87f39db967a78d5e4fc405f02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E5=88=9A?= Date: Tue, 9 Sep 2025 03:11:42 +0000 Subject: [PATCH 6/6] update wm/src/window_scene_session_impl.cpp. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴刚 --- wm/src/window_scene_session_impl.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/wm/src/window_scene_session_impl.cpp b/wm/src/window_scene_session_impl.cpp index c991e5cd1c..26775bbaae 100644 --- a/wm/src/window_scene_session_impl.cpp +++ b/wm/src/window_scene_session_impl.cpp @@ -4153,8 +4153,6 @@ WMError WindowSceneSessionImpl::SetWindowMode(WindowMode mode) } else if (mode == WindowMode::WINDOW_MODE_SPLIT_SECONDARY) { hostSession->OnSessionEvent(SessionEvent::EVENT_SPLIT_SECONDARY); } - TLOGI(WmsLogTag::WMS_LAYOUT, "Success, windowId: %{public}u, mode: %{public}u", - GetWindowId(), static_cast(mode)); return WMError::WM_OK; } -- Gitee