Commit Graph
138 Commits
Author SHA1 Message Date
Matthew Ng 8b92fe336b Fade back button in and out tied with the overview/shelf (2/3)
Back button changes opacity when moving the shelf during swipe up
between home screen and overview. The alpha changes depending on the
progress of the swipe up animation. When going from app to home and vice
versa, the fade animation does not tie with the swipe up progress. The
fade animation also masks the back button drawable when ime visibility
changes.

Change-Id: I51e42930640ba711e81880b385bb722d7ee8ad33
Fixes: 74581837
Fixes: 76900236
Test: swipe up from home screen to overview
2018-05-18 00:48:51 +00:00
Tony Wickham b2ddf10041 Update interpolators and durations for state animations
When we enter overview (overview appears, workspace disappears):
- Workspace scales down from 1f to .8f with OvershootInterpolator(1.2f) at 200 ms
- Workspace fades from 1f to 0 with OvershootInterpolator(1.2f) at 200 ms
- Overview scales down from 1.33f to 1f with OvershootInterpolator(1.2f) at 200 ms
- Overview fades from 0 to 1f with OvershootInterpolator(1.2f) at 200 ms

When we exit overview (overview disappears, workspace appears):
- Workspace scales up from .92f to .1f with DecelerateInterpolator() at 200 ms
- Workspace fades from 0 to 1f with AccelerateInterpolator() at 200 ms
- Overview scales up from 1f to 1.1f with AccelerateInterpolator() at 180ms
- Overview fades from 1f to 0 with DecelerateInterpolator(1.7f) at 200 ms

Parallax while the finger moves: Workspace translates half the distance as the shelf

Bug: 79776746
Change-Id: I319d982cf202bcd6dbbcd68ffc5c0c7853629c7e
2018-05-16 15:59:31 -07:00
Tony Wickham ec62522682 Set status bar icons to dark at correct all apps progress
Bug: 79866102
Change-Id: I8c97896319406c8360a2f60d213868ad59dafe19
2018-05-16 14:27:49 -07:00
Tony Wickham 56b247da1d Merge "Add atomic recents animation while swiping up" into ub-launcher3-edmonton 2018-05-09 20:13:23 +00:00
Sunny Goyal ef39540dde Adding a carent in the scrim
> Caret is only visible when the accessibility is enabled
> It is visible in NOTMAL and OVERVIEW state and moves out of the
  scrim along with the scrim.
> Acts as an accessible target for various options

Bug: 78172350
Bug: 79215734
Change-Id: I8a968b67e36901859649546295f6491d49cc9ce9
2018-05-09 12:39:30 -07:00
Tony Wickham 6becf7c07d Add atomic recents animation while swiping up
State handlers can now specify atomic and non-atomic components of
their animations to states, which can be specified when creating a
new animation. There is now one atomic animation, when going from
NORMAL to OVERVIEW (and in reverse):
- RecentsViewStateController's animation (scale/alpha) is all atomic
- WorkspaceStateTransitionAnimation has atomic and non-atomic:
  - Hotseat and workspace alpha is atomic, as is workspace scale
  - Everything else (scrim, translation, qsb and drag handle alpha) is
    non-atomic
- All apps progress is non-atomic

Also simplified dragging through overview; no longer pulls against you,
so we use an OvershootInterpolator when flinging instead of our custom
interpolator for the spring effect.

Bug: 76449024
Bug: 78089840
Change-Id: Iafac84d0c2b99ee9cf9dd5b30e2218286713b449
2018-05-09 12:33:46 -07:00
Sunny Goyal 927447e71d Chaniging all-apps scrim
> Converting the scrim to View, to better avoid overdraw
> Overview and Spring loaded state have different scrim alpha
> When going from overview to all-apps, there is a color scrim drawn over the overview panel.
  The slef color is merged with this color to prevent overdraw, and the remaining screen is drawn
  with a cut-out round rect path

Bug: 79111591
Change-Id: I26801fde13dd6adb4b06110bbe8087e35cc31847
2018-05-08 08:29:43 -07:00
Tony Wickham 7a5d4ae64f Merge "Fix some state issues with user-controlled animations" into ub-launcher3-edmonton 2018-05-02 16:20:19 +00:00
Tony 31fbd4c08b Fix some state issues with user-controlled animations
Previously, user-controlled animations weren't properly being canceled when a
non-user-controlled animation started, e.g. when hitting home. Thus, we could
end in the wrong or inconsistent state because the user-controlled animation's
end runnable was still used. Now we add a cleanup callback for when we reset
the user-controlled animation for one that isn't user-controlled.

