Loading libs/WindowManager/Shell/aconfig/multitasking.aconfig +0 −10 Original line number Diff line number Diff line Loading @@ -203,16 +203,6 @@ flag { } } flag { name: "enable_enter_split_remove_bubble" namespace: "multitasking" description: "Enable removing a task from bubbles when it is entering split screen" bug: "396315875" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "enable_bubble_bar_to_floating_transition" namespace: "multitasking" Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblesTransitionObserver.java +1 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.wm.shell.bubbles; import static android.app.ActivityTaskManager.INVALID_TASK_ID; import static com.android.wm.shell.Flags.enableEnterSplitRemoveBubble; import static com.android.wm.shell.bubbles.util.BubbleUtils.getExitBubbleTransaction; import static com.android.wm.shell.bubbles.util.BubbleUtils.isBubbleToSplit; import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_BUBBLES_NOISY; Loading Loading @@ -75,7 +74,7 @@ public class BubblesTransitionObserver implements Transitions.TransitionObserver @NonNull SurfaceControl.Transaction startTransaction, @NonNull SurfaceControl.Transaction finishTransaction) { collapseBubbleIfNeeded(info); if (enableEnterSplitRemoveBubble() && BubbleAnythingFlagHelper.enableCreateAnyBubble()) { if (BubbleAnythingFlagHelper.enableCreateAnyBubble()) { if (TransitionUtil.isOpeningType(info.getType()) && mBubbleData.hasBubbles()) { removeBubbleIfLaunchingToSplit(info); } Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +8 −11 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP import static com.android.window.flags.Flags.enableFullScreenWindowOnRemovingSplitScreenStageBugfix; import static com.android.window.flags.Flags.enableMultiDisplaySplit; import static com.android.window.flags.Flags.enableNonDefaultDisplaySplit; import static com.android.wm.shell.Flags.enableEnterSplitRemoveBubble; import static com.android.wm.shell.Flags.enableFlexibleSplit; import static com.android.wm.shell.Flags.enableFlexibleTwoAppSplit; import static com.android.wm.shell.Flags.splitDisableChildTaskBounds; Loading Loading @@ -2237,7 +2236,6 @@ public class StageCoordinator extends StageCoordinatorAbstract { // TODO (b/336477473): Disallow enter PiP when launching a task in split by default; // this might have to be changed as more split-to-pip cujs are defined. options.setDisallowEnterPictureInPictureWhileLaunching(true); if (enableEnterSplitRemoveBubble()) { mBubbleController.ifPresent(bc -> { if (bc.hasBubbles()) { // Bubbles are present. Set an empty rect for the launch bounds in case we Loading @@ -2246,7 +2244,6 @@ public class StageCoordinator extends StageCoordinatorAbstract { options.setLaunchBounds(new Rect()); } }); } opts.putAll(options.toBundle()); } Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubblesTransitionObserverTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import android.window.TransitionInfo import android.window.WindowContainerTransaction import androidx.test.filters.SmallTest import com.android.wm.shell.Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE import com.android.wm.shell.Flags.FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE import com.android.wm.shell.MockToken import com.android.wm.shell.ShellTaskOrganizer import com.android.wm.shell.ShellTestCase Loading Loading @@ -231,7 +230,7 @@ class BubblesTransitionObserverTest : ShellTestCase() { verify(bubbleData, never()).setExpanded(false) } @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE, FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE) @Test fun testOnTransitionReady_bubbleMovingToSplit_removeBubble() { val taskOrganizer = mock<ShellTaskOrganizer>() Loading Loading @@ -271,7 +270,7 @@ class BubblesTransitionObserverTest : ShellTestCase() { ) } @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE, FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE) @Test fun testOnTransitionReady_noBubbles_doesNotCheckForSplitState() { bubbleData.stub { Loading libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java +0 −4 Original line number Diff line number Diff line Loading @@ -22,8 +22,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; import static android.view.Display.DEFAULT_DISPLAY; import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_DISALLOW_OVERRIDE_BOUNDS_FOR_CHILDREN; import static com.android.wm.shell.Flags.FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE; import static com.android.wm.shell.Flags.FLAG_ENABLE_FLEXIBLE_TWO_APP_SPLIT; import static com.android.wm.shell.Flags.FLAG_SPLIT_DISABLE_CHILD_TASK_BOUNDS; import static com.android.wm.shell.shared.split.SplitScreenConstants.SNAP_TO_2_50_50; Loading Loading @@ -626,7 +624,6 @@ public class StageCoordinatorTests extends ShellTestCase { } @Test @EnableFlags(FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) public void updateActivityOptions_withBubbles_setsLaunchBounds() { when(mBubbleController.hasBubbles()).thenReturn(true); Bundle bundle = new Bundle(); Loading @@ -638,7 +635,6 @@ public class StageCoordinatorTests extends ShellTestCase { } @Test @EnableFlags(FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) public void updateActivityOptions_noBubbles_doesNotSetLaunchBounds() { when(mBubbleController.hasBubbles()).thenReturn(false); Bundle bundle = new Bundle(); Loading Loading
libs/WindowManager/Shell/aconfig/multitasking.aconfig +0 −10 Original line number Diff line number Diff line Loading @@ -203,16 +203,6 @@ flag { } } flag { name: "enable_enter_split_remove_bubble" namespace: "multitasking" description: "Enable removing a task from bubbles when it is entering split screen" bug: "396315875" metadata { purpose: PURPOSE_BUGFIX } } flag { name: "enable_bubble_bar_to_floating_transition" namespace: "multitasking" Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubblesTransitionObserver.java +1 −2 Original line number Diff line number Diff line Loading @@ -18,7 +18,6 @@ package com.android.wm.shell.bubbles; import static android.app.ActivityTaskManager.INVALID_TASK_ID; import static com.android.wm.shell.Flags.enableEnterSplitRemoveBubble; import static com.android.wm.shell.bubbles.util.BubbleUtils.getExitBubbleTransaction; import static com.android.wm.shell.bubbles.util.BubbleUtils.isBubbleToSplit; import static com.android.wm.shell.protolog.ShellProtoLogGroup.WM_SHELL_BUBBLES_NOISY; Loading Loading @@ -75,7 +74,7 @@ public class BubblesTransitionObserver implements Transitions.TransitionObserver @NonNull SurfaceControl.Transaction startTransaction, @NonNull SurfaceControl.Transaction finishTransaction) { collapseBubbleIfNeeded(info); if (enableEnterSplitRemoveBubble() && BubbleAnythingFlagHelper.enableCreateAnyBubble()) { if (BubbleAnythingFlagHelper.enableCreateAnyBubble()) { if (TransitionUtil.isOpeningType(info.getType()) && mBubbleData.hasBubbles()) { removeBubbleIfLaunchingToSplit(info); } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +8 −11 Original line number Diff line number Diff line Loading @@ -38,7 +38,6 @@ import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP import static com.android.window.flags.Flags.enableFullScreenWindowOnRemovingSplitScreenStageBugfix; import static com.android.window.flags.Flags.enableMultiDisplaySplit; import static com.android.window.flags.Flags.enableNonDefaultDisplaySplit; import static com.android.wm.shell.Flags.enableEnterSplitRemoveBubble; import static com.android.wm.shell.Flags.enableFlexibleSplit; import static com.android.wm.shell.Flags.enableFlexibleTwoAppSplit; import static com.android.wm.shell.Flags.splitDisableChildTaskBounds; Loading Loading @@ -2237,7 +2236,6 @@ public class StageCoordinator extends StageCoordinatorAbstract { // TODO (b/336477473): Disallow enter PiP when launching a task in split by default; // this might have to be changed as more split-to-pip cujs are defined. options.setDisallowEnterPictureInPictureWhileLaunching(true); if (enableEnterSplitRemoveBubble()) { mBubbleController.ifPresent(bc -> { if (bc.hasBubbles()) { // Bubbles are present. Set an empty rect for the launch bounds in case we Loading @@ -2246,7 +2244,6 @@ public class StageCoordinator extends StageCoordinatorAbstract { options.setLaunchBounds(new Rect()); } }); } opts.putAll(options.toBundle()); } Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/bubbles/BubblesTransitionObserverTest.kt +2 −3 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import android.window.TransitionInfo import android.window.WindowContainerTransaction import androidx.test.filters.SmallTest import com.android.wm.shell.Flags.FLAG_ENABLE_CREATE_ANY_BUBBLE import com.android.wm.shell.Flags.FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE import com.android.wm.shell.MockToken import com.android.wm.shell.ShellTaskOrganizer import com.android.wm.shell.ShellTestCase Loading Loading @@ -231,7 +230,7 @@ class BubblesTransitionObserverTest : ShellTestCase() { verify(bubbleData, never()).setExpanded(false) } @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE, FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE) @Test fun testOnTransitionReady_bubbleMovingToSplit_removeBubble() { val taskOrganizer = mock<ShellTaskOrganizer>() Loading Loading @@ -271,7 +270,7 @@ class BubblesTransitionObserverTest : ShellTestCase() { ) } @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE, FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) @EnableFlags(FLAG_ENABLE_CREATE_ANY_BUBBLE) @Test fun testOnTransitionReady_noBubbles_doesNotCheckForSplitState() { bubbleData.stub { Loading
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/splitscreen/StageCoordinatorTests.java +0 −4 Original line number Diff line number Diff line Loading @@ -22,8 +22,6 @@ import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN; import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED; import static android.view.Display.DEFAULT_DISPLAY; import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_DISALLOW_OVERRIDE_BOUNDS_FOR_CHILDREN; import static com.android.wm.shell.Flags.FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE; import static com.android.wm.shell.Flags.FLAG_ENABLE_FLEXIBLE_TWO_APP_SPLIT; import static com.android.wm.shell.Flags.FLAG_SPLIT_DISABLE_CHILD_TASK_BOUNDS; import static com.android.wm.shell.shared.split.SplitScreenConstants.SNAP_TO_2_50_50; Loading Loading @@ -626,7 +624,6 @@ public class StageCoordinatorTests extends ShellTestCase { } @Test @EnableFlags(FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) public void updateActivityOptions_withBubbles_setsLaunchBounds() { when(mBubbleController.hasBubbles()).thenReturn(true); Bundle bundle = new Bundle(); Loading @@ -638,7 +635,6 @@ public class StageCoordinatorTests extends ShellTestCase { } @Test @EnableFlags(FLAG_ENABLE_ENTER_SPLIT_REMOVE_BUBBLE) public void updateActivityOptions_noBubbles_doesNotSetLaunchBounds() { when(mBubbleController.hasBubbles()).thenReturn(false); Bundle bundle = new Bundle(); Loading