Merge "Update snapshot fade out animation" into sc-v2-dev am: e3b0391814 am: 565108f7b9

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15902787

Change-Id: Iaa395493101256cf6df4004c0c09fcfe3460a88e
This commit is contained in:
Chris Li
2021-09-25 00:27:50 +00:00
committed by Automerger Merge Worker

View File

@@ -32,6 +32,7 @@ import android.view.animation.AnimationSet;
import android.view.animation.AnimationUtils;
import android.view.animation.ClipRectAnimation;
import android.view.animation.Interpolator;
import android.view.animation.LinearInterpolator;
import android.view.animation.ScaleAnimation;
import android.view.animation.TranslateAnimation;
@@ -46,12 +47,13 @@ class TaskFragmentAnimationSpec {
private static final String TAG = "TaskFragAnimationSpec";
private static final int CHANGE_ANIMATION_DURATION = 517;
private static final int CHANGE_ANIMATION_FADE_DURATION = 82;
private static final int CHANGE_ANIMATION_FADE_OFFSET = 67;
private static final int CHANGE_ANIMATION_FADE_DURATION = 80;
private static final int CHANGE_ANIMATION_FADE_OFFSET = 30;
private final Context mContext;
private final TransitionAnimation mTransitionAnimation;
private final Interpolator mFastOutExtraSlowInInterpolator;
private final LinearInterpolator mLinearInterpolator;
private float mTransitionAnimationScaleSetting;
TaskFragmentAnimationSpec(@NonNull Handler handler) {
@@ -61,6 +63,7 @@ class TaskFragmentAnimationSpec {
AttributeCache.init(mContext);
mFastOutExtraSlowInInterpolator = AnimationUtils.loadInterpolator(
mContext, android.R.interpolator.fast_out_extra_slow_in);
mLinearInterpolator = new LinearInterpolator();
// The transition animation should be adjusted based on the developer option.
final ContentResolver resolver = mContext.getContentResolver();
@@ -129,14 +132,15 @@ class TaskFragmentAnimationSpec {
float startScaleY = 1.f / scaleY;
// The start leash will be fade out.
final AnimationSet startSet = new AnimationSet(true /* shareInterpolator */);
startSet.setInterpolator(mFastOutExtraSlowInInterpolator);
final AnimationSet startSet = new AnimationSet(false /* shareInterpolator */);
final Animation startAlpha = new AlphaAnimation(1f, 0f);
startAlpha.setInterpolator(mLinearInterpolator);
startAlpha.setDuration(CHANGE_ANIMATION_FADE_DURATION);
startAlpha.setStartOffset(CHANGE_ANIMATION_FADE_OFFSET);
startSet.addAnimation(startAlpha);
final Animation startScale = new ScaleAnimation(startScaleX, startScaleX, startScaleY,
startScaleY);
startScale.setInterpolator(mFastOutExtraSlowInInterpolator);
startScale.setDuration(CHANGE_ANIMATION_DURATION);
startSet.addAnimation(startScale);
startSet.initialize(startBounds.width(), startBounds.height(), endBounds.width(),