Commit Graph

440 Commits

Author SHA1 Message Date
Tony Wickham 5dc60a0543 Add some egregious back exclusion rects
- Don't allow back gesture at all whenever we hid back button before
- Exclude RecyclerViewFastScroller thumb rect

Bug: 129297464
Change-Id: I40a33697592b02619218c18d1b3def7c3c203f56
2019-04-09 18:28:43 -07:00
Tony Wickham e2e953304f Allow swipe up to all apps anywhere on workspace
Bug: 129033091
Change-Id: Ib0066c59f86b3137aedad8d18393b5a622e0cd80
2019-04-09 12:23:01 -07:00
Sunny Goyal c7cc3dc2c5 Removing unnecessary corner size caching in RecentsModel
Change-Id: I1be87dc15a3b9ec8225dccce701bff19785658d6
2019-04-05 15:11:42 -07:00
Sunny Goyal 9e84e0c1c1 Removing SWIPE_HOME flag and using sysUI mode instead
Bug: 129873705
Change-Id: Ieaa7d7928427daed98538c616bdf58b28d295829
2019-04-03 17:02:36 -07:00
Jon Miranda bba6451b5f Refactor app open animation so that FloatingIconView tracks window.
Before, the window used to track the FloatingIconView. With this refactor,
both app open and app close use the same update method.

With the refactor, we can now use adaptive icons to morph the icon into the
size of the window.

Movement/interpolators are still the same as the original except for the
alpha and the clip animation. To ensure a perfect tradeoff, we wait for the
icon to match the size and shape of the window before crossfading.
Currently it is set up so that the tradeoff happens when the animation is
15% done, but this can be tuned later.

Bug: 122843905

Change-Id: I7d3edbefffb15fe26958a62ab33cf23dc1203908
2019-04-01 13:19:28 -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
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 101807d8e7 Fix SwipeDetector positive vs negative for HORIZONTAL direction
Previously left was considered positive and right considered negative.
Now left and down are negative, and right and up are positive.

For RTL, left is positive and right is negative.

Change-Id: Ia31e8c687c8c2716fc632b2fe88aa8955b934bce
2019-03-27 19:45:04 -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
Tony 9244f518f2 Add FLAG_DONT_ANIMATE_OVERVIEW to AnimatorSetBuilder
This allows us to specify when a second animation will handle the overview
animation, so it doesn't conflict with existing state transitions.

Bug: 125362112
Change-Id: I497c02924862bfba558c107bee3c88a9f40ec0f1
2019-03-27 14:21:06 -05: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
Tony d5a3df7b83 Don't close popup container if touch came from nav bar
Moved EDGE_NAV_BAR from quickstep package to launcher3

Bug: 127917144
Change-Id: Ic619ea49896ca8e49a9a539b7dc7d682291241b7
2019-03-15 17:08:51 -05:00
Jon Miranda a014ffa3ec Set window corner radius to 0 for app tranition anims in multi-window mode.
Otherwise we see a jump from corner radius to 0 corner radius when the
animation completes.

Change-Id: I46a65342d4ea531dc16c866aee305478067959d3
2019-03-11 15:27:10 -07:00
Jon Miranda 1a49fb5733 Transform closing window to icon on workspace using adaptive icons.
With adaptive icons, we can have FloatingIconView match the shape
and size of the closing window, regardless of the icon shape.

FloatingIconView starts off as a rounded rect (same corners as task view)
and then morphs into the icon shape using FolderShape#createRevealAnimator
in reverse.

Decided to add FeatureFlag.ADAPTIVE_ICON_WINDOW_ANIM since there are still
some issues with folders, badges, and a visible jump when swapping the
FloatingIconView with the original icon.

Bug: 123900446

Change-Id: I94969eea6d5f4b932a84a11eb403611276042b46
2019-03-01 12:48:25 -08:00
Jon Miranda 69e03dd082 Revert "Add remote animation for unlocking device."
This reverts commit 55a32272be.

Reverting until we can revisit this animation.

Bug: 123906429
Change-Id: Ic2d6e5a8198900fb15abd60dd140091681f828dd
2019-02-28 20:37:03 -08:00
Kevin 576d203a91 Remove several files from Recents Go src
As Go will not be using RecentsView, there are several files that are
unneeded in the recents Go source. This moves these files to
recents_ui_overrides where they will be used for non-Go builds.

Bug: 114136250
Test: Build NexusLauncher, aospWithQuickstep, l3GoWithQuickstep
Change-Id: I9d0154a75f4f2c71b865d414448e262b3019b2b9
2019-02-25 14:53:04 -08:00
Sunny Goyal 462551be9c Some live tile and state fixes
> Removing LayoutListener which was causing relayouts in the middle of
  the transitions
> Fixing some logging in MultiStateCallback
> Using an overlay to draw the hole for the live tile

Bug: 124451190
Change-Id: I91351f76ec7cc2793a835f40002bfd912939d40d
2019-02-18 14:59:18 -08:00
Jon Miranda 0128d3f6e0 App to home animation zooms into the app icon.
- Created FloatingIconView which is now used by both the app close and
  app open animation.
