mirror of
https://github.com/openharmony/windowmanager.git
synced 2026-07-22 21:16:40 -04:00
screen lock immersive bugifx
Change-Id: I348cac631693594e6ced97baa9bc5d7a304091b3 Signed-off-by: jincanran <jincanran@huawei.com>
This commit is contained in:
@@ -91,6 +91,7 @@ private:
|
||||
void RaiseWindowToTop(uint32_t windowId, std::vector<sptr<WindowNode>>& windowNodes);
|
||||
void MinimizeWindowFromAbility(const sptr<WindowNode>& node, bool fromUser);
|
||||
void ResetLayoutPolicy();
|
||||
bool IsAboveSystemBarNode(sptr<WindowNode> node) const;
|
||||
bool IsFullImmersiveNode(sptr<WindowNode> node) const;
|
||||
bool IsSplitImmersiveNode(sptr<WindowNode> node) const;
|
||||
bool TraverseFromTopToBottom(sptr<WindowNode> node, const WindowNodeOperationFunc& func) const;
|
||||
|
||||
@@ -402,6 +402,16 @@ uint32_t WindowNodeContainer::GetFocusWindow() const
|
||||
return focusedWindow_;
|
||||
}
|
||||
|
||||
bool WindowNodeContainer::IsAboveSystemBarNode(sptr<WindowNode> node) const
|
||||
{
|
||||
int32_t curPriority = zorderPolicy_->GetWindowPriority(node->GetWindowType());
|
||||
if ((curPriority > zorderPolicy_->GetWindowPriority(WindowType::WINDOW_TYPE_STATUS_BAR)) &&
|
||||
(curPriority > zorderPolicy_->GetWindowPriority(WindowType::WINDOW_TYPE_NAVIGATION_BAR))) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool WindowNodeContainer::IsFullImmersiveNode(sptr<WindowNode> node) const
|
||||
{
|
||||
auto mode = node->GetWindowMode();
|
||||
@@ -427,6 +437,9 @@ std::unordered_map<WindowType, SystemBarProperty> WindowNodeContainer::GetExpect
|
||||
for (auto& node : rootNodes) {
|
||||
for (auto iter = node->children_.rbegin(); iter < node->children_.rend(); ++iter) {
|
||||
auto& sysBarPropMapNode = (*iter)->GetSystemBarProperty();
|
||||
if (IsAboveSystemBarNode(*iter)) {
|
||||
continue;
|
||||
}
|
||||
if (IsFullImmersiveNode(*iter)) {
|
||||
WLOGFI("Top immersive window id: %{public}d. Use full immersive prop", (*iter)->GetWindowId());
|
||||
for (auto it : sysBarPropMap) {
|
||||
|
||||
Reference in New Issue
Block a user