Merge "Avoid sending an IME close request if the IME is already closed." into main

This commit is contained in:
Treehugger Robot
2023-09-22 22:14:10 +00:00
committed by Android (Google) Code Review
@@ -273,13 +273,19 @@ public interface ActivityContext {
final WindowInsetsController wic = root.getWindowInsetsController();
WindowInsets insets = root.getRootWindowInsets();
boolean isImeShown = insets != null && insets.isVisible(WindowInsets.Type.ime());
if (wic != null && isImeShown) {
StatsLogManager slm = getStatsLogManager();
slm.keyboardStateManager().setKeyboardState(HIDE);
if (wic != null) {
// Only hide the keyboard if it is actually showing.
if (isImeShown) {
StatsLogManager slm = getStatsLogManager();
slm.keyboardStateManager().setKeyboardState(HIDE);
// this method cannot be called cross threads
wic.hide(WindowInsets.Type.ime());
slm.logger().log(LAUNCHER_ALLAPPS_KEYBOARD_CLOSED);
// this method cannot be called cross threads
wic.hide(WindowInsets.Type.ime());
slm.logger().log(LAUNCHER_ALLAPPS_KEYBOARD_CLOSED);
}
// If the WindowInsetsController is not null, we end here regardless of whether we
// hid the keyboard or not.
return;
}
}