summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/WorkspaceStateTransitionAnimation.java
Commit message (Collapse)AuthorAgeFilesLines
* Some improvements to home to overview transition for 0 button modeTony Wickham2019-06-191-3/+10
| | | | | | | | | | | - Peek in overview further, and with more overshoot - Fade out and scale down workspace faster while swiping up - Scale and translate workspace slower when letting go to enter overview (so it doesn't zoom out at warp speed) - Fade in all apps shelf sooner Bug: 132455160 Change-Id: Ieafad0ccf9bb587889bc35d536627661db10e358
* Fade out scrim when swiping to homeTony2019-06-041-1/+4
| | | | | Bug: 134517106 Change-Id: Ica725e3a327c1c069e3859732ea6a878d361a3d8
* Initial changes to creating a fake landscape Launcher UISunny Goyal2019-05-021-8/+10
| | | | | | | | 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
* Add QuickSwitchTouchController on homeTony2019-03-281-1/+4
| | | | | | | | | - 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
* Peek overview on motion pause, then animate fully on touch upTony2019-03-271-2/+2
| | | | | | | | | | | | | | 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
* Fix translationX that should be translationYTony2019-03-271-1/+1
| | | | Change-Id: Ie1dc8b327a312d206050926ea9f5572113727c57
* Add translationX to overview stateTony2019-03-271-8/+10
| | | | | | | | States return ScaleAndTranslation instead of float[]. Also separate overview translate interpolator from overview scale interpolator. Change-Id: I5e65dde3f436055ff5e7f5736f1a4b712377b9cb
* Fix hotseat translated upwards when dragging from all appsTony Wickham2019-03-041-16/+16
| | | | | | | | | | Before, we just didn't scale or translate when entering spring loaded state. That worked when dragging from home, but when dragging from all apps it meant that the hotseat kept its translation from the transition to all apps. Now we always move the hotseat to scale 1 and translation 0 when going to spring loaded mode. Change-Id: I0630d5bb899e37e2ab01516adfc1b7e6f8a9e42a
* Scale and translate hotseat with workspace instead of all appsTony2019-03-031-3/+21
| | | | | | | | | - Move the hotseat alongside workspace instead of on top of all apps in xml layout - Set pivot point of hotseat to match the workspace's, and apply the same scale - Translate the hotseat with the workspace instead of all apps - SpringLoadedState does not scale or translate the hotseat Change-Id: Ic45fe99f83f0e0012afa78073d9577e65da444e2
* Removing separate hotseat widget, instead using a QSB acroll all UI.Sunny Goyal2018-11-051-4/+1
| | | | | | | The QSB is responsible for updating its UI according to various states. Bug: 109828640 Change-Id: Ic8cbf3d404d5870de0f6b8fe25a332b8d21bae20
* Update interpolators and durations for state animationsTony Wickham2018-05-161-20/+25
| | | | | | | | | | | | | | | | | | | 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
* Removing scrim overdrawSunny Goyal2018-05-101-3/+8
| | | | | | | | | | > Moving all the scrims to draglayer to avoid creating multiple layers during various animations > Removing sys-ui scrim in various states which alread have a background scrim Bug: 74556464 Bug: 78585335 Change-Id: I8a3fd34ed440f3c7d2e19b3cdb4b72723c535602
* Merge "Add atomic recents animation while swiping up" into ub-launcher3-edmontonTony Wickham2018-05-091-20/+38
|\
| * Add atomic recents animation while swiping upTony Wickham2018-05-091-20/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Adding a carent in the scrimSunny Goyal2018-05-091-5/+0
|/ | | | | | | | | | | > 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
* Chaniging all-apps scrimSunny Goyal2018-05-081-3/+1
| | | | | | | | | | | > 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
* Fix some state issues with user-controlled animationsTony2018-05-011-1/+1
| | | | | | | | | | | | | | | | | | | | | 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
* Change overview animation to scale instead of translationXTony2018-04-041-5/+4
| | | | | | | | | As you swipe up to overview from home, workspace scales down and fades out as before, and now recents scales down from 1.2f on top of it. The interpolators are set such that the workspace animation is seen before the recents animation. Also, we don't scale down all of recents, only the visible pages (current and adjacent). Change-Id: I5f8bfe8cafeaa41d26873c63549735d7bdff2bce
* Adding a custom view for DragHandleSunny Goyal2018-03-261-6/+10
| | | | | | | | | | > 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
* Support multiple Views of extra hotseat contentTony Wickham2018-03-211-2/+4
| | | | | | | | Also adjust workspace page indicator: - Center vertically - Rounded corners Change-Id: I96c2f3da3522d70726f544126b516c33c8fb7bc8
* Separate some elements to set visibility separatelyTony Wickham2018-03-211-12/+10
| | | | | | | | Added entries for: - All apps header extra content - Hotseat extra content Change-Id: I47c4ccfe3b54fd47cbbee88698ed045611e3e92d
* Changing the overviewState to show appsearch and floating headerSunny Goyal2018-03-191-124/+8
| | | | Change-Id: I2cfd61cfc9978e4c8e4520f0f7217e49e7344c79
* Page indicator and hotseat should have the same alphaSunny Goyal2018-03-061-0/+2
| | | | | Bug: 70144077 Change-Id: I4cc678e7b5a5daa07b5fd6ab96ea79b4354c514d
* Updating the scrim and landscpae uiSunny Goyal2018-03-011-7/+6
| | | | | | | | | > 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
* Removing multi-state apha control for hotseatSunny Goyal2018-01-191-18/+10
| | | | Change-Id: I68ccbe96caa70921aefd18fc8ec9ad0638c3fab1
* Updating landscape layout for launcher/quickstepSunny Goyal2018-01-081-2/+5
| | | | | | | | | | | > 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
* Adding translationX to workspace card to that it is slightly visibleSunny Goyal2017-12-221-5/+5
| | | | | | behind the first card Change-Id: Idc0c169fb92510e74b983160778bd9dbacf29943
* Updating the hotseat background to a solid color with rounded cornersSunny Goyal2017-12-141-3/+0
| | | | Change-Id: I297920518f925e122f2e9f55a68228b96b42ea27
* Merge "Hide hotseat in landscape overview" into ub-launcher3-masterTreeHugger Robot2017-12-121-0/+7
|\
| * Hide hotseat in landscape overviewTony Wickham2017-12-121-0/+7
| | | | | | | | | | Bug: 70179916 Change-Id: Ib277a054cf16233ab9156a4448c41952e3295fae
* | Enabling swipe up from overview to all-appsSunny Goyal2017-12-121-1/+1
|/ | | | | | > Fixing wrong alpha interpolator when swiping down from all-apps Change-Id: I7d4200c89797e5609fd7c4aa8681dea2ffd00bf7
* Adding placeholder method for compat implementations for Accessibility managerSunny Goyal2017-12-081-10/+4
| | | | | | | > Moving some utility methods to the compat class Bug: 69611105 Change-Id: Ide0cab0b926d7bc03617fc568d2a2b429ee00cd9
* Removing view layer support during state animation.Sunny Goyal2017-12-071-9/+3
| | | | | | | | | | 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
* Adding support for tagging animations per controller, so that they can be ↵Sunny Goyal2017-12-071-5/+6
| | | | | | controlled independently Change-Id: I6f360362aa16f7e02fe5fe84976b23663f228030
* Separating various UI properties into state variablesSunny Goyal2017-12-061-19/+9
| | | | | | | | | | > 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
* Changing the state UI logic for normal build and quickStep buildSunny Goyal2017-11-071-12/+5
| | | | | | | > Creating ShareHandlers for managing UI > In normal build, hotseat is hidden in overview, while in QuickStepBuild, it is visible Change-Id: I5f8d35c75b861d912d93fce186b5dd74106184c3
* Merge "Consolidating various interpolators" into ub-launcher3-masterTreeHugger Robot2017-10-271-53/+7
|\
| * Consolidating various interpolatorsSunny Goyal2017-10-261-53/+7
| | | | | | | | Change-Id: I9588eee3552001b162a1e8d5ccefcfb44d221880
* | Moving mState from Workspace to StateManagerSunny Goyal2017-10-251-5/+3
|/ | | | | Bug: 67678570 Change-Id: I8cdab044d0760fcc4c188830cde4f963d072b907
* Exposing the state manager directly instead of providing various helper ↵Sunny Goyal2017-10-251-1/+1
| | | | | | | methods for state change Bug: 67678570 Change-Id: If3d05c804c034ffa5e403da8eaa23e85e373c863
* Enable overview state restoreSunny Goyal2017-10-241-13/+20
| | | | | | | | | > Reapplying CellLayout state when new pages are added (page bind comes after restore) > Removing support for different scroll range for freescroll (the calculations were not consistant with maxScroll) Bug: 67678570 Change-Id: Ic1911de1b707f2f6940e7040f07ca7e733e2ef2a
* Fixing mNewScale was never getting initializedSunny Goyal2017-10-231-1/+1
| | | | Change-Id: I03507cedc65a805d122ab2161a0162c21ac5975f
* Moving some state specific logic to subclass of LauncherStateSunny Goyal2017-10-201-18/+3
| | | | | Bug: 67678570 Change-Id: I1316f91c9f19bd572e4a0da67a22fa8921e1dcf9
* Changing LauncherState to a class to allow adding custom functionalitySunny Goyal2017-10-191-12/+11
| | | | | Bug: 67678570 Change-Id: I777e335e9fdf7014b041addff6b8e54fb94167bb
* Moving Workspace states into a separate fileSunny Goyal2017-10-181-9/+8
| | | | | Bug: 67678570 Change-Id: I5c63b4df29ca0f58a0223fb1919abc132576a1b6
* Launcher state management cleanupSunny Goyal2017-10-171-296/+130
| | | | | | | | | | > 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
* Removing support for CustomContent screenSunny Goyal2017-09-081-4/+1
| | | | | | | The supported way to customize Launcher and add a "-1 page" is by using LauncherOverlays. Custom content screen is no longer supported. Change-Id: I3f8a2734c287d1a69ae0c038ec1de1d45fa1b464
* Remove LAUNCHER3_ALL_APPS_PULL_UPHyunyoung Song2017-08-211-6/+4
| | | | | | | | Bug: 63712253 Verified: all apps transition fully functional Verified: NO_ALL_APPS_ICON = false case also works. Change-Id: I779fb7bd4927c5923da3f85590d912dbbbcdef4d
* Optimizations to reduce all apps jank.Jon Miranda2017-08-021-14/+22
| | | | | | | | | | * Since adding springs to the apps in All Apps, it is no longer efficient to build a hardware layer for it. * Pre-uploads bitmaps to RenderThread. * Only add overview animations if we are transitioning to/from it. Bug: 63711551 Change-Id: I948267598e95ec59dc156acb9abe6b5b789110c0
* Removing QsbBlockerViewSunny Goyal2017-06-061-21/+0
| | | | | | | | | > Removing workspace state change listener. State change happens with hardware layer, so children should not be calling invalidatge() during the animation > Moving QSB inside the QSB and removing a floating layout Bug: 37616877 Change-Id: I9af3522a05dafa5796586bb64f512d98688caf79