Fixing state not set properly when configuration changes
and remote animation callback comes after threshold is crossed The transition length is updated when removeAnimations is received. If the gesture delta is crossed before that, we were ending up in long-swipe mode as due to an incomplete check. Bug: 117549010 Change-Id: If5471c538ac51b84f176a1fad42112e84046da63
This commit is contained in:
parent
2ccdd08ad1
commit
ba7dba3983
|
@ -538,7 +538,7 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
|
|||
public void updateDisplacement(float displacement) {
|
||||
// We are moving in the negative x/y direction
|
||||
displacement = -displacement;
|
||||
if (displacement > mTransitionDragLength) {
|
||||
if (displacement > mTransitionDragLength && mTransitionDragLength > 0) {
|
||||
mCurrentShift.updateValue(1);
|
||||
|
||||
if (!mBgLongSwipeMode) {
|
||||
|
@ -813,8 +813,12 @@ public class WindowTransformSwipeHandler<T extends BaseDraggingActivity> {
|
|||
long startMillis = SystemClock.uptimeMillis();
|
||||
executeOnUiThread(() -> {
|
||||
// Animate the launcher components at the same time as the window, always on UI thread.
|
||||
if (mLauncherTransitionController != null && !mWasLauncherAlreadyVisible
|
||||
&& start != end && duration > 0) {
|
||||
if (mLauncherTransitionController == null) {
|
||||
return;
|
||||
}
|
||||
if (start == end || duration <= 0) {
|
||||
mLauncherTransitionController.getAnimationPlayer().end();
|
||||
} else {
|
||||
// Adjust start progress and duration in case we are on a different thread.
|
||||
long elapsedMillis = SystemClock.uptimeMillis() - startMillis;
|
||||
elapsedMillis = Utilities.boundToRange(elapsedMillis, 0, duration);
|
||||
|
|
Loading…
Reference in New Issue