Loading quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java +42 −20 Original line number Diff line number Diff line Loading @@ -50,7 +50,9 @@ import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Handler; import android.os.Looper; import android.util.ArraySet; import android.util.Log; import android.util.Pair; import android.view.Surface; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -178,7 +180,15 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag anim.play(getIconAnimator(v)); if (launcherClosing) { anim.play(getLauncherContentAnimator(false /* show */)); Pair<AnimatorSet, Runnable> launcherContentAnimator = getLauncherContentAnimator(false /* show */); anim.play(launcherContentAnimator.first); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { launcherContentAnimator.second.run(); } }); } anim.play(getWindowAnimators(v, targetCompats)); } Loading Loading @@ -267,8 +277,9 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag * @param show If true: Animate the content so that it moves upwards and fades in. * Else: Animate the content so that it moves downwards and fades out. */ private AnimatorSet getLauncherContentAnimator(boolean show) { private Pair<AnimatorSet, Runnable> getLauncherContentAnimator(boolean show) { AnimatorSet launcherAnimator = new AnimatorSet(); Runnable endListener; float[] alphas = show ? new float[] {0, 1} Loading @@ -288,6 +299,13 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag ObjectAnimator alpha = ObjectAnimator.ofFloat(appsView, View.ALPHA, alphas); alpha.setDuration(217); alpha.setInterpolator(LINEAR); appsView.setLayerType(View.LAYER_TYPE_HARDWARE, null); alpha.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { appsView.setLayerType(View.LAYER_TYPE_NONE, null); } }); ObjectAnimator transY = ObjectAnimator.ofFloat(appsView, View.TRANSLATION_Y, trans); transY.setInterpolator(AGGRESSIVE_EASE); transY.setDuration(350); Loading @@ -295,13 +313,11 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag launcherAnimator.play(alpha); launcherAnimator.play(transY); launcherAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { endListener = () -> { appsView.setAlpha(startAlpha); appsView.setTranslationY(startY); } }); appsView.setLayerType(View.LAYER_TYPE_NONE, null); }; } else { mDragLayer.setAlpha(alphas[0]); mDragLayer.setTranslationY(trans[0]); Loading @@ -316,15 +332,14 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag launcherAnimator.play(dragLayerAlpha); launcherAnimator.play(dragLayerTransY); launcherAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mDragLayer.setLayerType(View.LAYER_TYPE_HARDWARE, null); endListener = () -> { mDragLayer.setLayerType(View.LAYER_TYPE_NONE, null); mDragLayer.setAlpha(1); mDragLayer.setTranslationY(0); }; } }); } return launcherAnimator; return new Pair<>(launcherAnimator, endListener); } /** Loading Loading @@ -658,9 +673,16 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag private void createLauncherResumeAnimation(AnimatorSet anim) { if (mLauncher.isInState(LauncherState.ALL_APPS) || mLauncher.getDeviceProfile().isVerticalBarLayout()) { AnimatorSet contentAnimator = getLauncherContentAnimator(true /* show */); contentAnimator.setStartDelay(LAUNCHER_RESUME_START_DELAY); anim.play(contentAnimator); Pair<AnimatorSet, Runnable> contentAnimator = getLauncherContentAnimator(true /* show */); contentAnimator.first.setStartDelay(LAUNCHER_RESUME_START_DELAY); anim.play(contentAnimator.first); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { contentAnimator.second.run(); } }); } else { AnimatorSet workspaceAnimator = new AnimatorSet(); Loading Loading
quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java +42 −20 Original line number Diff line number Diff line Loading @@ -50,7 +50,9 @@ import android.graphics.drawable.Drawable; import android.os.Build; import android.os.Handler; import android.os.Looper; import android.util.ArraySet; import android.util.Log; import android.util.Pair; import android.view.Surface; import android.view.View; import android.view.ViewGroup; Loading Loading @@ -178,7 +180,15 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag anim.play(getIconAnimator(v)); if (launcherClosing) { anim.play(getLauncherContentAnimator(false /* show */)); Pair<AnimatorSet, Runnable> launcherContentAnimator = getLauncherContentAnimator(false /* show */); anim.play(launcherContentAnimator.first); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { launcherContentAnimator.second.run(); } }); } anim.play(getWindowAnimators(v, targetCompats)); } Loading Loading @@ -267,8 +277,9 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag * @param show If true: Animate the content so that it moves upwards and fades in. * Else: Animate the content so that it moves downwards and fades out. */ private AnimatorSet getLauncherContentAnimator(boolean show) { private Pair<AnimatorSet, Runnable> getLauncherContentAnimator(boolean show) { AnimatorSet launcherAnimator = new AnimatorSet(); Runnable endListener; float[] alphas = show ? new float[] {0, 1} Loading @@ -288,6 +299,13 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag ObjectAnimator alpha = ObjectAnimator.ofFloat(appsView, View.ALPHA, alphas); alpha.setDuration(217); alpha.setInterpolator(LINEAR); appsView.setLayerType(View.LAYER_TYPE_HARDWARE, null); alpha.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { appsView.setLayerType(View.LAYER_TYPE_NONE, null); } }); ObjectAnimator transY = ObjectAnimator.ofFloat(appsView, View.TRANSLATION_Y, trans); transY.setInterpolator(AGGRESSIVE_EASE); transY.setDuration(350); Loading @@ -295,13 +313,11 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag launcherAnimator.play(alpha); launcherAnimator.play(transY); launcherAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { endListener = () -> { appsView.setAlpha(startAlpha); appsView.setTranslationY(startY); } }); appsView.setLayerType(View.LAYER_TYPE_NONE, null); }; } else { mDragLayer.setAlpha(alphas[0]); mDragLayer.setTranslationY(trans[0]); Loading @@ -316,15 +332,14 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag launcherAnimator.play(dragLayerAlpha); launcherAnimator.play(dragLayerTransY); launcherAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mDragLayer.setLayerType(View.LAYER_TYPE_HARDWARE, null); endListener = () -> { mDragLayer.setLayerType(View.LAYER_TYPE_NONE, null); mDragLayer.setAlpha(1); mDragLayer.setTranslationY(0); }; } }); } return launcherAnimator; return new Pair<>(launcherAnimator, endListener); } /** Loading Loading @@ -658,9 +673,16 @@ public class LauncherAppTransitionManagerImpl extends LauncherAppTransitionManag private void createLauncherResumeAnimation(AnimatorSet anim) { if (mLauncher.isInState(LauncherState.ALL_APPS) || mLauncher.getDeviceProfile().isVerticalBarLayout()) { AnimatorSet contentAnimator = getLauncherContentAnimator(true /* show */); contentAnimator.setStartDelay(LAUNCHER_RESUME_START_DELAY); anim.play(contentAnimator); Pair<AnimatorSet, Runnable> contentAnimator = getLauncherContentAnimator(true /* show */); contentAnimator.first.setStartDelay(LAUNCHER_RESUME_START_DELAY); anim.play(contentAnimator.first); anim.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { contentAnimator.second.run(); } }); } else { AnimatorSet workspaceAnimator = new AnimatorSet(); Loading