|
@@ -96,6 +96,12 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeSurfaceChanged)(
|
|
|
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeSurfaceDestroyed)(
|
|
|
JNIEnv *env, jclass jcls);
|
|
|
|
|
|
+JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeScreenKeyboardShown)(
|
|
|
+ JNIEnv *env, jclass jcls);
|
|
|
+
|
|
|
+JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeScreenKeyboardHidden)(
|
|
|
+ JNIEnv *env, jclass jcls);
|
|
|
+
|
|
|
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeKeyDown)(
|
|
|
JNIEnv *env, jclass jcls,
|
|
|
jint keycode);
|
|
@@ -208,6 +214,8 @@ static JNINativeMethod SDLActivity_tab[] = {
|
|
|
{ "onNativeSurfaceCreated", "()V", SDL_JAVA_INTERFACE(onNativeSurfaceCreated) },
|
|
|
{ "onNativeSurfaceChanged", "()V", SDL_JAVA_INTERFACE(onNativeSurfaceChanged) },
|
|
|
{ "onNativeSurfaceDestroyed", "()V", SDL_JAVA_INTERFACE(onNativeSurfaceDestroyed) },
|
|
|
+ { "onNativeScreenKeyboardShown", "()V", SDL_JAVA_INTERFACE(onNativeScreenKeyboardShown) },
|
|
|
+ { "onNativeScreenKeyboardHidden", "()V", SDL_JAVA_INTERFACE(onNativeScreenKeyboardHidden) },
|
|
|
{ "onNativeKeyDown", "(I)V", SDL_JAVA_INTERFACE(onNativeKeyDown) },
|
|
|
{ "onNativeKeyUp", "(I)V", SDL_JAVA_INTERFACE(onNativeKeyUp) },
|
|
|
{ "onNativeSoftReturnKey", "()Z", SDL_JAVA_INTERFACE(onNativeSoftReturnKey) },
|
|
@@ -352,7 +360,6 @@ static jmethodID midInitTouch;
|
|
|
static jmethodID midIsAndroidTV;
|
|
|
static jmethodID midIsChromebook;
|
|
|
static jmethodID midIsDeXMode;
|
|
|
-static jmethodID midIsScreenKeyboardShown;
|
|
|
static jmethodID midIsTablet;
|
|
|
static jmethodID midManualBackButton;
|
|
|
static jmethodID midMinimizeWindow;
|
|
@@ -642,7 +649,6 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
|
|
|
midIsAndroidTV = (*env)->GetStaticMethodID(env, mActivityClass, "isAndroidTV", "()Z");
|
|
|
midIsChromebook = (*env)->GetStaticMethodID(env, mActivityClass, "isChromebook", "()Z");
|
|
|
midIsDeXMode = (*env)->GetStaticMethodID(env, mActivityClass, "isDeXMode", "()Z");
|
|
|
- midIsScreenKeyboardShown = (*env)->GetStaticMethodID(env, mActivityClass, "isScreenKeyboardShown", "()Z");
|
|
|
midIsTablet = (*env)->GetStaticMethodID(env, mActivityClass, "isTablet", "()Z");
|
|
|
midManualBackButton = (*env)->GetStaticMethodID(env, mActivityClass, "manualBackButton", "()V");
|
|
|
midMinimizeWindow = (*env)->GetStaticMethodID(env, mActivityClass, "minimizeWindow", "()V");
|
|
@@ -675,7 +681,6 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(nativeSetupJNI)(JNIEnv *env, jclass cl
|
|
|
!midIsAndroidTV ||
|
|
|
!midIsChromebook ||
|
|
|
!midIsDeXMode ||
|
|
|
- !midIsScreenKeyboardShown ||
|
|
|
!midIsTablet ||
|
|
|
!midManualBackButton ||
|
|
|
!midMinimizeWindow ||
|
|
@@ -1242,6 +1247,10 @@ JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeSurfaceChanged)(JNIEnv *env, j
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
+ if (Android_Window) {
|
|
|
+ Android_RestoreScreenKeyboard(SDL_GetVideoDevice(), Android_Window);
|
|
|
+ }
|
|
|
+
|
|
|
SDL_UnlockMutex(Android_ActivityMutex);
|
|
|
}
|
|
|
|
|
@@ -1287,6 +1296,16 @@ retry:
|
|
|
SDL_UnlockMutex(Android_ActivityMutex);
|
|
|
}
|
|
|
|
|
|
+JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeScreenKeyboardShown)(JNIEnv *env, jclass jcls)
|
|
|
+{
|
|
|
+ SDL_SendScreenKeyboardShown();
|
|
|
+}
|
|
|
+
|
|
|
+JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeScreenKeyboardHidden)(JNIEnv *env, jclass jcls)
|
|
|
+{
|
|
|
+ SDL_SendScreenKeyboardHidden();
|
|
|
+}
|
|
|
+
|
|
|
// Keydown
|
|
|
JNIEXPORT void JNICALL SDL_JAVA_INTERFACE(onNativeKeyDown)(
|
|
|
JNIEnv *env, jclass jcls,
|
|
@@ -2149,14 +2168,6 @@ void Android_JNI_HideScreenKeyboard(void)
|
|
|
Android_JNI_SendMessage(COMMAND_TEXTEDIT_HIDE, 0);
|
|
|
}
|
|
|
|
|
|
-bool Android_JNI_IsScreenKeyboardShown(void)
|
|
|
-{
|
|
|
- JNIEnv *env = Android_JNI_GetEnv();
|
|
|
- jboolean is_shown = 0;
|
|
|
- is_shown = (*env)->CallStaticBooleanMethod(env, mActivityClass, midIsScreenKeyboardShown);
|
|
|
- return is_shown;
|
|
|
-}
|
|
|
-
|
|
|
bool Android_JNI_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonID)
|
|
|
{
|
|
|
JNIEnv *env;
|