Changed international text input handling, which hopefully will stop crashes

This commit is contained in:
Sergii Pylypenko
2014-02-26 19:19:10 +02:00
parent a40e0b1be5
commit ad584d6f17

View File

@@ -696,6 +696,7 @@ public class MainActivity extends Activity
} }
} }
/*
@Override @Override
public boolean dispatchKeyEvent(final KeyEvent event) public boolean dispatchKeyEvent(final KeyEvent event)
{ {
@@ -712,12 +713,6 @@ public class MainActivity extends Activity
{ {
for(int i = 0; i < event.getCharacters().length(); i++ ) for(int i = 0; i < event.getCharacters().length(); i++ )
{ {
/*
if( mGLView.nativeKey( event.getKeyCode(), 1, event.getCharacters().codePointAt(i) ) == 0 )
return super.dispatchKeyEvent(event);
if( mGLView.nativeKey( event.getKeyCode(), 0, event.getCharacters().codePointAt(i) ) == 0 )
return super.dispatchKeyEvent(event);
*/
mGLView.nativeKey( event.getKeyCode(), 1, event.getCharacters().codePointAt(i) ); mGLView.nativeKey( event.getKeyCode(), 1, event.getCharacters().codePointAt(i) );
mGLView.nativeKey( event.getKeyCode(), 0, event.getCharacters().codePointAt(i) ); mGLView.nativeKey( event.getKeyCode(), 0, event.getCharacters().codePointAt(i) );
} }
@@ -727,6 +722,7 @@ public class MainActivity extends Activity
return true; return true;
//return super.dispatchKeyEvent(event); //return super.dispatchKeyEvent(event);
} }
*/
@Override @Override
public boolean onKeyDown(int keyCode, final KeyEvent event) public boolean onKeyDown(int keyCode, final KeyEvent event)
@@ -739,16 +735,6 @@ public class MainActivity extends Activity
if( mGLView.nativeKey( keyCode, 1, event.getUnicodeChar() ) == 0 ) if( mGLView.nativeKey( keyCode, 1, event.getUnicodeChar() ) == 0 )
return super.onKeyDown(keyCode, event); return super.onKeyDown(keyCode, event);
} }
/*
else
if( keyCode == KeyEvent.KEYCODE_BACK && downloader != null )
{
if( downloader.DownloadFailed )
System.exit(1);
if( !downloader.DownloadComplete )
onStop();
}
*/
else else
if( keyListener != null ) if( keyListener != null )
{ {
@@ -782,6 +768,22 @@ public class MainActivity extends Activity
return true; return true;
} }
@Override
public boolean onKeyMultiple(int keyCode, int repeatCount, final KeyEvent event)
{
// International text input
if( mGLView != null && event.getCharacters() != null )
{
for(int i = 0; i < event.getCharacters().length(); i++ )
{
mGLView.nativeKey( event.getKeyCode(), 1, event.getCharacters().codePointAt(i) );
mGLView.nativeKey( event.getKeyCode(), 0, event.getCharacters().codePointAt(i) );
}
return true;
}
return false;
}
@Override @Override
public boolean dispatchTouchEvent(final MotionEvent ev) public boolean dispatchTouchEvent(final MotionEvent ev)
{ {