Commit Graph

239 Commits

Author SHA1 Message Date
Kevin
1060a0d7fc Animate to bottom view in app => overview
We always want to animate to the bottom so we should just do that if we
have the view laid out even if at the time the app task doesn't actually
match the view.

Bug: 114136250
Test: Go to recents, press overview twice quickly, see it animate
correctly
Change-Id: I0516ef127ff6ef0f865c85314c9ffe4a7c6ef9e3
(cherry picked from commit 86957f28ff)
2019-04-23 19:23:25 +00:00
Kevin
6f927ecd8e Differentiate empty UI from default in recents Go
Use the "empty" drawable as the initial UI until the recents task list
and order is loaded, then switch to default/filled UI.

Bug: 114136250
Test: Manual test; see empty UI when loading takes time
Change-Id: I85b72e6d40d7224b28217cbf4e05515ec1e9451b
(cherry picked from commit a2c4200cde)
2019-04-23 19:22:42 +00:00
Kevin
2ee78b7310 Add task content animation property
Add API to animate task item content transition from one set of task
content (icon, thumbnail) to another. To do this, we provide two things
to the caller: startContentAnimation which allows the caller to set the
icon, thumbnail, and label to animate to and the
CONTENT_TRANSITION_PROGRESS property which the caller can use to control
the transition progress.

We will eventually hook this up to onBindViewHolder for the task adapter
when there is a data change event to prepare to animate content in.
Currently it still changes immediately.

Bug: 114136250
Test: Builds
Change-Id: I16e9b757ee91be54fe8cba6780b399e3cc313e3e
(cherry picked from commit a3d80d102e)
2019-04-23 19:21:58 +00:00
Kevin
7b42d2287a Fix transition progress not applying to drawables
TaskLayerDrawable should reapply UI changes from the transition progress
when there is a new drawable. In addition, the transition should check
if the drawable in the front and back are the same (i.e. on
initialization when both are showing the empty drawable) so that it only
applies the front-drawable alpha.

Bug: 114136250
Test: Builds
Change-Id: I74836b5043da555358742ba0a3f46f170f590904
(cherry picked from commit 1531982d1e)
2019-04-23 09:27:46 -07:00
Kevin
fbe9182b75 Change layout anim from Animation => Animator
Change the layout animation to use animators instead of the built-in
animation-based layout animation. Animator-based animations are more
flexible and can act on the view properties themselves, making it
easier to deal with if we need to cancel the animation later from a
conflicting animation (i.e. we find out we need to animate a view
out).

Bug: 114136250
Test: Go to recents, see items animate in
Change-Id: Id8227cd50e81999cac98912ac58cd2d6864c40af
(cherry picked from commit 26ad999b10)
2019-04-23 09:26:52 -07:00
Kevin
6092a6ee1e Add drawable for default thumbnail for Recents Go
This CL adds a drawable for the default thumbnail view and
refactors the logic to get the default icon/thumbnail/label if
null to separate methods for re-use in later CLs.

Bug: 114136250
Test: Manual; Go to icon recents
Change-Id: I511ea40ace040fc53ffc69c27149f24d69bda7b0
(cherry picked from commit 34ee30c4f9)
2019-04-23 09:25:54 -07:00
Kevin
e6e1463ed2 Add task layer drawable class for Recents Go.
Add a custom drawable class that provides a hook to the caller to
control a crossfade animation between two drawables. This will be
helpful going forward to sync up all the animations to the controller.

Note that this CL only adds the class and does not replace the current
implementation.

Bug: 114136250
Test: Builds
Change-Id: I3cc6be79cb2ca5d64c8cc2945ff7f2ebd49632b6
(cherry picked from commit bb956bd028)
2019-04-23 00:42:49 +00:00
Winson Chung
4060a75d8f Add state callback in launcher
Bug: 129785904
Test: Manual, change states and verify state is sent
Change-Id: Ia1f69494a6cbae68085fb09670ffa309ce147430
(cherry picked from commit c4b88c3dfb)
2019-04-11 18:11:51 +00:00
TreeHugger Robot
2945bc84b5 Merge "Removing unnecessary corner size caching in RecentsModel" into ub-launcher3-master 2019-04-05 23:32:17 +00:00
Sunny Goyal
c7cc3dc2c5 Removing unnecessary corner size caching in RecentsModel
Change-Id: I1be87dc15a3b9ec8225dccce701bff19785658d6
2019-04-05 15:11:42 -07:00
Kevin
2bd36dd326 Don't put up loading UI if load isn't necessary.
Do not put up the loading UI when we don't need to load (whether that's
because we're already up to date or there is already a load in progress)

