- Remove some currently unused pip interface methods
- Remove some usages of handler
- Remove update thread (will eventually run on shell main thread)
Bug: 161979899
Test: atest WMShellUnitTests
Change-Id: If97e5182e396029120f0d0fb9e730ece93cddcc8
Signed-off-by: Winson Chung <winsonc@google.com>
The tests are stable in postsubmit, so they can be moved to presubmit
Bug: 162923992
Test: atest FlickerTests
Change-Id: Ie691d8ae11672337e46529b26cc358f99e5a0bf4
If seamless resize is enabled and the pip param for it is set to false,
the finish resize transaction will do a crossfade animation between the
two states.
Bug: 152554547
Test: corner/drag resize or tap to expand, stretch resize crossfade when let go
Change-Id: I8b2b27335ab8150a84914fc29615dd6625b1af35
- Dragging to right to dismiss no working.
- Dragging to left to dismiss closes all apps
- Not able to put app in split after left drag to dismiss
- Pressing back on last activity in one split dismisses both.
- Don't move home task forward when startActivityFromRecents with launch
root set.
Fixes: 176061049
Test: they pass!
Change-Id: Ic1219b747e995ee8833b31433356bd44435118da
The tests are stable in postsubmit, so they can be moved to presubmit
Bug: 171049720
Test: atest FlickerTests
Change-Id: I116157823f192ce31473d2d7d33ae7b8bf4e7a43
Use media projection instead of the shell command for screen recording.
Test: atest FlickerTests
Bug: 177077842
Change-Id: I9ac7351bf04004b5512316232637fd5cc2dd5fcc
After this CL each assertion in the AppPairs test will appear as independent tests
Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: Id704301b3396c4330001ef639faed6e978237f10
Runner now prints each assertion individually to aid debugging.
Bug: 162923992
Test: atest FlickerTests WMShellFlickerTests
Change-Id: I1c9a49ec3c283e5e034f0223573fca3ccafaf64c
Per spec, max size would be the biggest possible bounds within the
movement bounds (displayWidth - 2 * insetWidth), and min size would be
40% of the width.
This also fixes the issue of portrait PiP not resizing correctly due to
wrong math being done in the resize algorithm.
Bug: 166478885
Test: Double-tap on PiP
Change-Id: I2e239d23a0e2519c0b482005614a1faddb1f808a
This does the basics to adapt recents animation to shell transition.
Replaces startRecentsActivity with a normal startActivity. Once
we make a full switch to shell transitions, we can hopefully remove
it.
Updates the TransitionHandlers in shell and RemoteTransitions to
support attaching a WindowContainerTransaction to a transition's
finish. For recents, this is used to move the "pausing" app (the
one getting animated into the recents carousel) back to the front
if the gesture doesn't go all-the-way into recents.
Bug: 162503077
Test: enable shell transit. launch an app, use gesture to open
recents. use gesture to start going to recents, but then
release early to return to the app.
atest ShellTransitionTests
Change-Id: Ied54f1b2c70c5c129b2f5798117d6d8a85360998
Bug: 170302562
Test: have no bubs, add bub => bub moves up to finalY
Test: have bubs, add bub => new bub moves up, old bubs move down
Test: update existing bub => updated bub swoops above stack, then
moves down to finalY with other bubs
Test: the above on portrait left/right && landscape left/right
Change-Id: I1f9e38fed9ad66ad243700082981f75418c64bf5
Task#getPictureInPictureParams used to get the params from root activity
and it is okay doing so without autoEnterPip since the activity to be
pinned will be put in a task with one and only one activity.
With autoEnterPip, it it possible that the root activity has no
PictureInPictureParams being attached when the transition starts in
Launcher side, switch to use the PictureInPictureParams tied to the top
visible activity here.
Fixes also
- when this happens, we need to reset the window crop leash on the
original task in FullscreenTaskListener#onTaskInfoChanged
- ensure the reparented task inherits the current bounds
- ensure we do not hide the leash in Task#setHasBeenVisible by setting
mHasBeenVisible=true on the newly created task
Video: http://rcll/aaaaaabFQoRHlzixHdtY/gIO4G5dybW7tJWXihkhXfE
Bug: 177335910
Test: see video
Change-Id: I198443b93b7d8cc11108f0d0606f98eac58c07b7
Ability to specify that 2 root tasks are adjcent there by allowing them
to occlude their parent. Similar to how the legacy primary/secondary
split windowing modes are used to occlude their parent.
Also, occlude parent if a child in multi-window mode as a matching
bounds.
Bug: 177166639
Test: AppConfigurationTests#testSplitscreenPortraitAppOrientationRequests
Change-Id: I7d54bfa188700a76b0bca911d2011123c21553ad
The flash at the end of entering PiP transition in gesture navigation
mode is a regression from ag/12997165. Fixed by delaying
PipMenuController#attach late (when the leash is set to transparent) in
the process to avoid any artifacts on the leash caused by addShellRoot.
Video: http://rcll/aaaaaabFQoRHlzixHdtY/dFdpJHvTCP6NmNEkDHrtei
Bug: 174814759
Test: see video
Change-Id: I7e74253f94b16977d04e27c2ab76fd3178001630
- An activity always runs on the main looper of the process
and this simplifies threading since all bubble data will
run on the shell thread
- The BubbleExpandedView will not initialize the task view
when mIsOverflow is set. We still snapshot the overflow
view to keep the existing selection animation logic the
same between overflow/task bubbles
Bug: 161979899
Test: atest WMShellUnitTests
Test: atest SytemUITests
Change-Id: If3632a3030c58c9ec334afcb06aac4c51e28938b
1) Move UiEventLogger from static to non-static
2) Rename to OneHandedUiEventLogger to align wm-shell components
3) Remove unused code from OneHandedUiEventLogger
4) Refine the call of stopOneHandedWithUiEvent()
5) Only register TaskStackListenerCallback when enabled
6) Override getId() in the enum to ensure UiEventLoggerImpl
can obtain the event corresponding id accordingly
Fixes: 176513465
Test: adb shell cmd stats print-logs
Test: manual + statsd_testdrive -terse 90
Test: atest WMShellUnitTests
Change-Id: Ic2fb1a2bbf87e647b0883d50b64ced53aa37d613
b/177374067 indicate OpenAppToLegacySplitScreenTest still flaky
1) Extend the filter in visibleLayersShownMoreThanOneConsecutiveEntry()
- Toast window
2) When going split transition, waitForAppTransitionIdle() at end
3) Enable navBarLayerIsAlwaysVisible() & statusBarLayerIsAlwaysVisible()
Test: atest com.android.wm.shell.flicker.legacysplitscreen
Test: Set TEST_REPETITIONS to 100 and run flicker test stressfully
Bug: 177374067
Bug: 176923301
Bug: 176134495
Change-Id: I1caface176f4af591d5383877c81b786eb23ba58
It has two layer defer currently, it should only remain queue
events method. Remove using of mDeferTaskOrgCallbacksConsumer
and extand using of queue method to onTaskAppeared,
onTaskVanished and onBackPressedOnTaskRoot.
Bug: 171749427
Bug: 177551997
Test: check split screen, PiP and bubbles work normally
Test: atest WmTests:WindowOrganizerTests
Test: atest CtsHarmfulAppWarningHostTestCases
Change-Id: Ic8fea93117f45b60f15b06773eefbbde11e48fd5
Also, it seems like the vibrate call was always broken by conflating
effect IDs with durations. Fixed that, which should hopefully provide a
better haptics experience.
Move things to use more Kotlin idioms along the way as well.
Bug: 177652618
Test: manual
Change-Id: I057989eab8f6728953c2c4f0d7489a5aa0e9bf2d
This adds IRemoteTransition interface for other processes (like
launcher) to register for playing transition animations.
Then there are 2 supported ways to "register":
1. Is to attach an IRemoteTransition to ActivityOptions. To
support this pathway, requestStartTransition now takes a
TransitionRequest object which can contain whatever info
is needed at the time. One piece of that is the passed-in
IRemoteTransition.
2. Is to register directly with shell (via systemuiproxy for
now) with a TransitionFilter. This filter allows shell
transitions to dispatch a transition to a remote without
need to make queries over binder.
This also hooks up launcher animations by converting the new
transition info to the old RemoteAnimationTargetCompat stuff.
Bug: 169035082
Test: launch app from launcher and observe the icon animation.
atest ShellTransitionTests
Change-Id: I8014a6f46cffda3a48a1a4ae101e2643078f4a14