export onBackPress for Android Module

This commit is contained in:
Ramesh Ravone 2017-10-15 10:35:13 +05:30
parent ba9486a4d3
commit 55784b0c38
No known key found for this signature in database
GPG key ID: 90B471D9AC10312A
2 changed files with 10 additions and 8 deletions

View file

@ -191,6 +191,7 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
protected void onMainPause() {}
protected void onMainResume() {}
protected void onMainDestroy() {}
protected boolean onMainBackPressed() { return false; }
protected void onGLDrawFrame(GL10 gl) {}
protected void onGLSurfaceChanged(GL10 gl, int width, int height) {} // singletons will always miss first onGLSurfaceChanged call
@ -767,9 +768,16 @@ public class Godot extends Activity implements SensorEventListener, IDownloaderC
*/
@Override public void onBackPressed() {
boolean shouldQuit = true;
for(int i=0;i<singleton_count;i++) {
if (singletons[i].onMainBackPressed()) {
shouldQuit = false;
}
}
System.out.printf("** BACK REQUEST!\n");
if (mView != null) {
if (shouldQuit && mView != null) {
mView.queueEvent(new Runnable() {
@Override
public void run() {

View file

@ -285,13 +285,7 @@ public class GodotView extends GLSurfaceView implements InputDeviceListener {
@Override public boolean onKeyDown(final int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
queueEvent(new Runnable() {
@Override
public void run() {
GodotLib.back();
}
});
activity.onBackPressed();
// press 'back' button should not terminate program
//normal handle 'back' event in game logic
return true;