Prepare for windowless starting surface. Attemp to decouple the drawing
methods from window related handling.
Move most of snapshot drawing method together to a utility class
SnapshotDrawerUtils, so SystemBarBackgroundPainter now can shared for
shell and core.
Bug: 131727607
Bug: 257857570
Test: atest SnapshotDrawerUtilsTest StartingSurfaceDrawerTests
Test: hot launch an app, and verify snapshot starting window show up
without issue.
Test: cold launch app, verify icon style splash screen can show.
Change-Id: I4d2c04e41d375cf6c8711a60977b8f24dddd41c0
This CL sets the caption width to match the task bounds width if no
fixed width is defined.
Bug: None
Test: atest WMShellUnitTests:WindowDecorationTests
Change-Id: I033d0564f21974f5fdc982fba823ae42bdd9f37c
Changed method names in WindowDecorModel Interface to better reflect
their purposes and made onTaskChanging (Previously
setupWindowDecorationForTransition) to handle captionCreation if needed.
Test: Manual Testing and created CaptionWindowDecorViewModelTests
Bug: 257288823
Change-Id: I43672fa37accba97b4ea330e01082d00137a4b01
Add a new animator to support `TYPE_CROSS_ACTIVITY` when starting a back
navigation and it will return to another activity.
This also introduces the background controller that could show the
animation background surface attached to the display area.
Bug: 236759828
Bug: 238474994
Test: atest BackAnimationControllerTest BackNavigationControllerTests
Change-Id: I6574b6ce969cb905ba8b4a797560216aed2ee3cb
Add a fallback logic for entering split screen by verifying it contances
opening task to the indicated side to prevent leaving one side of the
split empty. Fix checking the wrong running task when entering split
screen by checking the top running task instead of checking reported
focusing task since the focusing task is not matching with the leaf task
running on top always.
Fix: 246689775
Fix: 260389099
Test: atest WMShellUnitTests
Test: drag and drop Calender to enter split while Calender on top won't
leave empty side split.
Test: drag and drop Chrome to enter split while Chrome on top won't pup
up not supported toast.
Change-Id: Ic7ea239b10ce41d956a85dbd6d04e007babd0743
This reverts commit a210826fe5.
Reason for revert: DroidMonitor: Potential culprit for Bug b/260534444 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.
Change-Id: Id88fe6e3a4f9eea08aa812feaae92067be40950f
DislplayImeController only update the ImeSurfaceControl
for a non-null control. So it still keep a stale control
even the control has lost.
The ImeSurfaceControl should be updated to avoid using a
stale control to start animation.
Bug: 258814082
Test: Manual test with bug steps
Test: atest DisplayImeControllerTest
Change-Id: Id7ac6de6a9e8e5f0e620254c39d104272175b3a1
Use `IS_U_ANIMATION_ENABLED` to control the new animatiors for U
except `TYPE_RETURN_TO_HOME` that already enabled in previous version.
Bug: 131727607
Test: atest BackAnimationControllerTest
Change-Id: I612d4e8ce312be6dee36776b63cee33e72875908
Debuggable reamdump data collection dialog is triggering up while
running tests. These are causing flakes. While a better fix would be
figuring out why these are triaggered, the wm tests should be
independent of internal apps which an end user of Android won't see.
Test: Forrest
Bug: 258578781
Bug: 239384214
Change-Id: Ia4c0c670fe3e35f84640787cb8fce70e74edb264
This relands commit 8dc06e5335
The Different from the original patch:
Ignore the layers of popup windows.
The original CL description:
Align the long press duration to AutomationUtils.
Bug: 257099231
Bug: 258787797
Test: atest WMShellFlickerTests:CopyContentInSplit
Change-Id: I391e0e4e71aa0ae13221ecd571e187e1c10f7c96
This CL did some refactors include:
- Make the back animation will follow these two phases to better
understand.
1. Phase 1 animation will start from gesture start, and end when
gesture released.
2. Phase 2 animation aka post commit animation will start after gesture
released.
3. When the animation is finished, make sure we could trigger the real
back behavior and notify the core.
Bug: 238475694
Test: atest BackAnimationControllerTest
Change-Id: I251b9674a4aa9965c338ccf592efaeabdcecd5e8
for both shell and legacy transition system.
The general sequence will be:
1. Create animation leash in core, pass to remote animation runner.
2. Remote animation finish, collect finish transaction before
transition happen. Apply finish transaction here if back event won't
trigger.
3. Check whether next transition is triggered from back gesture via
checking the open/close targets.
The 3rd step introduce another change, which to let the back transition
happen. Instead of consume next transition, we should try to find out
whether the participant was the animation target, because we cannot
assume what the opening target will do in resume stage. For example,
the opening activity could finish itself, or start another activity at
onResume, so in either case, the opening activity will become closing
activity. We can only ensure that activity will participant in next
transition.
So the more robust way should be, find out those targets which were
animated. For shell transition, and add a flag to the corresponding
change, then the transition handler can determine what to do based on
the targets. For legacy transition, ignore those targets when estimate
the transition type in AppTransitionController#getTransitCompatType.
Bug: 238474994
Bug: 131727607
Test: varify transition can be handled for some unexpected scenario:
1. launch new activity when close app.
2. launch singleInstance activity when close app.
Test: do back gesture on both shell/legacy transiton system, verify
no flicker happen whenever the back is triggered.
Change-Id: I9364be25c608f7b5797577d26b57bc7d6f2dde9c
Allows WM Shell to indicate the start/end of drag resizing, which
core can use as a signal to reuse a single (larger) surface size
for the entire drag resize operation to avoid continuous buffer
allocations after each size change.
Bug: 249808500
Test: drag resize a freeform window, verify WindowLayout requests
a fullscreen sized surface; atest TaskPositionerTest
Change-Id: I27e2b44270d7ea4f701fa8037f93b20dc691284b
Align the long press duration to AutomationUtils.
Bug: 257099231
Test: atest WMShellFlickerTests:CopyContentInSplit
Change-Id: Ic54df7aa6b0d9236728285dffea7012487ac33df
When switching to desktop mode, move home task behind visible task(s).
This ensures that only the visible task is shown at first on the
desktop.
Bug: 258282673
Test: atest DesktopModeControllerTest
Change-Id: I1d593900789846d8389decaddbaf92eb4a1d6e87
Expose list of running tasks per display from ShellTaskOrganizer.
This allows us to move desktop mode related logic out from
ShellTaskOrganizer and to DesktopModeController.
Bug: 258282673
Test: atest DesktopModeControllerTest ShellTaskOrganizerTests
Change-Id: I179c69c185153a07de3602627ed18734420abda2