SDL: more fixes to async text input
This commit is contained in:
@@ -791,7 +791,6 @@ public class MainActivity extends Activity
|
|||||||
|
|
||||||
public void showScreenKeyboard(final String oldText)
|
public void showScreenKeyboard(final String oldText)
|
||||||
{
|
{
|
||||||
Log.i("SDL", "showScreenKeyboard()");
|
|
||||||
if(Globals.CompatibilityHacksTextInputEmulatesHwKeyboard)
|
if(Globals.CompatibilityHacksTextInputEmulatesHwKeyboard)
|
||||||
{
|
{
|
||||||
showScreenKeyboardWithoutTextInputField(Globals.TextInputKeyboard);
|
showScreenKeyboardWithoutTextInputField(Globals.TextInputKeyboard);
|
||||||
@@ -799,7 +798,6 @@ public class MainActivity extends Activity
|
|||||||
}
|
}
|
||||||
if(_screenKeyboard != null)
|
if(_screenKeyboard != null)
|
||||||
return;
|
return;
|
||||||
Log.i("SDL", "showScreenKeyboard() - adding keyboard view");
|
|
||||||
class simpleKeyListener implements OnKeyListener
|
class simpleKeyListener implements OnKeyListener
|
||||||
{
|
{
|
||||||
MainActivity _parent;
|
MainActivity _parent;
|
||||||
@@ -819,7 +817,6 @@ public class MainActivity extends Activity
|
|||||||
keyCode == KeyEvent.KEYCODE_BUTTON_3 ||
|
keyCode == KeyEvent.KEYCODE_BUTTON_3 ||
|
||||||
keyCode == KeyEvent.KEYCODE_BUTTON_4 ))
|
keyCode == KeyEvent.KEYCODE_BUTTON_4 ))
|
||||||
{
|
{
|
||||||
Log.i("SDL", "_parent.hideScreenKeyboard()");
|
|
||||||
_parent.hideScreenKeyboard();
|
_parent.hideScreenKeyboard();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -907,7 +904,6 @@ public class MainActivity extends Activity
|
|||||||
|
|
||||||
public void hideScreenKeyboard()
|
public void hideScreenKeyboard()
|
||||||
{
|
{
|
||||||
Log.i("SDL", "hideScreenKeyboard()");
|
|
||||||
if( keyboardWithoutTextInputShown )
|
if( keyboardWithoutTextInputShown )
|
||||||
showScreenKeyboardWithoutTextInputField(Globals.TextInputKeyboard);
|
showScreenKeyboardWithoutTextInputField(Globals.TextInputKeyboard);
|
||||||
|
|
||||||
@@ -922,7 +918,6 @@ public class MainActivity extends Activity
|
|||||||
DemoRenderer.nativeTextInput( (int)text.charAt(i), (int)text.codePointAt(i) );
|
DemoRenderer.nativeTextInput( (int)text.charAt(i), (int)text.codePointAt(i) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Log.i("SDL", "hideScreenKeyboard() nativeTextInputFinished()");
|
|
||||||
DemoRenderer.nativeTextInputFinished();
|
DemoRenderer.nativeTextInputFinished();
|
||||||
_inputManager.hideSoftInputFromWindow(_screenKeyboard.getWindowToken(), 0);
|
_inputManager.hideSoftInputFromWindow(_screenKeyboard.getWindowToken(), 0);
|
||||||
_videoLayout.removeView(_screenKeyboard);
|
_videoLayout.removeView(_screenKeyboard);
|
||||||
|
|||||||
@@ -327,7 +327,7 @@ void SDL_ANDROID_CallJavaHideScreenKeyboard()
|
|||||||
|
|
||||||
int SDL_ANDROID_IsScreenKeyboardShown()
|
int SDL_ANDROID_IsScreenKeyboardShown()
|
||||||
{
|
{
|
||||||
return SDL_ANDROID_IsScreenKeyboardShownFlag;
|
return SDL_ANDROID_IsScreenKeyboardShownFlag || SDL_ANDROID_AsyncTextInputActive;
|
||||||
}
|
}
|
||||||
|
|
||||||
JNIEXPORT void JNICALL
|
JNIEXPORT void JNICALL
|
||||||
|
|||||||
@@ -71,6 +71,7 @@ extern void SDL_ANDROID_CallJavaHideScreenKeyboard();
|
|||||||
extern void SDL_ANDROID_CallJavaSetScreenKeyboardHintMessage(const char *hint);
|
extern void SDL_ANDROID_CallJavaSetScreenKeyboardHintMessage(const char *hint);
|
||||||
extern int SDL_ANDROID_IsScreenKeyboardShown();
|
extern int SDL_ANDROID_IsScreenKeyboardShown();
|
||||||
extern int SDL_ANDROID_IsScreenKeyboardShownFlag;
|
extern int SDL_ANDROID_IsScreenKeyboardShownFlag;
|
||||||
|
extern int SDL_ANDROID_AsyncTextInputActive;
|
||||||
extern int SDL_ANDROID_drawTouchscreenKeyboard();
|
extern int SDL_ANDROID_drawTouchscreenKeyboard();
|
||||||
extern void SDL_ANDROID_VideoContextLost();
|
extern void SDL_ANDROID_VideoContextLost();
|
||||||
extern void SDL_ANDROID_VideoContextRecreated();
|
extern void SDL_ANDROID_VideoContextRecreated();
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ static int themeType = 0;
|
|||||||
static int joystickTouchPoints[MAX_JOYSTICKS*2];
|
static int joystickTouchPoints[MAX_JOYSTICKS*2];
|
||||||
static int floatingScreenJoystick = 0;
|
static int floatingScreenJoystick = 0;
|
||||||
|
|
||||||
static int asyncTextInputActive = 0;
|
int SDL_ANDROID_AsyncTextInputActive = 0;
|
||||||
|
|
||||||
static void R_DumpOpenGlState(void);
|
static void R_DumpOpenGlState(void);
|
||||||
|
|
||||||
@@ -1249,12 +1249,12 @@ SDL_AndroidTextInputAsyncStatus_t SDLCALL SDL_ANDROID_GetScreenKeyboardTextInput
|
|||||||
if( SDL_ANDROID_TextInputFinished )
|
if( SDL_ANDROID_TextInputFinished )
|
||||||
{
|
{
|
||||||
SDL_ANDROID_TextInputFinished = 0;
|
SDL_ANDROID_TextInputFinished = 0;
|
||||||
asyncTextInputActive = 0;
|
SDL_ANDROID_AsyncTextInputActive = 0;
|
||||||
return SDL_ANDROID_TEXTINPUT_ASYNC_FINISHED;
|
return SDL_ANDROID_TEXTINPUT_ASYNC_FINISHED;
|
||||||
}
|
}
|
||||||
if( !SDL_ANDROID_IsScreenKeyboardShownFlag && !asyncTextInputActive )
|
if( !SDL_ANDROID_IsScreenKeyboardShownFlag && !SDL_ANDROID_AsyncTextInputActive )
|
||||||
{
|
{
|
||||||
asyncTextInputActive = 1;
|
SDL_ANDROID_AsyncTextInputActive = 1;
|
||||||
SDL_ANDROID_CallJavaShowScreenKeyboard(textBuf, textBuf, textBufSize, 1);
|
SDL_ANDROID_CallJavaShowScreenKeyboard(textBuf, textBuf, textBufSize, 1);
|
||||||
}
|
}
|
||||||
return SDL_ANDROID_TEXTINPUT_ASYNC_IN_PROGRESS;
|
return SDL_ANDROID_TEXTINPUT_ASYNC_IN_PROGRESS;
|
||||||
|
|||||||
Reference in New Issue
Block a user