When device is locked, only scale down the top task as a response to
the user interaction. When user flings or lifts his finger, the task
is dismissed to go to the lock screen
LockScreenRecentsActivity is an empty activity which starts on top of lock
screen and finishes immediately. This allows us to start a recents transition
with just the top activity as the animation target. This target is then used
for swipe up interaction
Bug: 133167096
Change-Id: I466ed142ea33d626c78cb9cc5f6311bad26b8d98
When the container was present, but empty, it was showing it's background.
Bug: 133783088
Change-Id: I97b65435d66e9ced7f5487dc50a00665794f8fcd
Tested: manual
- Previously, we clamped the progress to 1 when reaching mTransitionDragLength.
Now, we allow dragging all the way to the top of the screen, and store this
new top progress in mDragLengthFactor (> 1f).
- Because the launcher animation controller is inherently bound to a progress
between 0 and 1, we have to do a bit of trickery involving interpolators.
Specifically, we normalize the progress to 0 to 1 by dividing by
mDragLengthFactor, but then we set the interpolators to multiply their
progress by mDragLengthFactor. The result is that the animation progress
appears to go from 0 to mDragLengthFactor, just like the window progress.
- To avoid scaling too small, we start interpolating the progress at a certain
point, ending at a specified max progress when reaching the top of the screen.
Bug: 131741395
Change-Id: Ie8b4b56d37249cd1456f93c110c26c78fe052dc0
This eliminates an unreliable timeout.
Also removing an unnecessary check for harness that is done by the
called method.
Change-Id: If954580060415cbb2952532c16ea0ae4dc7b9469
If we are cancelled after the animation has completed, but before the deferred frame
was captured, we set the state as cancelled, and start the new consumer with the
existing recents controller.
But after the deferred frame, we finish the controller (and since the state was set to
cancelled, do not launch the new task)
Bug: 132756514
Change-Id: If30af713c76b6d895d0b01b93d31c0e1403b7214
- 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
Constructor of PredictionUiStateManager posts an action in 5 sec, which
may interfere with the process of opening all apps.
Waiting until the posted action happens.
Hopefully this will fix massive flakes.
Bug: 131854153
Change-Id: I6544eae1a3b063c03e78185826c05a76add1f71b
This is to ensure the task thumbnail is captured in the correct
orientation, rather than waiting until after the task pauses
which might be after the device rotates to portrait.
Also update the state to wait until screenshot is captured
before finishing the transition to home.
Test: testStressPressHome
Test: Swipe up from a forced landscape app, enter overview;
ensure task view thumbnail is shown correctly
Bug: 132687470
Change-Id: I5cd5f4b2a413628a8bdcb456e2d132c1c2da5258
Don't use OvershootParams for 0 button mode, since that interpolator
assumes the shelf is moving in conjunction with recents/app window.
Instead, use OVERSHOOT_1_2 like we do when not flinging.
Also bound the duration when entering recents, since scroller
duration could be 750ms if we are snapping to the current page.
Now we cap at MAX_SWIPE_DURATION (350ms). This case is most likely
to be hit when ending a slow swipe near the final recents scale,
since in that case duration is close to 0 and the scroller duration
is taken instead.
Test:
- Artificially always detect a pause, fling up in 0 button mode;
ensure shelf doesn't jump
- Either with the above artifical change in 0 button, or 2 button
mode, end a swipe to recents near its final scale with a slight
scroll to the right; ensure duration is 350 instead of 750
Bug: 132283018
Bug: 127783075
Change-Id: I8d5fbd0b30af21b9587fba47d141ba90b3b6e778
We had a resolved case in the past where an app's context menu didn't
open on a long click (thanks to app updates), now the menu opens, but
the drag gesture doesn't drag the icon.
Bug: 133009122
Change-Id: I45d104a92fab6556ecd937aef76f0a8147e67f56
Insets are dispatched to all views. We never consume the insets and
let each view decide what to do with it.
Also fixing scrim in all-apps when in full-gesture navigation
Change-Id: Ib1c6bef5b32aac0c6ea03078b5138d2d0408c6d8
issue 132366412
-> First, we shouldn't accept flings when the delegate has intercepted. This prevents any situation
where both are triggered.
-> Modified the slop to be the standard 8dp. This acts as a standalone fix because
it means that there are no situations where we cross all apps slop before assistant slop.
ie. in a purely vertical gesture from the corner, without this change, it's possible to trigger
all apps instead of Assistant.
Change-Id: I39e3d8a525e165024399d9802d4cc1d7ae329ee6