Bug: 114136250
Test: Manual; go to recents and see that it doesn't load when updated
Change-Id: Idbcc3731e4ecab8f67b7b5b07a98cb112ed4e07a
2019-04-05 14:44:16 -07:00
Kevin
3e98796189 Add layout animation for Recents Go
Add a layout animation where views fade in upward in a cascade and play
it every time the user goes to Recents.

Bug: 114136250
Test: Go to Recents and see cascade animation
Change-Id: Ia6fdd344f0bfb46c4d507e50f278a86a4432c2b6
2019-04-05 12:20:55 -07:00
Kevin
fc6781992d Control logic for putting up loading UI
This CL introduces the logic to put up and bind loading task views while
the first phase of loading occurs (i.e. loading the number and order of
recents items).

Bug: 114136250
Test: Go to recents, see tasks loading
Change-Id: I59bdc0fccc7f309ea4cded175c04a464b5a3665e
2019-04-05 11:04:10 -07:00
Winson Chung
41d58f7100 Add launcher logging of back button
Bug: 127848641
Test: adb shell setprop log.tag.UserEvent VERBOSE, then hit back
Change-Id: I020738280d2e51a8a192e577baf48c0b092f22f6
(cherry picked from commit df7d00328c)
2019-04-03 22:41:39 +00:00
Sunny Goyal
65f2396ecd Merge "Adds the ability for Launcher3 to respond to QSB alpha change requests." into ub-launcher3-master 2019-04-03 20:20:12 +00:00
Sunny Goyal
27211592e1 Removing unused import in TouchInteractionService
Change-Id: I207e56189bbdb0105430a47f6a9069c6382354b2
2019-04-03 11:03:14 -07:00
Govinda Wasserman
24e489e5a3 Adds the ability for Launcher3 to respond to QSB alpha change requests.
Test: Tested locally
BUG:124063782
Change-Id: I8c4bfaa62d9608fcfffff5e30b2913f3a6fb2f75
(cherry picked from commit 827f0807d3)
2019-04-03 17:33:55 +00:00
TreeHugger Robot
3388e34799 Merge "Disable input while animating clear all on Go" into ub-launcher3-master 2019-04-02 00:41:55 +00:00
Kevin
1497112599 Disable input while animating clear all on Go
Prevent janky things from happening by preventing user input from going
through while the clear all animation is occurring.

Bug: 114136250
Test: Hit clear all => try to clear all / tap task, nothing happens
Change-Id: If7bd6b54e4b1b8185fafda990561973ea17b9648
2019-04-01 17:04:31 -07:00
TreeHugger Robot
3b4794f6d2 Merge "Boost correct layer for Recents Go transition" into ub-launcher3-master 2019-04-01 21:14:34 +00:00
TreeHugger Robot
639598245c Merge "Hook up Go recents view API to recents activity" into ub-launcher3-master 2019-04-01 21:06:46 +00:00
Kevin
552071b5f4 Boost correct layer for Recents Go transition
For transition from app to fallback recents, the apps were on the same
Z-layer causing both to show up in the animation. We should instead
boost the closing app so that it's visually on top as it shrinks down.

Bug: 114136250
Test: Press overview in app to go to recents, behaves as expected
Change-Id: Iaca1e4fc1486721468a5bfffb1d139259d48739f
2019-04-01 13:00:57 -07:00
Kevin
b6320aeeb6 Hook up Go recents view API to recents activity
Hook up onBeginTransitionToOverview for fallback recents as well by
hooking it up to activity start.

Bug: 114136250
Test: Go to recents for fallback recents
Change-Id: I5445bce13ecf7c0dbc2f2b3ff0d8a0aee1449ae1
2019-04-01 12:06:43 -07:00
Kevin
b2c73b43a1 Fix crash on fallback recents Go activity
Recents Go would crash when attempting to touch the fallback recents
activity since it's based off the base dragging activity in launcher
which assumes some touch controllers are initialized. As we leave
all touch input to hooks on the views themselves, we do not need touch
controllers and initialize an empty list instead.

Bug: 114136250
Test: Launch fallback recents activity, touch around
Change-Id: Ic136ace6f968d8c469c6f300daf4ee28fbde5e69
2019-04-01 11:20:56 -07:00
Sunny Goyal
5743f8635b Making navigation mode listener a singleton so that the change is dispatched
everywhere synchronously.

