diff --git a/frameworks/core/components_ng/base/observer_handler.cpp b/frameworks/core/components_ng/base/observer_handler.cpp index e486782353fd1a8b0d1f83e5d75ca2b146e06f1c..c5aa67db0ae8f986fabaaf5ad834833d72cd98a9 100644 --- a/frameworks/core/components_ng/base/observer_handler.cpp +++ b/frameworks/core/components_ng/base/observer_handler.cpp @@ -173,7 +173,6 @@ void UIObserverHandler::NotifyRouterPageStateChangeForAni(const RefPtr void UIObserverHandler::NotifyDensityChange(double density) { - CHECK_NULL_VOID(densityHandleFunc_); auto container = Container::Current(); if (!container) { LOGW("notify density event failed, current UI instance invalid"); @@ -184,7 +183,12 @@ void UIObserverHandler::NotifyDensityChange(double density) AceApplicationInfo::GetInstance().GetProcessName(), container->GetModuleName() }; - densityHandleFunc_(info, density); + if (densityHandleFunc_) { + densityHandleFunc_(info, density); + } + if (densityHandleFuncForAni_) { + densityHandleFuncForAni_(info, density); + } } void UIObserverHandler::NotifyWillClick( diff --git a/frameworks/core/components_ng/base/observer_handler.h b/frameworks/core/components_ng/base/observer_handler.h index 14c8cb1da836d2d348741ba50172469a47fa782f..ea9d6da620e66d78755a759ed83d533ed95955ee 100644 --- a/frameworks/core/components_ng/base/observer_handler.h +++ b/frameworks/core/components_ng/base/observer_handler.h @@ -228,8 +228,7 @@ public: using DensityHandleFunc = void (*)(AbilityContextInfo&, double); using DensityHandleFuncForAni = std::function; void SetHandleDensityChangeFunc(DensityHandleFunc func); - void SetHandleDensityChangeFuncForAni(DensityHandleFuncForAni func); - + void SetHandleDensityChangeFuncForAni(DensityHandleFuncForAni func); void SetLayoutDoneHandleFunc(DrawCommandSendHandleFunc func); void HandleLayoutDoneCallBack(); void SetDrawCommandSendHandleFunc(LayoutDoneHandleFunc func);