Also fixed a couple typos.

Tests (easier with animation durations extended):
- Swipe up and hit home before reaching overview -> land on home
- Go to overview, swipe down slightly (before threshold to go to workspace)
  and let go -> return to overview without flash (recents was resetting)
- Swipe up, press home while swiping -> goes home, stops responding to drag
- Start dismissing task and hit home before it finishes (or while dragging)
  -> goes home, stops responding to drag

Bug: 78249220
Change-Id: If11d8999e3fadba38c987b25af67cd2304cd859b
2018-05-01 13:45:27 -05:00
Sunny Goyal 36d090df67 Adding a round rect background for the self in Overview
Bug: 78771910
Change-Id: I71460a284ed185e82d66fe65104402fb99d6b312
2018-04-30 15:37:39 -07:00
Jon Miranda 2b67bacadc Fix bug where drag handle translation was not set to 0 on device profile change.
Bug: 77523779
Change-Id: Idec97c34999e05adfac7e9931ab9596a8aae67ae
2018-04-03 11:54:49 -07:00
Sunny Goyal 8c1a935a45 Don't wait until layout to calculate the scroll range
State UI is based on scroll range, which is applied on insets change.
So the scroll range should be updated as part of insets change, for the State
UI to be applied properly

Bug: 77220795
Change-Id: I839f89e4887d9731b1483135724227c4245a00a9
2018-03-28 14:20:04 -07:00
Sunny Goyal 81b4c7bb3c Adding a custom view for DragHandle
> Separating page indicator and drag handle
> Page indicator always draws irrespactive of oriantation
> Drag handle is responsible for accessibility interactions
> Adding assissibility actions for DragHandle

Bug: 72500733
Change-Id: I9030337456964af1bdf77f1c01956452321f9229
2018-03-26 15:52:03 -07:00
Sunny Goyal 7a80b59e97 Swipe interaction changes on home screen
> Increasing the distance to travel for the first swipe
> Adding support for custom interpolators when building an animation
> When quickly swiping twice from home, finished the first animation

Change-Id: Ibc3c8667e9b927376fd99f08f0ca027f2398914b
2018-03-21 17:55:35 -07:00
Tony Wickham bd6f05e0b6 Separate some elements to set visibility separately
Added entries for:
- All apps header extra content
- Hotseat extra content

Change-Id: I47c4ccfe3b54fd47cbbee88698ed045611e3e92d
2018-03-21 12:15:48 -07:00
Sunny Goyal 7185dd63eb Changing the overviewState to show appsearch and floating header
Change-Id: I2cfd61cfc9978e4c8e4520f0f7217e49e7344c79
2018-03-19 20:02:34 -07:00
Sunny Goyal 6639a5dfe0 Updating the scrim and landscpae ui
> Instead of views, using a custom class to draw the color scrims
> All-apps has full screen UI
> Quickstep does not have search box in landscape

Bug: 73085356
Change-Id: I360a78a2ade0134daad29fe712796cd39a381fbb
2018-03-01 11:23:46 -08:00
Sunny Goyal fde5505d02 Handling configuration changes
> Adding a listener for device profile changes
> Updating various controllers instead of recreating them
> Clearing all-apps icon

Bug: 71709920
Change-Id: Ief7db199eb7494ebd8fb433198f333cd2e8e661d
2018-02-01 14:47:08 -08:00
Sunny Goyal f8d56fc8a1 Initial changes for handling configuration changes dynamically
Bug: 71709920
Change-Id: I88cf2229dea28d01c13a5a76d2290e91b07d095e
2018-01-31 15:20:30 -08:00
Jon Miranda 701b0f528e Use AllAppsTransitionController to animate the hotseat & scrim.
Bug: 70220260
Change-Id: I69bff4234c2fd0c76cb43cdd89342dcc04f2db40
2018-01-23 14:05:13 -08:00
Sunny Goyal 19d32b76dd Removing multi-state apha control for hotseat
Change-Id: I68ccbe96caa70921aefd18fc8ec9ad0638c3fab1
2018-01-19 14:26:44 -08:00
Tony Mak 4233405016 Add peek to work tab animation
Only the tab is moved, the RV does not.

Fix: 71748023

