diff options
| author | Tiger Huang <tigerhuang@google.com> | 2020-06-19 00:12:55 +0800 |
|---|---|---|
| committer | Tiger Huang <tigerhuang@google.com> | 2020-06-23 00:58:05 +0800 |
| commit | 618dbe022ff715cadff46e1d4102b2f0715e85ea (patch) | |
| tree | 4b6a857d31e0866870df0a70bb29df988e3a2aac /core/java/android/inputmethodservice/InputMethodService.java | |
| parent | 5d544ddff061eafa2adfa2d00cf9dd5e663f5cd0 (diff) | |
Disable user animations on insets whose visible frame is empty (refined)
Floating IME or fullscreen IME won't cause insets (except the area
overlapped with navigation bar). It doesn't make much sense to let
apps move the IME at these cases.
Fix: 157777145
Test: atest InsetsSourceConsumerTest GlobalActionsImeTest
ImeInsetsControllerTest
Change-Id: Id70f59be7653beedc02d6c8bc3b1bd50a357f4fe
Diffstat (limited to 'core/java/android/inputmethodservice/InputMethodService.java')
| -rw-r--r-- | core/java/android/inputmethodservice/InputMethodService.java | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java index d8b1f41c86d5..5647bf90d2fb 100644 --- a/core/java/android/inputmethodservice/InputMethodService.java +++ b/core/java/android/inputmethodservice/InputMethodService.java @@ -471,6 +471,10 @@ public class InputMethodService extends AbstractInputMethodService { final ViewTreeObserver.OnComputeInternalInsetsListener mInsetsComputer = info -> { onComputeInsets(mTmpInsets); + if (!mViewsCreated) { + // The IME views are not ready, keep visible insets untouched. + mTmpInsets.visibleTopInsets = 0; + } if (isExtractViewShown()) { // In true fullscreen mode, we just say the window isn't covering // any content so we don't impact whatever is behind. |
