Include IME navigation bar in IME insets
Check if the IME navigation bar is visible, and make sure the computed IME insets are at least as big as it is. When an IME is in floating mode, the computed IME insets would be zero, but the IME navigation bar would be shown (in gesture nav), so the app content would be slightly covered by it. As a workaround, IMEs always include the navigation bar insets size in their override for computing the IME insets size. With the introduction of the ability to hide the IME navigation bar in [1], this lead to a problem where apps that want to inset their content by the IME insets size, when an IME is in floating mode and requested to hide the IME navigation bar, would still receive non-zero insets equal to the size of the system gesture navigation bar (drag handle). This ensures the IME insets size will always include the IME navigation bar size when necessary, enabling IMEs to remove their workaround, solving the non-zero insets problem described above. [1]: I8793db69fb846046300d5a56b3b0060138ef4cd5 Bug: 336335471 Test: atest InputMethodServiceTest#testImeNavigationBarInsets Change-Id: Id252731ac8b5138cccd1164197ff3ece3a5f3cf8
Loading
Please register or sign in to comment