Fixed SDL_HideScreenKeyboard() not restoring immersive mode and not hiding the SDL_ANDROID_ToggleScreenKeyboardWithoutTextInput() keyboard.

This commit is contained in:
pelya
2014-01-06 02:20:34 +02:00
parent bbcb0af7d4
commit bdde59bfa6
5 changed files with 14 additions and 8 deletions

View File

@@ -414,7 +414,6 @@ public class MainActivity extends Activity
System.exit(0);
}
static boolean keyboardWithoutTextInputShown = false;
public void showScreenKeyboardWithoutTextInputField()
{
if( !keyboardWithoutTextInputShown )
@@ -553,6 +552,9 @@ public class MainActivity extends Activity
public void hideScreenKeyboard()
{
if( keyboardWithoutTextInputShown )
showScreenKeyboardWithoutTextInputField();
if(_screenKeyboard == null)
return;
@@ -571,6 +573,8 @@ public class MainActivity extends Activity
mGLView.setFocusableInTouchMode(true);
mGLView.setFocusable(true);
mGLView.requestFocus();
DimSystemStatusBar.get().dim(_videoLayout);
DimSystemStatusBar.get().dim(mGLView);
};
public boolean isScreenKeyboardShown()
@@ -1137,6 +1141,7 @@ public class MainActivity extends Activity
private FrameLayout _videoLayout = null;
private EditText _screenKeyboard = null;
private String _screenKeyboardHintMessage = null;
static boolean keyboardWithoutTextInputShown = false;
private boolean sdlInited = false;
public interface TouchEventsListener

View File

@@ -838,6 +838,7 @@ class DemoGLSurfaceView extends GLSurfaceView_SDL {
@Override
public void onPause() {
Log.i("SDL", "libSDL: DemoGLSurfaceView.onPause(): mRenderer.mGlSurfaceCreated " + mRenderer.mGlSurfaceCreated + " mRenderer.mPaused " + mRenderer.mPaused + (mRenderer.mPaused ? " - not doing anything" : ""));
if(mRenderer.mPaused)
return;
mRenderer.mPaused = true;
@@ -853,11 +854,11 @@ class DemoGLSurfaceView extends GLSurfaceView_SDL {
@Override
public void onResume() {
Log.i("SDL", "libSDL: DemoGLSurfaceView.onResume(): mRenderer.mGlSurfaceCreated " + mRenderer.mGlSurfaceCreated + " mRenderer.mPaused " + mRenderer.mPaused + (!mRenderer.mPaused ? " - not doing anything" : ""));
if(!mRenderer.mPaused)
return;
mRenderer.mPaused = false;
super.onResume();
Log.i("SDL", "libSDL: DemoGLSurfaceView.onResume(): mRenderer.mGlSurfaceCreated " + mRenderer.mGlSurfaceCreated + " mRenderer.mPaused " + mRenderer.mPaused);
if( mRenderer.mGlSurfaceCreated && ! mRenderer.mPaused || Globals.NonBlockingSwapBuffers )
mRenderer.nativeGlContextRecreated();
if( mRenderer.accelerometer != null && mRenderer.accelerometer.openedBySDL ) // For some reason it crashes here often - are we getting this event before initialization?