aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--game-text-input/src/main/java/com/google/androidgamesdk/gametextinput/InputConnection.java18
1 files changed, 18 insertions, 0 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 70527626..2de0f9d5 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
@@ -601,7 +601,16 @@ public class InputConnection
* @return The current IME insets
*/
public Insets getImeInsets() {
+ if (this.targetView == null) {
+ return Insets.NONE;
+ }
+
WindowInsetsCompat insets = ViewCompat.getRootWindowInsets(this.targetView);
+
+ if (insets == null) {
+ return Insets.NONE;
+ }
+
return insets.getInsets(WindowInsetsCompat.Type.ime());
}
@@ -611,7 +620,16 @@ public class InputConnection
* @return whether software IME is visible or not.
*/
public boolean isSoftwareKeyboardVisible() {
+ if (this.targetView == null) {
+ return false;
+ }
+
WindowInsetsCompat insets = ViewCompat.getRootWindowInsets(this.targetView);
+
+ if (insets == null) {
+ return false;
+ }
+
return insets.isVisible(WindowInsetsCompat.Type.ime());
}