From ebafbf53d267673fa35282431f94756e2310976e Mon Sep 17 00:00:00 2001 From: Artyom Palvelev Date: Wed, 20 Mar 2024 20:37:05 +0000 Subject: fixed state updates propagation State updates should be always propagated, because logic of the text editor should not depend on visibility of IME. Bug: N/A Test: build and run game_test_input_testbed Change-Id: Iae9ca0921e648ad2aa93aad90bb412c5a4296b98 --- .../com/google/androidgamesdk/gametextinput/InputConnection.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/game-text-input/src/main/java/com/google/androidgamesdk/gametextinput/InputConnection.java b/game-text-input/src/main/java/com/google/androidgamesdk/gametextinput/InputConnection.java index 07aa9f3c..70527626 100644 --- a/game-text-input/src/main/java/com/google/androidgamesdk/gametextinput/InputConnection.java +++ b/game-text-input/src/main/java/com/google/androidgamesdk/gametextinput/InputConnection.java @@ -557,9 +557,9 @@ public class InputConnection // Keep a reference to the listener to avoid a race condition when setting the listener. Listener listener = this.listener; - // Only propagate the state change when the keyboard is set to active. - // If we don't do this, 'back' events can be passed unnecessarily. - if (listener != null && this.mSoftKeyboardActive) { + // We always propagate state change events because unfortunately keyboard visibility functions + // are unreliable, and text editor logic should not depend on them. + if (listener != null) { listener.stateChanged(state, dismissed); } } -- cgit v1.2.3