mirror of
https://github.com/openharmony/window_window_manager.git
synced 2026-08-24 07:47:52 -04:00
cb1d0459ae
Add a new DisplayManagerLite::NotifyBootAnimationFinished() async IPC so the boot animation can actively notify the window manager when it finishes, triggering the fold screen power-on sequence at the animation-decided timing instead of relying on the WatchParameter(BOOTEVENT_BOOT_COMPLETED) path. The IPC is async (TF_ASYNC) so the caller is not blocked. Server-side it flows through DisplayManagerLiteProxy -> ScreenSessionManagerStub -> ScreenSessionManager, where foldScreenPowerInit_ is invoked on foldable devices. The power init body is wrapped with std::call_once so it runs exactly once across both callers (NotifyBootAnimationFinished for cold boot and BootFinishedCallback for the foundation-restart fallback). Add unit test and fuzz coverage: - stub fuzzer: register TRANS_ID_NOTIFY_BOOT_ANIMATION_FINISHED - stub test: verify OnRemoteRequest dispatch returns ERR_NONE - proxy mock test: verify WriteInterfaceToken error and success paths Co-Authored-By: Agent Signed-off-by: liufei <liufei225@h-partners.com>