diff --git a/forge-gui-android/src/forge/app/Main.java b/forge-gui-android/src/forge/app/Main.java index 333a44f1942..66a18411e3e 100644 --- a/forge-gui-android/src/forge/app/Main.java +++ b/forge-gui-android/src/forge/app/Main.java @@ -35,6 +35,12 @@ public class Main extends AndroidApplication { return; } - initialize(Forge.getApp(getClipboard(), assetsDir), true); + initialize(Forge.getApp(getClipboard(), assetsDir, new Runnable() { + @Override + public void run() { + //ensure process doesn't stick around after exiting + android.os.Process.killProcess(android.os.Process.myPid()); + } + }), true); } } diff --git a/forge-gui-mobile-dev/src/forge/app/Main.java b/forge-gui-mobile-dev/src/forge/app/Main.java index c202b7282c8..569663caac1 100644 --- a/forge-gui-mobile-dev/src/forge/app/Main.java +++ b/forge-gui-mobile-dev/src/forge/app/Main.java @@ -8,6 +8,7 @@ import forge.util.Utils; public class Main { public static void main(String[] args) { - new LwjglApplication(Forge.getApp(new LwjglClipboard(), "../forge-gui/"), "Forge", (int)Utils.BASE_WIDTH, (int)Utils.BASE_HEIGHT, true); + new LwjglApplication(Forge.getApp(new LwjglClipboard(), "../forge-gui/", null), + "Forge", (int)Utils.BASE_WIDTH, (int)Utils.BASE_HEIGHT, true); } } diff --git a/forge-gui-mobile/src/forge/Forge.java b/forge-gui-mobile/src/forge/Forge.java index 14147778145..26860490874 100644 --- a/forge-gui-mobile/src/forge/Forge.java +++ b/forge-gui-mobile/src/forge/Forge.java @@ -38,6 +38,7 @@ public class Forge implements ApplicationListener { private static final ApplicationListener app = new Forge(); private static Clipboard clipboard; + private static Runnable onExit; private static int screenWidth; private static int screenHeight; private static Graphics graphics; @@ -46,9 +47,10 @@ public class Forge implements ApplicationListener { private static KeyInputAdapter keyInputAdapter; private static final Stack screens = new Stack(); - public static ApplicationListener getApp(Clipboard clipboard0, String assetDir0) { + public static ApplicationListener getApp(Clipboard clipboard0, String assetDir0, Runnable onExit0) { if (GuiBase.getInterface() == null) { clipboard = clipboard0; + onExit = onExit0; GuiBase.setInterface(new GuiMobile(assetDir0)); } return app; @@ -259,7 +261,10 @@ public class Forge implements ApplicationListener { } screens.clear(); graphics.dispose(); - System.exit(0); + + if (onExit != null) { + onExit.run(); + } } //log message to Forge.log file