Change-Id: Iee8c5957d78dfad3fb03e814de0367adcaa0c98b
2019-03-29 09:36:45 -07:00
TreeHugger Robot
a978f4d76e Merge "Add clear all animation to Recents Go." into ub-launcher3-master 2019-03-29 02:14:50 +00:00
TreeHugger Robot
7c1d69e515 Merge "Show ASAP for Recents Go and load content after" into ub-launcher3-master 2019-03-29 02:07:01 +00:00
Kevin
b589241fd6 Show ASAP for Recents Go and load content after
Recent UX discussion led to decision to show as soon as we have the list
and order and then load the content in after as soon as it comes. This
introduces API in TaskListLoader to facilitate this and default values
for the view when the content is not yet loaded.

Bug: 114136250
Test: Go to recents, see content load in
Change-Id: I6766cf014e3de78894353614157dbc8798031c2f
2019-03-28 18:10:52 -07:00
Tony
e4c2e2b86c Add QuickSwitchTouchController on home
- Added QuickSwitchState, which we animate to when swiping right
  on the nav bar from NORMAL state
- Task launches when the state transition to QuickSwitchState ends

Bug: 126596417
Change-Id: Id66650401d817703fc6d044fb26a25cccbc07e11
2019-03-28 15:09:25 -05:00
Tony
e06fef45a4 Move some classes to packages
Added states/ and touchcontrollers/ packages

Change-Id: I8d59c47770c24c9edd1b7ce879e6a80ca8b88c71
2019-03-27 19:45:04 -05:00
Tony
1787ee9596 Peek overview on motion pause, then animate fully on touch up
Add AnimationComponents.ATOMIC_OVERVIEW_PEEK_COMPONENT, and rename
previous ATOMIC_COMPONENT to ATOMIC_OVERVIEW_SCALE_COMPONENT.

When SWIPE_HOME is enabled:
- Overview lives to the left of Workspace, which is encoded in
  LauncherState.NORMAL.getOverviewScaleAndTranslation().
- Create atomic animation based on ATOMIC_OVERVIEW_PEEK_COMPONENT
  and OVERVIEW_PEEK state when swiping and holding from home screen.

Bug: 111926330
Change-Id: Iab6dbef7238dae15b3036d4b2a026b781eee6b4b
2019-03-27 19:45:04 -05:00
Tony
bc23440d73 Add translationX to overview state
States return ScaleAndTranslation instead of float[].

Also separate overview translate interpolator from overview scale interpolator.

Change-Id: I5e65dde3f436055ff5e7f5736f1a4b712377b9cb
2019-03-27 14:36:48 -05:00
Kevin
5bf71b2268 Add clear all animation to Recents Go.
Add clear all animation where task views fade out to the right and the
view fades to home.

Bug: 114136250
Test: Hit clear all
Change-Id: I5a3336da5b724ce19d9ef854efde0dd1f654941a
2019-03-22 16:18:28 -07:00
Kevin
c977ea9a3c Add overview button handling to Go recents.
Add the same overview button handling as in the original launcher.
Specifically, pressing overview on recents will launch the next
appropriate task (e.g. the next most recent task if you came from an
app).

Bug: 114136250
Test: Go to recents from launcher, press overview => launch task.
Test: Go to recents from app, press overview => launches next task
Change-Id: I946974b4c2b65b6d0f212d8e8c0816983386d952
2019-03-22 12:53:02 -07:00
Kevin
969e7a6c57 Rename task input controller.
The TaskInputController class doesn't need to be tightly coupled with
the actual input method, so we should rename it and the methods to
correspond to the actual logic. For example, both tapping a task and
pressing the overview button on recents should launch a task and should
both use this logic.

Bug: 114136250
Test: Launch tasks, clear tasks, clear all
Change-Id: If4f7f1d6ee9b05ffaf65cb13df633679cc8efcbe
2019-03-21 18:00:44 -07:00
Kevin
fefe8b6d0e Add clear all button to Recents Go
Add a button to clear all tasks to the recents Go layout and hook it up
to the model.

Bug: 114136250
Test: Open recents, hit clear all
Change-Id: Id67310ce88053528d372e4dc21e2b011ed957646
2019-03-21 15:04:21 -07:00
TreeHugger Robot
d6585350d0 Merge "Add recents launch animation to Recents Go" into ub-launcher3-master 2019-03-20 21:57:49 +00:00
Kevin
72114efef6 Add recents launch animation to Recents Go
We use the basic clip reveal animation to animate from the task
thumbnail view to the opening app.

