Commit Graph

25 Commits

Author SHA1 Message Date
Winson Chung 8dbba26e76 Add a content overlay for auto-enter w/o a source hint rect
Bug: 184703546
Test: Swipe up from app with auto-enter but no source hint rect

Signed-off-by: Winson Chung <winsonc@google.com>
Change-Id: Ib6f03dc6b11d37c44d732c75adabf45d1795fefc
2021-05-12 15:19:52 -07:00
Winson Chung fb45e57ac1 Prevent multiple calls to finish on the recents controller
Bug: 186246362
Test: Verify from logs that we don't finish the controller
      multiple times
Change-Id: I8d40a756216133b8a278a28b822cf75c6e2a3046
2021-04-27 21:20:24 -07:00
Hongwei Wang 716affdba6 Comply with the IRecentsAnimationController change
Bug: 184789412
Bug: 185509920
Test: m -j
Change-Id: I11c7e4988d958ddaa63d9750ec65ee27030322c0
2021-04-22 11:16:05 -07:00
Hongwei Wang 00c966a446 Pass the whole auto pip transaction to recents animation
Bug: 179720719
Test: manually using the ApiDemos app
Change-Id: I921c97c8bbba66dc5a674d1d67cff2e528e56154
2021-03-25 11:48:21 -07:00
Hongwei Wang 5a4d91e54d Pass the transform from Launcher to SysUI
Video: http://rcll/aaaaaabFQoRHlzixHdtY/hT5SXvaCy28P4UtfuoKiDw
Bug: 181342797
Test: see video
Change-Id: Id70d89b6dc82c7b9a33bd998b9ebdeb31703c37d
2021-03-12 10:37:40 -08:00
vadimt 12d8222124 Starting CUJ_APP_CLOSE_TO_HOME metric earlier
Now starting it at the very start of the gesture.

Test: Manual
Bug: 174892351
Change-Id: I9c36b4e4ae51302fc1c6b99b825358fb647cd310
2021-01-08 14:07:48 -08:00
vadimt 1e71ba5b98 Moving removing task after QS to a background thread.
Blocking binder call was creating jank.

Test: manual, presubmit
Bug: 173467481, 173072373
Change-Id: Ib19d2a97ed8cf3e9763008b042ef48d89532cb58
2020-12-04 14:18:52 -08:00
Winson Chung 87f2b09072 Merging from ub-launcher3-master @ build 6925377
Test: manual, presubmit on the source branch
x20/teams/android-launcher/merge/ub-launcher3-master_master_6925377.html

Change-Id: I928b100c8f41abff34047df69d988622123f9939
2020-10-23 10:16:50 -07:00
Hongwei Wang e4bc2af04b Improve PIP enter transition w/ gesture nav (3/N)
Directly transition Activity to PiP mode in launcher if the Activity
claims auto-pip support. Video is taken by commenting out the
requirement of setting the auto-pip flag.

Note that we need app to actively push up-to-dated
PictureInPictureParams to the framework, otherwise we won't be get
- PictureInPictureParams on first entering
- Staled PictureInPictureParams if the aspect ratio is changed

Video: http://rcll/aaaaaabFQoRHlzixHdtY/abenIxLFI1pZzF2O8t4TbS
Bug: 143965596
Test: see demo videos
Change-Id: Iea9a6ff39a79431ac1afa14aea812c500b3ca3b2
2020-10-22 11:17:52 -07:00
Tracy Zhou 2c5ed10ffa Merge "[Live Tile] Support launching another task (other than the current running task) in Overview" into ub-launcher3-master 2020-10-06 18:40:57 +00:00
Tracy Zhou 8ed9707cf3 [Live Tile] Support launching another task (other than the current running task) in Overview
- Get rid of the defer cancelation logic
- Render animation on the task view of the task being launched upon task view appeared callback
- Finish the recents animation upon the end of the recents window animation

Fixes: 164926736
Test: manual
Change-Id: Ibffb6a9c74c235efc8615a22b0306551532c7b61
2020-10-06 09:58:10 -07:00
vadimt a762b02418 Annotating Quick Switch CUJ for non-3-button modes
Bug: 169221288
Change-Id: I7145a9e28a2f0a789d19d2a0e3d15630c6e50f6a
2020-10-02 14:08:37 -07:00
Sunny Goyal 16e165defe Fixing touches getting ignored just after swipe-up
Moving the input proxy logic outside the recents controller, so that it
is not lied to the controller lifecycle.

> Fixing input consumer not getting registered if recentsController
  was not received until ACTION_UP
> Fixing input events being ignored after finishing recentsAnimation,
  but before handler is invalidated

Bug: 161750900
Change-Id: Ib06617caef77f18a71c5a231e781291c3a4ee57e
(cherry picked from commit ff4b142789)
2020-07-27 17:55:47 +00:00
Sunny Goyal ff4b142789 Fixing touches getting ignored just after swipe-up
Moving the input proxy logic outside the recents controller, so that it
is not lied to the controller lifecycle.

> Fixing input consumer not getting registered if recentsController
  was not received until ACTION_UP
> Fixing input events being ignored after finishing recentsAnimation,
  but before handler is invalidated

Bug: 161750900
Change-Id: Ib06617caef77f18a71c5a231e781291c3a4ee57e
2020-07-24 16:48:56 -07:00
Tony Wickham cc558e86fb Don't defer finish, only defer disableInputProxy
We should always finish the controller when requested, to ensure
everything is cleaned up immediately. But if touch is in progress,
we should keep input proxy enabled until touch up/cancel.