- getItemLocation in DeviceProfile is used to get an item's final location
  since getLocationOnScreen may return a View's location mid-animation.
- Added getFirstMatchForAppClose which is optimized to return for best
  visual animation.
- Also fixes app open RTL bug.
- Next CL will use AdaptiveIcons and FolderShape reveal animator to match
  the app icon to the app window.

Bug: 123900446
Bug: 123541334
Change-Id: Ief75f63fc5141c1ee59d4773946d08794846cb31
2019-02-14 16:54:45 -08:00
Sunny Goyal 3f271d4b7f Deleting Quickscrub related logic
Bug: 124255113
Change-Id: Ic5f2338f1e3ae0a0cfb08f822dee0e01ae54a7b0
2019-02-14 11:40:03 -08:00
Lucas Dupin 330b857c42 Fixed corner radius during app launch
Change-Id: I9490bc359b93f9ca8b7c1dad2d93e90d0fba5ac8
Fixes: 122554807
Test: visual
2019-02-09 22:48:27 +00:00
Kevin 4dcf354ea4 Stub out BackgroundApp/FastOverview states for Go.
Go's recents will not have swipe up to overview so there is no need to
have BackgroundAppState. We also do not support quickstep so we don't
need a distinct FastOverviewState. So we stub them out here.

Bug: 114136250
Test: Manual test Launcher3QuickstepGo + NexusLauncher
Change-Id: I9223cd35fc3c64688cda16dcaa1d5f40460c9323
2019-02-01 09:54:17 -08:00
TreeHugger Robot 4229752c3b Merge "Split OverviewToAllApps for Go" into ub-launcher3-master 2019-01-30 20:59:02 +00:00
Kevin 3d5551a18e Split OverviewToAllApps for Go
This CL swaps out the current OverviewToAllApps touch controller with
the Go specific implementation. Moreover, since we only use this class
in landscape, we rename it to LandscapeStatesTouchController to avoid
confusion.

Bug: 114136250
Test: Manual test NexusLauncher, Launcher3QuickstepGo, Go recents
Change-Id: I6025cfe9f400705a4666fd92298a08a0c0ef7202
2019-01-29 13:13:04 -08:00
TreeHugger Robot b3ca6aee2c Merge "Changing min sdk to 25" into ub-launcher3-master 2019-01-29 20:43:01 +00:00
Jon Miranda 86f6c449a7 Add springs for recents dismiss animations.
Bug: 111698021
Change-Id: If518ba5946ea6fada67f549f2f29e1ab1c89969d
2019-01-29 12:13:57 -08:00
Sunny Goyal 8c48d8bea6 Changing min sdk to 25
Change-Id: I0d28069967854357ca755bf25dec19d4979bdecf
2019-01-29 11:29:52 -08:00
TreeHugger Robot 9752705e92 Merge "Fix bugs with quickstep springs." into ub-launcher3-master 2019-01-29 18:35:03 +00:00
Sunny Goyal 8b2b4e24ee Adding support for swipe and hold to overview from home screen to all-apps
- After the atomic animation ends, overview jumps slightly because the
  normal -> all apps transition puts it at a different position than
  normal -> overview

Bug: 111926330
Change-Id: I6ca359b3ef2fc4d0b6b96229d8bf118bd0db9649
2019-01-28 15:51:19 -08:00
Jon Miranda f82fd49244 Fix bugs with quickstep springs.
* Listeners weren't getting called properly. We add one listener to the
SpringbjectAnimator and then use that to dispatch to the other listeners.

* We fast finish on both double swipe cases to prevent the shelf from
  ending in an invalid state. This causes a visual jump but this can be
  addressed in follow up CL.

Bug: 111698021
Change-Id: Ifeb55da9dd253d062122a8e1577f94044f688641
2019-01-28 15:47:59 -08:00
Sunny Goyal 7f45514d15 Unifying the two different state listeners
Bug: 123376689
Change-Id: I61d4865044a1bd27ee78002a4083a686233740b7
2019-01-28 11:56:54 -08:00
Tracy Zhou 7eebfc5649 Merge "Make bounce animations less aggressive" into ub-launcher3-master 2019-01-25 20:36:23 +00:00
TreeHugger Robot 90048de773 Merge "Disable window corner rounding on some devices" into ub-launcher3-master 2019-01-25 00:31:52 +00:00
Lucas Dupin a2074857dc Disable window corner rounding on some devices
Bug: 122347746
Test: visual; on taimen, marlin and walleye
Change-Id: If6ac1c75297dd25ad40d3ec61537e8793bceceb7
2019-01-24 16:19:49 -08:00
Tracy Zhou c49f3de3bd Make bounce animations less aggressive
Users have reported that both home and shelf bounce animations are pretty aggressive. We should limit the number of times that we show bounce animations for both quickstep and non quickstep users so that they can have a less disturbing experience.

Change-Id: I445fc9c7c6ac8a9c0ef34381fa672bf1b0203737
Fixes: 123356757
Test: Manual test
2019-01-24 15:48:20 -08:00
Kevin Han 57f88bd0ec Revert "Remove OverviewToAllAppsController for Go"
This reverts commit 792fcc3aec.

