Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 153f7afc authored by Eric Lin's avatar Eric Lin
Browse files

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
parent 2624b192
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment