Avoids animating the background when launching app targets are translucent.

Bug: 200052247
Test: Pause an app, click on paused app and ensure background does not animate
Change-Id: Ib0a7cac0ab866441dd8fb27831a8333d0c931723
This commit is contained in:
Jon Miranda 2021-09-24 16:00:25 -07:00
parent 494bd4e880
commit 3940470bed
1 changed files with 18 additions and 3 deletions

View File

@ -856,7 +856,13 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
// Since we added a start delay, call update here to init the FloatingIconView properly.
listener.onUpdate(0, true /* initOnly */);
animatorSet.playTogether(appAnimator, getBackgroundAnimator(appTargets));
// If app targets are translucent, do not animate the background as it causes a visible
// flicker when it resets itself at the end of its animation.
if (appTargetsAreTranslucent) {
animatorSet.play(appAnimator);
} else {
animatorSet.playTogether(appAnimator, getBackgroundAnimator());
}
return animatorSet;
}
@ -993,11 +999,20 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
}
});
animatorSet.playTogether(appAnimator, getBackgroundAnimator(appTargets));
// If app targets are translucent, do not animate the background as it causes a visible
// flicker when it resets itself at the end of its animation.
if (appTargetsAreTranslucent) {
animatorSet.play(appAnimator);
} else {
animatorSet.playTogether(appAnimator, getBackgroundAnimator());
}
return animatorSet;
}
private ObjectAnimator getBackgroundAnimator(RemoteAnimationTargetCompat[] appTargets) {
/**
* Returns animator that controls depth/blur of the background.
*/
private ObjectAnimator getBackgroundAnimator() {
// When launching an app from overview that doesn't map to a task, we still want to just
// blur the wallpaper instead of the launcher surface as well
boolean allowBlurringLauncher = mLauncher.getStateManager().getState() != OVERVIEW;