Fix bug where taskbar is translated during hotseat handoff.

Fixes: 277271088
Test: be in app
      swipe up from bottom to top of screen without pausing then release
      observe taskbar -> hotseat handoff
      observe no jump

Change-Id: I2bb9d93d39215ca3653e2e4353391b50b7ab6417
This commit is contained in:
Jon Miranda
2023-04-07 11:44:33 -07:00
parent 627376d5b9
commit ecb55ef471

View File

@@ -642,8 +642,14 @@ public class TaskbarLauncherStateController {
long resetDuration = mControllers.taskbarStashController.isInApp()
? duration
: duration / 2;
if (mControllers.taskbarTranslationController.shouldResetBackToZero(resetDuration)
&& (isAnimatingToLauncher() || mLauncherState == LauncherState.NORMAL)) {
boolean shouldReset =
mControllers.taskbarTranslationController.shouldResetBackToZero(resetDuration);
boolean goingToLauncher = isAnimatingToLauncher();
boolean isNormalState = mLauncherState == LauncherState.NORMAL;
// Taskbar should always reset when animating to launcher in normal state to ensure there
// is no jump during the handoff to the hotseat.
if ((goingToLauncher && isNormalState)
|| (shouldReset && (goingToLauncher || isNormalState))) {
animatorSet.play(mControllers.taskbarTranslationController
.createAnimToResetTranslation(resetDuration));
}