+86
−12
+30
−12
Loading
Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more
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