Change-Id: I99216e9072df03104dd0644f3909e8b49e07faf0
2018-01-10 18:02:47 +00:00
Sunny Goyal 228153d92a Updating landscape layout for launcher/quickstep
> Hotseat is tied to navbar (on left in seascape)
> Search box shows up in Overview (clicking it would crash for now)
> All-apps is no longer fullscreen in landscape
> Recents cards are appropriately scaled down
> Hotseat is visible in Overview

Bug: 70179916
Change-Id: I53149eaeac9557e8a01021b7e2d139f3d6ceef37
2018-01-08 13:53:44 -08:00
Sunny Goyal b532dfe45d Updating the hotseat background to a solid color with rounded corners
Change-Id: I297920518f925e122f2e9f55a68228b96b42ea27
2017-12-14 11:43:48 -08:00
Sunny Goyal 3c585ddbf7 Removing view layer support during state animation.
View layer was only being used when fading in/out hotseat in overview.
From API 21+, android automatically create layers when animating alpha

The current support for view layers does not work properly when cancelling
animations and controlling partial animations

Change-Id: I2d5785471af9819575beefe65f1f2bdd28c76bd5
2017-12-07 14:18:16 -08:00
Sunny Goyal e3c6d58b71 Adding support for tagging animations per controller, so that they can be controlled independently
Change-Id: I6f360362aa16f7e02fe5fe84976b23663f228030
2017-12-07 12:46:26 -08:00
Sunny Goyal bc683e9d06 Separating various UI properties into state variables
> Using workspace scale and translation for all-apps
> Without quickstep, workspace has the parallex effect as before
> With quickstep, workspace scales down to match the recents card width
> Using a single animator for recents views in case of state transtion and
  controlled transition to prevent going into inconsistant state.

Change-Id: I1864de6892052ca771f4d0062e3d60c28840a72d
2017-12-06 14:29:33 -08:00
Sunny Goyal 7ede6118b7 Moving discovery bounce logic to a separate class.
Removing special transition handling around discovery bound to avoid
inconsistant UI state

Change-Id: Ia40bcb0719076021a6c96f1bd16d44da0286a209
2017-12-06 10:34:16 -08:00
Sunny Goyal c4fa8c312b Changing the state UI logic for normal build and quickStep build
> Creating ShareHandlers for managing UI
> In normal build, hotseat is hidden in overview, while in QuickStepBuild, it is visible

Change-Id: I5f8d35c75b861d912d93fce186b5dd74106184c3
2017-11-07 12:24:47 -08:00
Sunny Goyal 031022029b Using state animation to control all-apps transition
> Separating all-apps transtions control and vertical shift touch handling
> Creating separate spring handler for search box (to avoid adding and removing spring)
> Driving all-apps vertical shift using state AnimatorSet

Bug: 67678570
Change-Id: I3b6a4d1f43275a5f485b399444742b6b9a8c4bb9
2017-10-31 15:29:02 -07:00
Sunny Goyal 4d49f9a8ac Removing animated caret drawable
> Both landscape and portrait UI will show a static drag handle
> In landscape the handle is drawn below the all-apps scrim,
  while in portrait it moves with the hotseat

Change-Id: Ia6964c6f98feb8ba90517e23667d8c68bc2f6d35
2017-10-27 02:44:49 +00:00
TreeHugger Robot 4fc994c988 Merge "Consolidating various interpolators" into ub-launcher3-master 2017-10-27 02:35:30 +00:00
Sunny Goyal 5bc6b6f14c Consolidating various interpolators
Change-Id: I9588eee3552001b162a1e8d5ccefcfb44d221880
2017-10-26 16:38:55 -07:00
Sunny Goyal ea60926c3f Moving mState from Workspace to StateManager
Bug: 67678570
Change-Id: I8cdab044d0760fcc4c188830cde4f963d072b907
2017-10-25 15:48:01 -07:00
Sunny Goyal 3e3f44c3ad Exposing the state manager directly instead of providing various helper methods for state change
Bug: 67678570
Change-Id: If3d05c804c034ffa5e403da8eaa23e85e373c863
2017-10-25 13:41:13 -07:00
Sunny Goyal be93f264d7 Moving all-apps state logic to an independent class
Unifying all the paths for state change to a single flow

