Fix bubble task relaunch into split screen transition.
When a bubbled task was relaunched into split screen, the system would enter a broken state due to incorrect transition handling. The issue occurred because the bubble transition logic didn't properly detect when a bubble task should move to split screen, causing the system to mistakenly treat it as a new bubble creation. The root cause was in BubbleController#shouldBeAppBubble, which continued to return true for tasks transitioning to split screen. This caused DefaultMixedHandler to incorrectly start a "bubble-enter" transition, recreating the bubble after it was initially removed for the split transition. This change adds a check in shouldBeAppBubble to detect when a task is moving to split screen using the isBubbleToSplit utility function, returning false in such cases to prevent the erroneous bubble-enter transition. Additionally, BubbleTaskView is updated to accept a SplitScreenController dependency and its cleanup method now calls unregisterTask instead of removeTask for tasks transitioning to split screen, ensuring the bubble controller properly detaches without destroying the task so split screen can take over management. Bug: 432604687 Flag: EXEMPT BUGFIX Test: atest WMShellRobolectricTests:BubbleControllerTest Test: atest WMShellRobolectricTests:BubbleTaskViewTest Test: atest WMShellMultivalentTestsOnDevice:BubbleControllerTest Test: atest WMShellMultivalentTestsOnDevice:BubbleTaskViewTest Change-Id: I5ac09b95f027eb82dd82df2ce3fcef7aaa91093c
Loading
Please register or sign in to comment