(cherry picked from commit fc2f4fcc225d0c61eb8155245b05fe8c0a01454b)
@@ -208,6 +208,12 @@ public class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
WindowInsets.Type.displayCutout());
SDLActivity.onNativeInsetsChanged(combined.left, combined.right, combined.top, combined.bottom);
+
+ if (insets.isVisible(WindowInsets.Type.ime())) {
+ SDLActivity.onNativeScreenKeyboardShown();
+ } else {
+ SDLActivity.onNativeScreenKeyboardHidden();
+ }
}
// Pass these to any child views in case they need them
@@ -5913,7 +5913,7 @@ bool SDL_ScreenKeyboardShown(SDL_Window *window)
void SDL_SendScreenKeyboardShown(void)
{
- if (_this->screen_keyboard_shown) {
+ if (!_this || _this->screen_keyboard_shown) {
return;
@@ -5929,7 +5929,7 @@ void SDL_SendScreenKeyboardShown(void)
void SDL_SendScreenKeyboardHidden(void)
- if (!_this->screen_keyboard_shown) {
+ if (!_this || !_this->screen_keyboard_shown) {