We determine the toAlpha at the start of the state change, but something
may happen (e.g. we lose window focus) during the transition. So to make
sure we don't end in a state with the wrong alpha, reapply at the end.
Bug: 109835691
Change-Id: I271a1d269f861f698efbb8e66148a924c8620e71
- Use OvershootInterpolator based on velocity (consistent with swiping up
from home)
- Scale down recents as well, to be consistent with adjacent pages scaling
up when you launch a task
Bug: 109709720
Change-Id: Ie47309058ccf673a4b86c40c843c415beb2d8dc7
A pending task launch animation can set some transient properties on state manager.
If the next animation is not a state animation, and reapply is not called, the
transient properties are never cleared
Bug: 79935289
Change-Id: I18398c74692960c460af537bf0c48801e69ac11e
We were setting the alpha of the target window to 0 on the UI thread, and setting it
back to 1, through ClipAnimationHelper on background thread
Bug:109701914
Change-Id: I4abb73298b5e957a66f91c5654b184cdd398724b
is not really invisible, but consider it invisible for window transitions
When a recents animation is cancelled, the callback can be received before or after the
wallpaper animation. To ensure that wallpaper animaiton runs properly, we keep the launcher
forceInvisible=true, only for that particular animaiton and false everywhere
Bug: 109735443
Change-Id: I5b22cc3327c8cd53a836d10e09fc88ae103becfc
This was leading to a pending animation running while the state had changes,
leaving user in an inconsistent state.
Various atomic animation fixes
> Ensuring that there is only one success listener on atomic animation, so that atomic
controller is created only once and to the final mToState
> If atomic controller is already running, skip animating the atomic conmonenets as
part of main animaiton
> Cancel atomic controller if it is going to a different state
Bug: 80549582
Bug: 109583168
Change-Id: Ie7a032e0fa73b1f1c2ef53055c08d16444f0385e
- Report original launch source component to ensure app relaunches can be
associated with the same app for predictions.
Bug: 109698096
Bug: 109675704
Change-Id: Icc5e95560777ad827fd2430cf3b3b052b65eb1b6
Changing states causing quickscrub to get cancelled and recentsView to
get reset to page 0, causing an abrupt jump.
Bug: 80537625
Bug: 80497058
Change-Id: I19cfe4380bbff15734b9d90dc31596904da27483
Since recentsAnimation and animationCancel come on the event queue, we may skip
recentsAnimation and only process animationCancel if they happen too close to
each other, before the first event is scheduled on eventQueue.
As a result deviceProfile is never initialized.
Prevent crash by skipping logging in this case, we shouldn't be logging it anyway
Bug: 80515833
Change-Id: Ife1d6009bcdc34af6c281d848665145cd235fa40
> Using white scrim on adjescent tiles in overview
> Using a ligher scrim in dark-theme+dark-text
Bug: 80253867
Change-Id: I3f257d3addaca8bc5970a61722f5ae0e7af89382
Now that Clear-all button is visible for accessibility, there is no need
in it.
Bug: 80156299
Test: Manual
Change-Id: I5997692be015947692a8bb720a449d1d36302526
When going to a new state, we cancel any currently playing animation. When
canceling the animation, we reset mState = mCurrentStableState. Thus, when
determining the duration of the new animation, we have both state == NORMAL
and mState == NORMAL, leading to a duration of 0 and therefore no animation.
Storing the fromState before canceling/resetting fixes the issue.
Change-Id: I92332deae8058c4dd41212fe7f749955ede28b1c
mState is set when the transition starts toward that state even if it is
never reached. If the animation is canceled, therefore, we should reset
mState = mCurrentStableState since that is the state we came from.
For instance, when swiping up from overview, mState = ALL_APPS, but when
swiping back down we cancel that animation and create the task launch
animation. When creating the task launch animation, we reapplyState(),
which, before this change, was still ALL_APPS instead of OVERVIEW.
Bug: 79935289
Change-Id: I59c5799e92350747e4ef1d99a80ba678a2ce7b98