mirror of
https://github.com/openharmony/windowmanager.git
synced 2026-08-26 12:26:31 -04:00
解决用户切换原用户窗口不消失问题
Signed-off-by: dubj <dubingjian@huawei.com> Change-Id: I4d6983bd670944ef80795ca0557f005a04c7602d
This commit is contained in:
@@ -1892,5 +1892,24 @@ WindowLayoutMode WindowNodeContainer::GetCurrentLayoutMode() const
|
||||
{
|
||||
return layoutMode_;
|
||||
}
|
||||
|
||||
void WindowNodeContainer::RemoveSingleUserWindowNodes()
|
||||
{
|
||||
std::vector<sptr<WindowNode>> windowNodes;
|
||||
TraverseContainer(windowNodes);
|
||||
for (auto& windowNode : windowNodes) {
|
||||
if (windowNode->GetWindowType() == WindowType::WINDOW_TYPE_DESKTOP ||
|
||||
windowNode->GetWindowType() == WindowType::WINDOW_TYPE_STATUS_BAR ||
|
||||
windowNode->GetWindowType() == WindowType::WINDOW_TYPE_NAVIGATION_BAR ||
|
||||
windowNode->GetWindowType() == WindowType::WINDOW_TYPE_KEYGUARD ||
|
||||
windowNode->GetWindowType() == WindowType::WINDOW_TYPE_POINTER) {
|
||||
continue;
|
||||
}
|
||||
WLOGFI("remove window %{public}s, windowId %{public}d",
|
||||
windowNode->GetWindowName().c_str(), windowNode->GetWindowId());
|
||||
windowNode->GetWindowProperty()->SetAnimationFlag(static_cast<uint32_t>(WindowAnimation::NONE));
|
||||
RemoveWindowNode(windowNode);
|
||||
}
|
||||
}
|
||||
} // namespace Rosen
|
||||
} // namespace OHOS
|
||||
|
||||
Reference in New Issue
Block a user