Improved keyboard visible detection algorithm (was broken on Blackberry Priv)

This commit is contained in:
Sylvain Berfini 2019-02-11 16:51:38 +01:00
parent ec00aecf8d
commit 8b2a46922d

View file

@ -619,10 +619,10 @@ public class ChatMessagesFragment extends Fragment
.getDecorView() .getDecorView()
.getWindowVisibleDisplayFrame(visibleArea); .getWindowVisibleDisplayFrame(visibleArea);
int heightDiff = int screenHeight =
getActivity().getWindow().getDecorView().getRootView().getHeight() getActivity().getWindow().getDecorView().getRootView().getHeight();
- (visibleArea.bottom - visibleArea.top); int heightDiff = screenHeight - (visibleArea.bottom - visibleArea.top);
if (heightDiff > 200) { if (heightDiff > screenHeight * 0.15) {
showKeyboardVisibleMode(); showKeyboardVisibleMode();
} else { } else {
hideKeyboardVisibleMode(); hideKeyboardVisibleMode();
@ -642,6 +642,7 @@ public class ChatMessagesFragment extends Fragment
.getDecorView() .getDecorView()
.getViewTreeObserver() .getViewTreeObserver()
.removeOnGlobalLayoutListener(mKeyboardListener); .removeOnGlobalLayoutListener(mKeyboardListener);
hideKeyboardVisibleMode();
} }
private void showKeyboardVisibleMode() { private void showKeyboardVisibleMode() {