diff --git a/core/java/android/view/InsetsAnimationControlImpl.java b/core/java/android/view/InsetsAnimationControlImpl.java index f827eda07901e..b70072877c662 100644 --- a/core/java/android/view/InsetsAnimationControlImpl.java +++ b/core/java/android/view/InsetsAnimationControlImpl.java @@ -196,11 +196,10 @@ public class InsetsAnimationControlImpl implements WindowInsetsAnimationControll if (mCancelled || mFinished) { return; } + mShownOnFinish = shown; setInsetsAndAlpha(shown ? mShownInsets : mHiddenInsets, 1f /* alpha */, 1f /* fraction */); mFinished = true; mListener.onFinished(this); - - mShownOnFinish = shown; } @Override @@ -301,7 +300,7 @@ public class InsetsAnimationControlImpl implements WindowInsetsAnimationControll .withAlpha(side == ISIDE_FLOATING ? 1 : alpha) .withMatrix(mTmpMatrix) .withVisibility(side == ISIDE_FLOATING - ? state.getSource(source.getType()).isVisible() + ? mShownOnFinish : inset != 0 /* visible */) .build(); surfaceParams.add(params);