Bug: 67678570
Change-Id: I0773c0f59ae1ef324c507bc1aae188d8c059dea4
2017-10-23 16:33:58 -07:00
Hyunyoung Song 7fb3ccc4a5 Log time spent on different UI surfaces
- When swipe happens on worskpace, elapsed container ms is reset
- Fling DOWN is also logged so that we now know how much time was spent on
  all apps screen
- If screen off or power button trigger onPause, log this event.

Bug: 67745115
Change-Id: Ie3a0090c78195a4a028de9935131e9e034dcf48a
2017-10-19 15:15:02 -07:00
Sunny Goyal f9403d92fa Removing state definition from Launcher
State is only maintained is workspace and is used for all the UI

Bug: 67678570
Change-Id: Ie3cce5a1f4ada3913d0480f7918c27460dacbd34
2017-10-18 15:04:22 -07:00
Sunny Goyal aeb1643ec6 Launcher state management cleanup
> Removing Widgets and related states
> Fixing different durations being used when opening/closing all-apps
> Removing some unnecessary object allocations when changing state without animation
> Differentiating widget bootm sheel and full sheet in logs

Bug: 67678570
Change-Id: Ic169528736d04ee0b38564b4f96595ba066eabda
2017-10-17 12:42:08 -07:00
Sunny Goyal f1fbc3fbe7 Converting widget panel into a floating view
> The widget panel is only inflated when needed
> Using the swipe up/down interaction for widgets tray
> Removing additional view wrappers from all-apps
> Widget tray is preserved across activity recreation
> Launcher no longer has WIDGET state, the actual code around
  the states will be removed in a follow-up cl

Bug: 67678570
Bug: 67585158
Change-Id: Ia29a7c33ec81e6c53cc24e2906b7022b6f41755b
2017-10-13 18:47:54 -07:00
TreeHugger Robot 661e558321 Merge "Removing unnecessary layout pass happening due when chaning gradientView visibility" into ub-launcher3-master 2017-10-05 22:09:24 +00:00
Sunny Goyal d0d0703399 Removing predicted apps reset on every onResume
Predicted apps should be pushed by the called whenever they change
instead of Launcher polling them on every UI update.

Bug: 67305604
Change-Id: Ibd3d809b09b7d8fd39036f69367e8580fb90dcef
2017-10-04 10:41:43 -07:00
Sunny Goyal d66e3b6a65 Removing unnecessary layout pass happening due when chaning gradientView visibility
Change-Id: I0d8f0c2c995885143156a27536b0a2185d5eb0b8
2017-10-02 15:27:21 -07:00
Sunny Goyal f2dd4216c1 Removing extraction service and palette api dependency
Change-Id: I30ad1a1462a97b6bc03f8e386ae3058c7fe022e5
2017-09-29 10:40:08 -07:00
Jon Miranda 610af37575 Add springs when user clicks on caret / all apps snaps to top.
Bug: 65373058
Change-Id: I9cc5c4c98fd3e5b53d597c4493f2dcef6d9be94a
2017-09-05 23:20:27 +00:00
Sunny Goyal e18d3f537f Updating the all-apps discovery bounce animation
> Animation plays on every onResume
> Updating animation to loop continuously on v23+
> Updating animation spec

Bug: 64331951
Change-Id: Ic6fb8d6975b37f5b010fc585329cba615296f5c7
2017-08-29 10:17:51 -07:00
Jon Miranda c90a89d997 Add spring to QSB when opening all apps.
Bug: 64355491
Change-Id: I760856a32779b314c8b01ef2c051985e18b68ecb
2017-08-23 14:04:31 -07:00
Adam Cohen 3fc21715b3 [automerger] Switch the status bar color earlier in the all apps transition am: 3051dbabe7
Change-Id: I12f952a555287173bc7ad5e3acca3aaad2b6a1df
2017-08-04 16:29:25 +00:00
Adam Cohen 3051dbabe7 Switch the status bar color earlier in the all apps transition
-> When LAUNCHER3_GRADIENT_ALL_APPS is true, switch the status / nav bar
   to be dark when the transition is 75% of the way through, since at this point
   the gradient is already substantially under the status bar.

issue 64385775

Change-Id: Ie27b8f2afa404c0b3081a4f17daa92ef4e0472bc
2017-08-04 09:29:14 -07:00
Mario Bertschler 254bd42729 Merging ScrimView into GradientView
Less banding, less drawing for All Apps Transition.

Bug: 63873246

Change-Id: I6c7c856e2939a10db7e44b266c1d6d51334fd152
2017-07-26 14:33:22 -07:00