On some Android OS, the ViewTreeObserver trigger layout change event serveral times not just one time while the keyboard appearing, the keyboard height computed in one of the KeyboardProvider.handleOnGlobalLayout calls is not the real height of keyboard, and the KeyboardListener send the message to Unity only when the keyboard show status changed. So i just add a condition in KeyboardListener.onKeyboardHeight to make it send message to Unity when show status or height change.
On some Android OS, the ViewTreeObserver trigger layout change event serveral times not just one time while the keyboard appearing, the keyboard height computed in one of the KeyboardProvider.handleOnGlobalLayout calls is not the real height of keyboard, and the KeyboardListener send the message to Unity only when the keyboard show status changed. So i just add a condition in KeyboardListener.onKeyboardHeight to make it send message to Unity when show status or height change.