Loading
Fix desktop immersive's state clean up
This change fixes two bugs related to state cleanup: 1) clearState() was called by #animateResizeChange when the animation finished even if the animation was not requested by a transition this handler is tracking (e.g. mixed transitions). To fix this, an end callback is sent to #animateResizeChange instead and only the DesktopImmersiveController#startAnimation call path clears the state when the callback is run. 2) Even when animating transitions handled by this handler, it is possible that its changes do not contain the expected immersive task, in which case there's nothing to animate, but the state should still be cleaned up. Flag: com.android.window.flags.enable_fully_immersive_in_desktop Fix: 376913079 Test: atest WMShellUnitTests Change-Id: Ia7519bcb8e565b699d6b1cefd28869dc44da6413