From 8b2a46922d5555a6e2095048cd6f3e3588249f13 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 11 Feb 2019 16:51:38 +0100 Subject: [PATCH] Improved keyboard visible detection algorithm (was broken on Blackberry Priv) --- .../java/org/linphone/chat/ChatMessagesFragment.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java index 463f84823..7a58ed243 100644 --- a/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java +++ b/app/src/main/java/org/linphone/chat/ChatMessagesFragment.java @@ -619,10 +619,10 @@ public class ChatMessagesFragment extends Fragment .getDecorView() .getWindowVisibleDisplayFrame(visibleArea); - int heightDiff = - getActivity().getWindow().getDecorView().getRootView().getHeight() - - (visibleArea.bottom - visibleArea.top); - if (heightDiff > 200) { + int screenHeight = + getActivity().getWindow().getDecorView().getRootView().getHeight(); + int heightDiff = screenHeight - (visibleArea.bottom - visibleArea.top); + if (heightDiff > screenHeight * 0.15) { showKeyboardVisibleMode(); } else { hideKeyboardVisibleMode(); @@ -642,6 +642,7 @@ public class ChatMessagesFragment extends Fragment .getDecorView() .getViewTreeObserver() .removeOnGlobalLayoutListener(mKeyboardListener); + hideKeyboardVisibleMode(); } private void showKeyboardVisibleMode() {