Reason for revert: This class actually manages more than just overview to all apps transitions, and Go needs some form of this for landscape transitions state transitions

Change-Id: I073dcc94dda06ff8d87166d2674927df8f2418f5
2019-01-24 20:36:04 +00:00
Kevin 792fcc3aec Remove OverviewToAllAppsController for Go
Go's recents does not support an overview to all apps transition (as
there will be no hotseat and swiping will be used to navigate the view
itself). As a result, we never need the controller, so we don't take in
the class as a source and do not add it as a touch controller.

Bug: 114136250
Test: Manual test Launcher3QuickstepGo, NexusLauncher,
Launcher3IconRecentsGo
Change-Id: I7fff9d1e8727bd978e84462436e37219c57f7af6
2019-01-23 17:12:44 -08:00
TreeHugger Robot 38e87e8010 Merge "Split LauncherAppTransitionManagerImpl for Go" into ub-launcher3-master 2019-01-24 01:07:34 +00:00
Kevin c4ad03b9ef Split LauncherAppTransitionManagerImpl for Go
Split LauncherAppTransitionManagerImpl common functionality into a base
quickstep app transition class and subclass for recents-specific
implementation. In addition, override the app transition manager to the
appropriate manager depending on the build.

Bug: 114136250
Test: Manual test NexusLauncher, Launcher3GoWithQuickstep
Test: Build Launcher3GoIconRecents
Change-Id: Iab1b5ae0c75af276879d5e12df95f62a514bf571
2019-01-23 14:59:19 -08:00
Kevin 932ab718fd Split OverviewState for IconRecents Go
Split common functionality in OverviewState so that it can be reused in
both implementations for IconRecents Go and non-Go.

Bug: 114136250
Test: Manual test NexusLauncher, Launcher3GoWithQuickstep
Test: Manual test IconRecentsGo (gets to recents screen w/o crashing)
Change-Id: Ibff5d3573b3b22dcdfda1b0662d4dd219d2e382f
2019-01-23 13:01:57 -08:00
Jonathan Miranda 494963c74a Merge "Revert "Remove scrim fade animation when returning to launcher."" into ub-launcher3-master 2019-01-22 21:12:37 +00:00
Kevin 231fe1cd7b Split out logic in RecentsViewStateController.
Split logic in RecentsViewStateController based off code that should be
shared and code that should not between Go icon recents and regular
quickstep recents. The Go version will maintain changes in
scale/translationY as per normal recents.

Bug: 114136250
Test: Manual test NexusLauncher, Launcher3GoQuickstep
Test: Build Launcher3GoIconRecents (no longer crashes immediately!)
Change-Id: Id060d6f8f0b68edee4becdf6b91b876bb8dbcefb
2019-01-22 11:52:53 -08:00
TreeHugger Robot 8689a4afc3 Merge "Split PortraitOverviewStateTouchHelper for Go" into ub-launcher3-master 2019-01-22 19:21:34 +00:00
Kevin 69d05656c6 Split PortraitOverviewStateTouchHelper for Go
Split out the logic in PortraitOverviewStateTouchHelper that is
dependent on the recents view implementation. This is done through a
separate helper class that we override on Go to stub out most of the
behavior.

This results in the Go version not supporting swipe transitions from
the recents state which is desired since we would otherwise risk
confusion over whether the swipe should go to the view or to the
transition (note that we will also take out the hotseat in this state).

Bug: 114136250
Test: Manual test NexusLauncher and l3goWithQuickstep
Test: Build l3goWithQuickstepIconRecents
Change-Id: I9b0e9c05171d279d03bbcb7f05344fa425f34b3e
2019-01-17 10:19:43 -08:00
Jonathan Miranda 45d9c63d0b Revert "Remove scrim fade animation when returning to launcher."
This reverts commit dad8d4434d.

Reason for revert: Bottom scrim is still visible so it creates a hard line when animation starts

Change-Id: If3e2a8e0965d40924a475f077d3c42e64d4d382d
2019-01-16 19:20:10 +00:00
Tony Wickham 23c4fb8128 Merge "Track window rather than shelf when FeatureFlags.SWIPE_HOME = true" into ub-launcher3-master 2019-01-11 00:46:31 +00:00
Tony Wickham 68a716c5ca Track window rather than shelf when FeatureFlags.SWIPE_HOME = true
Bug: 111926330
Change-Id: I439a682df14e4f559aa62b7f589d17acdac1d367
2019-01-11 00:46:24 +00:00
TreeHugger Robot be3430a7a6 Merge "Split out recents logic from UiFactory" into ub-launcher3-master 2019-01-10 21:17:29 +00:00
Kevin ec6e41dda1 Split out recents logic from UiFactory
This CL splits out RecentsView specific logic from UiFactory and
overrides it in the Go IconRecents version, stubbing out much of the
functionality.

Bug: 114136250
Test: Manual test NexusLauncher, Launcher3GoQuickstep
Test: Build Launcher3GoIconRecents
Change-Id: I043f7f2b2581831f1a74a80110e9c4c25231c046
2019-01-10 12:57:15 -08:00