Test: swipe up to launcher and interact with it during the transition
- Swipe to recents and scroll it or dismiss the current task
- Swipe to home and open another app or swipe again on the nav bar

Bug: 157771305
Change-Id: Ida53289e4ecbd5e5d16933fcc79bbebdf1f8d898
2020-05-29 19:04:48 -05:00
Tony Wickham 5cf9edc1f2 Don't run finish callback until we actually finish
This fixes the issue where the app re-appears on top if you touch
the nav bar during the animation to home.

The sequence of events leading to this behavior is pretty long,
but actually always should have happened, it was just masked
until the ag/11172732 fix went in.

Here's an abbreviated version of what was happening
on the touch down during the animation to home:
1 Set mRecentsAnimationController#mTouchInProgress = true
2 Cancel the running animation to home
3 onSettledOnEndTarget(HOME) (this is what was missing before)
4 finishCurrentTransitionToHome(), which, due to #1, doesn't
  actually finish the controller, but does run the callback
5 Invalidate the handler due to #4, leading to TIS#reset()
6 Create a new handler (still from the original touch down),
  which is mResetGestureInputConsumer
7 mResetGestureInputConsumer handles touch down to finish
  the controller the app

This change addresses #4. Instead of calling the callback
immediately, we defer it to when we actually finish the
controller, which ensures there's no longer premature
cleanup that leads to the rest of the sequence.

Bug: 157407284
Change-Id: I0b2ff57bfa77a25c2bf1aece4b0ae7f943637ce6
2020-05-27 19:26:16 -05:00
Winson Chung a7ac7192c3 Fix issue with quickswitch not updating system bar flags
- Separate the calls to minimize split and to update the flags (we only
  want to minimize in split when swiping up, but we want to update the
  flags when quickswitching as well)

Bug: 155410195
Change-Id: I56308cc0fbaa8a855383012738f129671d72feff
2020-04-30 13:58:22 -07:00
lumark 9494f58409 Trigger onTaskAppeared when a task started from recents becomes ready.
Launcher can now receive onTaskAppeared callback from
RecentsAnimationController to get remote animation target when in quick
switch mode.

Note: This CL just demonstrates how to receive callback and then
calling removeTask & finish recents animation,
in order to really improve quick switch flicking, launcher side needs
to implement the rest of logic to animate task's remote animation target
to make task switching more smoothly.

Bug: 152480470
Test: WIP
Change-Id: Id0371db7339cfe84942cc905a89b0a2c1fab62ec
(cherry picked from commit bec41bc5b9)
2020-04-14 20:51:40 +00:00
Vinit Nayak a406f727ad Add vertical layout support for Overview in portrait
WM is making changes which allows apps to maintain
their orientation independent of the orientation of
the foreground app. This allows recents to always start
in portrait even when the app currently running is in
landscape. This means we have to give the illusion of
a landscape oriented overview when user swipes up in
gesterual nav when launcher is started in portrait
configuration.

PagedOrientationHandler abstracts all coordinate specific
logic from Paged/RecentsView primarily, but also all
other dynamic calculations throughout launcher.
PagedViewOrientationState is the single point of exposure
to other classes that depend on those changes. The goal
is to also minimize holding state to allow for default
implementations of PagedOrientationHandler for all the
3p/Fallback classes. PagedViewOrientationState also
holds other data around rotation that isn't
specifically tied to view logic.

The fake landscape overview can be toggled with:
adb shell settings put global forced_rotation [0/1]

Fixes: 146176182
Change-Id: I65d8d4e9f92b93931cbe0053ccaf0cda8d2ffd6c
2020-03-02 18:02:35 -08:00
Evan Rosky e7e91fd60e Connect split-screen things to systemui divider
Since divider stuff lives in sysui instead of framework

Bug: 133381284
Test: Manual, open 2 apps in split and drag-up to show
      recents.
Change-Id: If6740b7ee4829bf4cac6e829e81943f16a41f977
(cherry picked from commit 3ef159becd)
2020-02-25 23:42:42 +00:00
vadimt b545b68b3c Fixing some activity leaks
Bug: 139137636
Change-Id: I36055ac278879314d0afe6acf080f0082990113f
2020-02-11 18:33:22 -08:00
Tracy Zhou 0493a1e250 Inform RecentsAnimationController when overview is reached.
Fixes: 142088072
Test: manual
Change-Id: I1211885d01535f8d39333c6fcb4a7ec7eefcdf78
2019-11-12 12:56:09 -08:00
Winson Chung 4998b19307 15/ Move some more logic into gesture/device state
- Bake overview/home component into the gesture state (it should never
  change mid-gesture), this allows us to remove OverviewComponentObserver
  refs from the handlers
- Move nav bar position into DeviceState
- Remove passing RecentsModel into the handlers, it already partially
  references it statically

Bug: 141886704
Change-Id: I62f9138651cbe1fb984b57b96e4212ebaa1ffb5d
2019-10-25 15:52:25 -07:00
Winson Chung 9196cb11a2 8.5/ Follow up to comments from previous CLs
Bug: 141886704
Change-Id: Ib583753e35e57eab3b1cc413a0f910cf10142e42
2019-10-16 17:17:34 -07:00
Winson Chung d3da92ac66 7/ Rename RecentsAnimationWrapper
- Move the recents animation classes out of util into base quickstep pkg
- Clean up some local var names

Bug: 141886704
Change-Id: I1556179e203cbb43b77ea58e6fe520aa9944099b
2019-10-08 13:30:27 -07:00