From 64307f791875ad6045571468c042b44ecd3e7728 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antoine=20Fran=C3=A7on?= Date: Mon, 8 Apr 2024 11:54:58 +0200 Subject: [PATCH] [Android][Keyboard] Use more consistent inequality check on keyboard height --- .../java/com/swmansion/reanimated/keyboard/Keyboard.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/src/main/java/com/swmansion/reanimated/keyboard/Keyboard.java b/android/src/main/java/com/swmansion/reanimated/keyboard/Keyboard.java index 0f8ae78071e..2a6a39588b3 100644 --- a/android/src/main/java/com/swmansion/reanimated/keyboard/Keyboard.java +++ b/android/src/main/java/com/swmansion/reanimated/keyboard/Keyboard.java @@ -27,7 +27,7 @@ public void updateHeight(WindowInsetsCompat insets) { int keyboardHeightDip = hasNavigationBar ? contentBottomInset - systemBarBottomInset : contentBottomInset; int keyboardHeight = (int) PixelUtil.toDIPFromPixel(Math.max(0, keyboardHeightDip)); - if (keyboardHeight == 0 && mState == KeyboardState.OPEN) { + if (keyboardHeight <= 0 && mState == KeyboardState.OPEN) { /* When the keyboard is being canceling, for one frame the insets show a keyboard height of 0, causing a jump of the keyboard. We can avoid it by ignoring that frame and calling @@ -42,7 +42,7 @@ public void onAnimationStart() { if (mActiveTransitionCounter > 0) { mState = mState == KeyboardState.OPENING ? KeyboardState.CLOSING : KeyboardState.OPENING; } else { - mState = mHeight == 0 ? KeyboardState.OPENING : KeyboardState.CLOSING; + mState = mHeight <= 0 ? KeyboardState.OPENING : KeyboardState.CLOSING; } mActiveTransitionCounter++; } @@ -50,7 +50,7 @@ public void onAnimationStart() { public void onAnimationEnd() { mActiveTransitionCounter--; if (mActiveTransitionCounter == 0) { - mState = mHeight == 0 ? KeyboardState.CLOSED : KeyboardState.OPEN; + mState = mHeight <= 0 ? KeyboardState.CLOSED : KeyboardState.OPEN; } } }