diff --git a/android/src/io/anuke/mindustry/AndroidLauncher.java b/android/src/io/anuke/mindustry/AndroidLauncher.java index e146ebdfd6..5e11b07a84 100644 --- a/android/src/io/anuke/mindustry/AndroidLauncher.java +++ b/android/src/io/anuke/mindustry/AndroidLauncher.java @@ -52,6 +52,13 @@ public class AndroidLauncher extends AndroidApplication{ config.depth = 0; Platform.instance = new Platform(){ + @Override + public void hide(){ + ui.showConfirm("$confirm", "$quit.confirm", () -> { + AndroidLauncher.this.moveTaskToBack(true); + }); + } + @Override public void openDonations(){ showDonations(); diff --git a/core/src/io/anuke/mindustry/core/Control.java b/core/src/io/anuke/mindustry/core/Control.java index b29c912173..5b33da64b4 100644 --- a/core/src/io/anuke/mindustry/core/Control.java +++ b/core/src/io/anuke/mindustry/core/Control.java @@ -310,6 +310,10 @@ public class Control implements ApplicationListener{ if(!state.isPaused()){ Time.update(); } + + if(!scene.hasDialog() && Core.input.keyTap(KeyCode.BACK)){ + Platform.instance.hide(); + } } } } diff --git a/core/src/io/anuke/mindustry/core/Platform.java b/core/src/io/anuke/mindustry/core/Platform.java index 4e7591f323..1c043aea95 100644 --- a/core/src/io/anuke/mindustry/core/Platform.java +++ b/core/src/io/anuke/mindustry/core/Platform.java @@ -69,6 +69,9 @@ public abstract class Platform { */ public void showFileChooser(String text, String content, Consumer cons, boolean open, String filetype){} + /**Hide the app. Android only.*/ + public void hide(){} + /**Forces the app into landscape mode. Currently Android only.*/ public void beginForceLandscape(){}