@@ -96,6 +96,12 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeSurfaceChanged)(
9696JNIEXPORT void JNICALL SDL_JAVA_INTERFACE (onNativeSurfaceDestroyed )(
9797 JNIEnv * env , jclass jcls );
9898
99+ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE (onNativeScreenKeyboardShown )(
100+ JNIEnv * env , jclass jcls );
101+
102+ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE (onNativeScreenKeyboardHidden )(
103+ JNIEnv * env , jclass jcls );
104+
99105JNIEXPORT void JNICALL SDL_JAVA_INTERFACE (onNativeKeyDown )(
100106 JNIEnv * env , jclass jcls ,
101107 jint keycode );
@@ -208,6 +214,8 @@ static JNINativeMethod SDLActivity_tab[] = {
208214 { "onNativeSurfaceCreated" , "()V" , SDL_JAVA_INTERFACE (onNativeSurfaceCreated ) },
209215 { "onNativeSurfaceChanged" , "()V" , SDL_JAVA_INTERFACE (onNativeSurfaceChanged ) },
210216 { "onNativeSurfaceDestroyed" , "()V" , SDL_JAVA_INTERFACE (onNativeSurfaceDestroyed ) },
217+ { "onNativeScreenKeyboardShown" , "()V" , SDL_JAVA_INTERFACE (onNativeScreenKeyboardShown ) },
218+ { "onNativeScreenKeyboardHidden" , "()V" , SDL_JAVA_INTERFACE (onNativeScreenKeyboardHidden ) },
211219 { "onNativeKeyDown" , "(I)V" , SDL_JAVA_INTERFACE (onNativeKeyDown ) },
212220 { "onNativeKeyUp" , "(I)V" , SDL_JAVA_INTERFACE (onNativeKeyUp ) },
213221 { "onNativeSoftReturnKey" , "()Z" , SDL_JAVA_INTERFACE (onNativeSoftReturnKey ) },
@@ -352,7 +360,6 @@ static jmethodID midInitTouch;
352360static jmethodID midIsAndroidTV ;
353361static jmethodID midIsChromebook ;
354362static jmethodID midIsDeXMode ;
355- static jmethodID midIsScreenKeyboardShown ;
356363static jmethodID midIsTablet ;
357364static jmethodID midManualBackButton ;
358365static jmethodID midMinimizeWindow ;
@@ -642,7 +649,6 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
642649 midIsAndroidTV = (* env )-> GetStaticMethodID (env , mActivityClass , "isAndroidTV" , "()Z" );
643650 midIsChromebook = (* env )-> GetStaticMethodID (env , mActivityClass , "isChromebook" , "()Z" );
644651 midIsDeXMode = (* env )-> GetStaticMethodID (env , mActivityClass , "isDeXMode" , "()Z" );
645- midIsScreenKeyboardShown = (* env )-> GetStaticMethodID (env , mActivityClass , "isScreenKeyboardShown" , "()Z" );
646652 midIsTablet = (* env )-> GetStaticMethodID (env , mActivityClass , "isTablet" , "()Z" );
647653 midManualBackButton = (* env )-> GetStaticMethodID (env , mActivityClass , "manualBackButton" , "()V" );
648654 midMinimizeWindow = (* env )-> GetStaticMethodID (env , mActivityClass , "minimizeWindow" , "()V" );
@@ -675,7 +681,6 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
675681 !midIsAndroidTV ||
676682 !midIsChromebook ||
677683 !midIsDeXMode ||
678- !midIsScreenKeyboardShown ||
679684 !midIsTablet ||
680685 !midManualBackButton ||
681686 !midMinimizeWindow ||
@@ -1242,6 +1247,10 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeSurfaceChanged)(JNIEnv *env, j
12421247 }
12431248#endif
12441249
1250+ if (Android_Window ) {
1251+ Android_RestoreScreenKeyboard (SDL_GetVideoDevice (), Android_Window );
1252+ }
1253+
12451254 SDL_UnlockMutex (Android_ActivityMutex );
12461255}
12471256
@@ -1287,6 +1296,16 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeSurfaceDestroyed)(JNIEnv *env,
12871296 SDL_UnlockMutex (Android_ActivityMutex );
12881297}
12891298
1299+ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE (onNativeScreenKeyboardShown )(JNIEnv * env , jclass jcls )
1300+ {
1301+ SDL_SendScreenKeyboardShown ();
1302+ }
1303+
1304+ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE (onNativeScreenKeyboardHidden )(JNIEnv * env , jclass jcls )
1305+ {
1306+ SDL_SendScreenKeyboardHidden ();
1307+ }
1308+
12901309// Keydown
12911310JNIEXPORT void JNICALL SDL_JAVA_INTERFACE (onNativeKeyDown )(
12921311 JNIEnv * env , jclass jcls ,
@@ -2149,14 +2168,6 @@ void Android_JNI_HideScreenKeyboard(void)
21492168 Android_JNI_SendMessage (COMMAND_TEXTEDIT_HIDE , 0 );
21502169}
21512170
2152- bool Android_JNI_IsScreenKeyboardShown (void )
2153- {
2154- JNIEnv * env = Android_JNI_GetEnv ();
2155- jboolean is_shown = 0 ;
2156- is_shown = (* env )-> CallStaticBooleanMethod (env , mActivityClass , midIsScreenKeyboardShown );
2157- return is_shown ;
2158- }
2159-
21602171bool Android_JNI_ShowMessageBox (const SDL_MessageBoxData * messageboxdata , int * buttonID )
21612172{
21622173 JNIEnv * env ;
0 commit comments