Merge "Fix bug where back swipe to icon in All Apps search result." into sc-v2-dev

This commit is contained in:
Jon Miranda
2022-01-29 00:07:23 +00:00
committed by Android (Google) Code Review
@@ -367,7 +367,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
if (launcherClosing) { if (launcherClosing) {
// Delay animation by a frame to avoid jank. // Delay animation by a frame to avoid jank.
Pair<AnimatorSet, Runnable> launcherContentAnimator = Pair<AnimatorSet, Runnable> launcherContentAnimator =
getLauncherContentAnimator(true /* isAppOpening */, startDelay); getLauncherContentAnimator(true /* isAppOpening */, startDelay, false);
anim.play(launcherContentAnimator.first); anim.play(launcherContentAnimator.first);
anim.addListener(new AnimatorListenerAdapter() { anim.addListener(new AnimatorListenerAdapter() {
@Override @Override
@@ -464,9 +464,10 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
* @param isAppOpening True when this is called when an app is opening. * @param isAppOpening True when this is called when an app is opening.
* False when this is called when an app is closing. * False when this is called when an app is closing.
* @param startDelay Start delay duration. * @param startDelay Start delay duration.
* @param skipAllAppsScale True if we want to avoid scaling All Apps
*/ */
private Pair<AnimatorSet, Runnable> getLauncherContentAnimator(boolean isAppOpening, private Pair<AnimatorSet, Runnable> getLauncherContentAnimator(boolean isAppOpening,
int startDelay) { int startDelay, boolean skipAllAppsScale) {
AnimatorSet launcherAnimator = new AnimatorSet(); AnimatorSet launcherAnimator = new AnimatorSet();
Runnable endListener; Runnable endListener;
@@ -484,7 +485,6 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
final float startAlpha = appsView.getAlpha(); final float startAlpha = appsView.getAlpha();
final float startScale = SCALE_PROPERTY.get(appsView); final float startScale = SCALE_PROPERTY.get(appsView);
appsView.setAlpha(alphas[0]); appsView.setAlpha(alphas[0]);
SCALE_PROPERTY.set(appsView, scales[0]);
ObjectAnimator alpha = ObjectAnimator.ofFloat(appsView, View.ALPHA, alphas); ObjectAnimator alpha = ObjectAnimator.ofFloat(appsView, View.ALPHA, alphas);
alpha.setDuration(CONTENT_ALPHA_DURATION); alpha.setDuration(CONTENT_ALPHA_DURATION);
@@ -496,12 +496,16 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
appsView.setLayerType(View.LAYER_TYPE_NONE, null); appsView.setLayerType(View.LAYER_TYPE_NONE, null);
} }
}); });
ObjectAnimator scale = ObjectAnimator.ofFloat(appsView, SCALE_PROPERTY, scales);
scale.setInterpolator(AGGRESSIVE_EASE); if (!skipAllAppsScale) {
scale.setDuration(CONTENT_SCALE_DURATION); SCALE_PROPERTY.set(appsView, scales[0]);
ObjectAnimator scale = ObjectAnimator.ofFloat(appsView, SCALE_PROPERTY, scales);
scale.setInterpolator(AGGRESSIVE_EASE);
scale.setDuration(CONTENT_SCALE_DURATION);
launcherAnimator.play(scale);
}
launcherAnimator.play(alpha); launcherAnimator.play(alpha);
launcherAnimator.play(scale);
endListener = () -> { endListener = () -> {
appsView.setAlpha(startAlpha); appsView.setAlpha(startAlpha);
@@ -1565,6 +1569,7 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
|| mLauncher.getWorkspace().isOverlayShown(); || mLauncher.getWorkspace().isOverlayShown();
boolean playWorkspaceReveal = true; boolean playWorkspaceReveal = true;
boolean skipAllAppsScale = false;
if (mFromUnlock) { if (mFromUnlock) {
anim.play(getUnlockWindowAnimator(appTargets, wallpaperTargets)); anim.play(getUnlockWindowAnimator(appTargets, wallpaperTargets));
} else if (ENABLE_BACK_SWIPE_HOME_ANIMATION.get() } else if (ENABLE_BACK_SWIPE_HOME_ANIMATION.get()
@@ -1579,6 +1584,10 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
true /* animateOverviewScrim */, launcherView).getAnimators()); true /* animateOverviewScrim */, launcherView).getAnimators());
// We play StaggeredWorkspaceAnim as a part of the closing window animation. // We play StaggeredWorkspaceAnim as a part of the closing window animation.
playWorkspaceReveal = false; playWorkspaceReveal = false;
} else {
// Skip scaling all apps, otherwise FloatingIconView will get wrong
// layout bounds.
skipAllAppsScale = true;
} }
} else { } else {
anim.play(getFallbackClosingWindowAnimators(appTargets)); anim.play(getFallbackClosingWindowAnimators(appTargets));
@@ -1600,7 +1609,8 @@ public class QuickstepTransitionManager implements OnDeviceProfileChangeListener
if (mLauncher.isInState(LauncherState.ALL_APPS)) { if (mLauncher.isInState(LauncherState.ALL_APPS)) {
Pair<AnimatorSet, Runnable> contentAnimator = Pair<AnimatorSet, Runnable> contentAnimator =
getLauncherContentAnimator(false, LAUNCHER_RESUME_START_DELAY); getLauncherContentAnimator(false, LAUNCHER_RESUME_START_DELAY,
skipAllAppsScale);
anim.play(contentAnimator.first); anim.play(contentAnimator.first);
anim.addListener(new AnimatorListenerAdapter() { anim.addListener(new AnimatorListenerAdapter() {
@Override @Override