Commit Graph

458 Commits

Author SHA1 Message Date
Sunny Goyal 0b1cb75ee8 Disable seamless rotation for 3 and 2 button mode
Bug: 134095068
Change-Id: I8603e49a85b5524a02c9085485a180b022e3f91e
2019-06-06 15:35:45 -07:00
Jon Miranda 88dd84254c Reduce alpha delay 25ms to reduce flashy feeling of appearing large.
Bug: 123900446
Change-Id: Ia8ff74eb6b65affbf5c6c1599f4d168b459f324e
2019-06-05 11:07:17 -07:00
Jon Miranda b3c9077c76 Tuning app open/close animation.
* Mostly value changes.
* Added a way to round the corners during swipe up to home animation.

Bug: 123900446
Change-Id: Id61d241d919ba51ced0633585e36b7d93efe30b0
2019-05-30 18:43:22 -07:00
Jon Miranda 119a586245 Animate workspace upwards when opening an app.
Bug: 123900446
Change-Id: I3d08985f8362038f50728e91e2fedf1c97e326ff
2019-05-29 14:39:01 -07:00
Winson Chung 293d964024 Merge "Support individual lock task features" into ub-launcher3-qt-dev 2019-05-29 00:10:02 +00:00
Winson Chung dd71ca0437 Support individual lock task features
- If screen pinning is enabled, disable gestures and wrap with input
  consumer to break out of screen pinning (existing logic)
- If Home & Overview are both disabled, disable gestures completely
- If only Home is disabled, then always launch the user into fallback
  recents (to simplify logic around breaking out of overview into Home)
- If only Overview is disabled, then prevent swiping from going into
  overview or from triggering overview from home
- Switch to using screen pinning flag check instead of binder call

Bug: 133113732
Bug: 131698989

Change-Id: Ie6f447520d4cc3fa1eaaf8427ee014851688bf37
2019-05-23 14:33:05 -07:00
Sunny Goyal 5686333117 Adding a utility class to cache views at an activity level
Bug: 122345781
Change-Id: I9a939e0b19c06c1089c1ceb515f8b97fb5dbb49e
2019-05-22 14:23:12 -07:00
Sunny Goyal dedda05568 Using a proxy activity for startActivityForResult
This ensures that the home task is never blocked by a different task

Bug: 74500048
Change-Id: I01fd26f1d6242e39b2d8fabac5e064b748aebe62
2019-05-15 16:33:06 -07:00
Jon Miranda ffaca2e162 Fix landscape app open/close animations.
Bug: 123900446
Bug: 124510042
Change-Id: I3db80d6f8064ce26f97cdede63c0d25499416e98
2019-05-15 10:46:33 -07:00
Hyunyoung Song e751d90c44 Implement 3 shades of folder icon/container fill color
Bug: 130451254

Change-Id: I36d885a2b0247f1bb84cb98073459853ae723331
2019-05-14 10:15:11 -07:00
Tony 8312866779 Use device profile width instead of drag layer width for overview translation
This fixes the issue where overview doesn't come in from offscreen
the first time you enter overview from home.

Test:
- Force stop launcher, quick switch from home
- Force stop launcher, swipe up and hold

Change-Id: Ia4dbd36267008bc199cff088833979606238d3eb
2019-05-13 14:11:51 -05:00
Jon Miranda 2da1da3076 Initial app open/close polish using tuned values.
* Rect and radius now match the app window size.

Bug: 124510042
Bug: 122843905
Change-Id: Ibc85bfe1d75d01cefe00b6bf32557e04a0ee4716
2019-05-10 10:11:35 -07:00
Kevin 141ab952e7 Ensure Recents Go layout finishes before remote anim begins
We would like to assume a correct up-to-date layout for Go recents
before the remote animation begins to ensure correctness of the app to
overview transition and allow for animating all the newly laid out task
views in sync.

We do this by checking if recents is the remote target we are animating
to and if so, checking if the view is ready.  If it is not, then we
delay the remote animation until the layout is finished and everything
is attached.

Bug: 132112131
Fix: 132108983
Test: Run Recents Go, have no tasks in recents, open app, press
overview to go to recents
Test: Test on AOSP and NexusLauncher that animations to Launcher work as
before (both to recents and to home)
Change-Id: Id74d90cffc9fe5db1dbb5fe63b8819c7436fef21
2019-05-07 15:05:39 -07:00
Sunny Goyal ae6e318711 Initial changes to creating a fake landscape Launcher UI
Workspace and hotseat are drawn in rotated UI giving the impression that the
device is in Portrait, even though it is in landscape

Bug: 131360075
Change-Id: I29c4068af25fd4dcf7039b9a45886e864a137977
2019-05-02 10:59:28 -07:00
Jon Miranda 063211f620 Fix app open animation in landscape.
Bug: 130828765
Change-Id: Ic447d05a8fe2097a6afd0bfec73039a62bbf5a4b
2019-04-30 12:03:39 -07:00
Sunny Goyal 0382dd76e8 Releasing SurfaceControl when they are no longer needed
Bug: 123874711
Change-Id: I9c06723a3e5d4a23b8a6c60352806bb12daba598
2019-04-29 12:04:11 -07:00
Hyunyoung Song a310a80c7b Add important dump logging
Bug: 130851537
Bug: 119992316

Change-Id: I3de7c1d910d1aecd80b47a85284565c79fe0e2cc
2019-04-25 15:14:44 -07:00
Tony Wickham 12e8a34ef6 Move system gesture exclusion rect to LauncherRootView
We translate DragLayer when going to -1, so the exclusion rect was off
screen when you went back from there.

Bug: 129297464
Change-Id: Ie079b2dadaca07886408ee9c1d130d7ac351a61d
2019-04-23 11:52:50 -07:00
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