修复通知ace窗口模式bug

Signed-off-by: xingyanan <xingyanan2@huawei.com>
Change-Id: I21827624de09115459203b8fc3dc85390fb41f06
Signed-off-by: xingyanan <xingyanan2@huawei.com>
This commit is contained in:
xingyanan
2022-03-01 11:34:18 +08:00
parent 03e32ce541
commit e935d97446
2 changed files with 6 additions and 14 deletions
+5 -14
View File
@@ -264,23 +264,14 @@ WMError WindowImpl::SetWindowMode(WindowMode mode)
return WMError::WM_ERROR_INVALID_WINDOW;
}
if (state_ == WindowState::STATE_CREATED || state_ == WindowState::STATE_HIDDEN) {
property_->SetWindowMode(mode);
UpdateMode(mode);
} else if (state_ == WindowState::STATE_SHOWN) {
property_->SetWindowMode(mode);
WMError ret = SingletonContainer::Get<WindowAdapter>().SetWindowMode(property_->GetWindowId(), mode);
if (ret == WMError::WM_OK) {
WLOGFD("notify window mode changed");
for (auto& listener : windowChangeListeners_) {
if (listener != nullptr) {
listener->OnModeChange(mode);
}
}
if (uiContent_ != nullptr) {
uiContent_->UpdateWindowMode(mode);
WLOGFI("notify uiContent window mode change end");
}
if (ret != WMError::WM_OK) {
return ret;
}
return ret;
// set client window mode if success.
UpdateMode(mode);
}
if (property_->GetWindowMode() != mode) {
WLOGFE("set window mode filed! id: %{public}d", property_->GetWindowId());
+1
View File
@@ -214,6 +214,7 @@ WMError WindowController::SetWindowMode(uint32_t windowId, WindowMode dstMode)
WLOGFE("Set window mode failed, update node failed");
return res;
}
node->GetWindowToken()->UpdateWindowMode(node->GetWindowMode());
FlushWindowInfo(windowId);
return WMError::WM_OK;
}