Merge "Prevent Insets side visibility change during animation"
This commit is contained in:
committed by
Android (Google) Code Review
commit
ca07451b9e
@@ -467,6 +467,10 @@ public class InsetsController implements WindowInsetsController {
|
||||
}
|
||||
}
|
||||
|
||||
boolean isAnimating() {
|
||||
return mAnimationDirection != DIRECTION_NONE;
|
||||
}
|
||||
|
||||
private InsetsSourceConsumer createConsumerOfType(int type) {
|
||||
if (type == ITYPE_IME) {
|
||||
return new ImeInsetsSourceConsumer(mState, Transaction::new, this);
|
||||
@@ -514,6 +518,7 @@ public class InsetsController implements WindowInsetsController {
|
||||
} else {
|
||||
hideDirectly(types);
|
||||
}
|
||||
mAnimationDirection = show ? DIRECTION_SHOW : DIRECTION_HIDE;
|
||||
mAnimator = ObjectAnimator.ofObject(
|
||||
controller,
|
||||
new InsetsProperty(),
|
||||
|
||||
@@ -167,7 +167,8 @@ public class InsetsSourceConsumer {
|
||||
}
|
||||
|
||||
private void applyHiddenToControl() {
|
||||
if (mSourceControl == null || mSourceControl.getLeash() == null) {
|
||||
if (mSourceControl == null || mSourceControl.getLeash() == null
|
||||
|| mController.isAnimating()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user