diff --git a/frameworks/native/ability/native/ability.cpp b/frameworks/native/ability/native/ability.cpp index 4493c2ba77..0ae5c614de 100644 --- a/frameworks/native/ability/native/ability.cpp +++ b/frameworks/native/ability/native/ability.cpp @@ -714,14 +714,6 @@ void Ability::OnConfigurationUpdatedNotify(const Configuration &changeConfigurat resConfig->GetColorMode(), resConfig->GetInputDevice()); } -#ifdef SUPPORT_GRAPHICS - // Notify WindowScene - if (scene_ != nullptr) { - auto diffConfiguration = std::make_shared(changeConfiguration); - scene_->UpdateConfiguration(diffConfiguration); - HILOG_INFO("%{public}s scene_ -> UpdateConfiguration success.", __func__); - } -#endif if (abilityContext_ != nullptr && application_ != nullptr) { abilityContext_->SetConfiguration(application_->GetConfiguration()); } diff --git a/frameworks/native/appkit/app/ohos_application.cpp b/frameworks/native/appkit/app/ohos_application.cpp index a0751c8e6d..4ff11e36b3 100644 --- a/frameworks/native/appkit/app/ohos_application.cpp +++ b/frameworks/native/appkit/app/ohos_application.cpp @@ -23,6 +23,7 @@ #include "iservice_registry.h" #include "runtime.h" #include "system_ability_definition.h" +#include "window.h" #include "ability_thread.h" namespace OHOS { @@ -412,6 +413,13 @@ void OHOSApplication::OnConfigurationUpdated(const Configuration &config) } } +#ifdef SUPPORT_GRAPHICS + // Notify Window + HILOG_INFO("Update configuration for all window."); + auto diffConfiguration = std::make_shared(config); + Rosen::Window::UpdateConfigurationForAll(diffConfiguration); +#endif + for (auto callback : elementsCallbacks_) { if (callback != nullptr) { callback->OnConfigurationUpdated(nullptr, config);