Merge "Prevent resize animation from changing the requested visibilities" into sc-v2-dev am: 2aba350b3f
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16303384 Change-Id: Ie4ebc27b9cfbaa9b9c887b09ec6be1b62ff9e791
This commit is contained in:
@@ -1266,6 +1266,11 @@ public class InsetsController implements WindowInsetsController, InsetsAnimation
|
||||
public void notifyFinished(InsetsAnimationControlRunner runner, boolean shown) {
|
||||
cancelAnimation(runner, false /* invokeCallback */);
|
||||
if (DEBUG) Log.d(TAG, "notifyFinished. shown: " + shown);
|
||||
if (runner.getAnimationType() == ANIMATION_TYPE_RESIZE) {
|
||||
// The resize animation doesn't show or hide the insets. We shouldn't change the
|
||||
// requested visibility.
|
||||
return;
|
||||
}
|
||||
if (shown) {
|
||||
showDirectly(runner.getTypes(), true /* fromIme */);
|
||||
} else {
|
||||
|
||||
@@ -131,6 +131,9 @@ public class InsetsResizeAnimationRunner implements InsetsAnimationControlRunner
|
||||
|
||||
@Override
|
||||
public boolean applyChangeInsets(InsetsState outState) {
|
||||
if (mCancelled) {
|
||||
return false;
|
||||
}
|
||||
final float fraction = mAnimation.getInterpolatedFraction();
|
||||
for (@InternalInsetsType int type = 0; type < InsetsState.SIZE; type++) {
|
||||
final InsetsSource fromSource = mFromState.peekSource(type);
|
||||
|
||||
Reference in New Issue
Block a user