Bug: 114136250
Test: Tap task from recents
Change-Id: Id582385fc022c75ee322beebdc6cf7a0f209e720
2019-03-20 14:47:32 -07:00
Tony
bfc9dde03e Replace translationYFactor with just translationY
Now that we don't have quick scrub, the only state that has a non-zero translation is all apps,
which just uses that to have a slight parallax. This is much simpler to define in terms of pixels
like other states do.

Change-Id: I108c8505d85591399256b3475f7566ff51e2c5ad
2019-03-20 15:36:31 -05:00
Kevin
502847f7eb Add app to overview anim for Recents Go.
This CL adds the first iteration of window animation to go from
the app back to recents provided that the view is ready to be
visible to the user.

Bug: 114136250
Test: Go to recents, launch app, press overview to go back to recents
Change-Id: Ic0567e7c87fa964bdad25d07eca61b78407a9ff5
2019-03-18 17:15:15 -07:00
TreeHugger Robot
9b4c82cbf9 Merge "Add activity interface to Recents Go view" into ub-launcher3-master 2019-03-15 22:19:21 +00:00
Kevin
5163b58d52 Add activity interface to Recents Go view
Add an interface for recents to activity logic that can be set on the Go
recents view. This CL includes a method for the logic that should occur
when leaving recents due to having no tasks remaining.

As the view has no knowledge of the containing activity (could be
Launcher or could be a separate activity), this interface must be set
externally.

Bug: 114136250
Test: Remove all tasks, see that it goes to home when l3goIconRecents is
the default launcher
Change-Id: I110abab49c22e245b98a1f9b91b0b0f052886098
2019-03-15 15:09:38 -07:00
vadimt
d64b4f44da Switching swipe-up to overview to using test info provider
Also moving test provider to Quickstep to have access to the new info;
and now Launcher3 doesn't have it.

Bug: 123904290
Change-Id: I653376610e83839d102beb9c0604950dd314e8ba
2019-03-15 11:42:06 -07:00
TreeHugger Robot
65b1cdbdea Merge "Fade to empty view when no tasks for Recents Go" into ub-launcher3-master 2019-03-13 22:55:15 +00:00
Kevin
3cb12c8d20 Fade to empty view when no tasks for Recents Go
This CL adds a view for when there are no tasks and fades into/out of it
appropriately based off changes to the adapter.

Bug: 114136250
Test: Add task, remove task, see empty view shows up properly.
Change-Id: I47d0bbfb19d56f5f0de5bec3c0ac2b5cfb63253f
2019-03-13 15:46:41 -07:00
Sunny Goyal
1e6641fc74 Merge "Removing fade animation on swipe up" into ub-launcher3-master 2019-03-13 22:05:27 +00:00
Kevin
100e1263e2 Add thumbnails to the task view.
This CL adds thumbnails to the task view so that the labels are next to
a combined view with the thumbnail to the left and the icon at the
bottom right.

Due to the way launcher creates shadows on icons, the icons are actually
smaller than desired, so there need to be further changes to determine
the appropriate scale in order to have the bottom of the icons be flush
with the snapshot's bottom.

Bug: 114136250
Test: Launch l3GoIconRecents, see thumbnails + icon
Change-Id: Ief1cf54634544b9e310c68588998901871efda44
2019-03-13 12:59:39 -07:00
Sunny Goyal
58ddac1d09 Removing fade animation on swipe up
Fade animation is no longer required as the transform is also handled on
the main thread. So we will get the RecentsAnimaiton always after Launcher
has drawn

Change-Id: Ieb05406c9a5b9132b0518155bdbda16c1f73a6ec
2019-03-12 16:24:05 -07:00
Kevin
013af455b1 Implement swipe to delete on Recents Go
Introduce a ItemTouchHelper.Callback implementation that hooks up remove
logic to swiping right on task items. Additionally, tighten the
modification access to the task list in TaskListLoader so it is harder
to mis-use.

Bug: 114136250
Test: Removed app via swiping
Change-Id: I9b6e2783d1f6d56e655e9b7ffa9af85328f98159
2019-03-12 15:10:22 -07:00
Kevin
1ae97d81f6 Add TaskInputController for Recents Go
Add TaskInputController, a class handling input logic for the Recents Go
view. This CL hooks up the tap to launch logic with swiping + clear all
to be added in a later CL.

Bug: 114136250
Test: Build Launcher3IconRecentsGo and tap apps; see that they launch
task
Change-Id: I03e14a6f66307b9c6239cdeaec95d09f160fa3e0
2019-03-11 15:05:52 -07:00