Merge "Add logic to handle cases that IME is already shown" into rvc-dev am: b1cd7d54a1

Change-Id: I7071b0aa524e014c4ae5b8104daecbd1c52495d6
This commit is contained in:
Tiger Huang
2020-04-07 19:28:18 +00:00
committed by Automerger Merge Worker

View File

@@ -272,13 +272,18 @@ public class DisplayImeController implements DisplayController.OnDisplaysChanged
}
mAnimation.cancel();
}
mAnimationDirection = show ? DIRECTION_SHOW : DIRECTION_HIDE;
final float defaultY = mImeSourceControl.getSurfacePosition().y;
final float x = mImeSourceControl.getSurfacePosition().x;
final float hiddenY = defaultY + imeSource.getFrame().height();
final float shownY = defaultY;
final float startY = show ? hiddenY : shownY;
final float endY = show ? shownY : hiddenY;
if (mAnimationDirection == DIRECTION_NONE && mImeShowing && show) {
// IME is already showing, so set seek to end
seekValue = shownY;
seek = true;
}
mAnimationDirection = show ? DIRECTION_SHOW : DIRECTION_HIDE;
mImeShowing = show;
mAnimation = ValueAnimator.ofFloat(startY, endY);
mAnimation.setDuration(