Add DesktopFullImmersiveTransitionHandler

To enter in/out of desktop's full immersive mode.

Also hooks up the transition handler to observe onTransitionReady from
FreeformTaskTransitionObserver, so that the repository state that tracks
immersive mode can be updated and thus window decorations can read the
immersive state to decide which UI to render on relayout.

Flag: com.android.window.flags.enable_fully_immersive_in_desktop
Bug: 369403798
Bug: 369443668
Test: atest WMShellUnitTests
Change-Id: I4aa1ef162a62359c3d22b0e2b0f1a40d716921ec
9 files changed