diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java index e2b637ba4e..87ee2f8e2a 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java @@ -375,6 +375,18 @@ public final class EmulationActivity extends AppCompatActivity } } + @Override + public boolean onKeyLongPress(int keyCode, @NonNull KeyEvent event) + { + if (keyCode == KeyEvent.KEYCODE_BACK) + { + mEmulationFragment.stopEmulation(); + finish(); + return true; + } + return super.onKeyLongPress(keyCode, event); + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent result) { @@ -697,7 +709,7 @@ public final class EmulationActivity extends AppCompatActivity @Override public boolean dispatchKeyEvent(KeyEvent event) { - if (mMenuVisible) + if (mMenuVisible || event.getKeyCode() == KeyEvent.KEYCODE_BACK) { return super.dispatchKeyEvent(event); } @@ -707,14 +719,6 @@ public final class EmulationActivity extends AppCompatActivity switch (event.getAction()) { case KeyEvent.ACTION_DOWN: - // Handling the case where the back button is pressed. - if (event.getKeyCode() == KeyEvent.KEYCODE_BACK) - { - onBackPressed(); - return true; - } - - // Normal key events. action = NativeLibrary.ButtonState.PRESSED; break; case KeyEvent.ACTION_UP: diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index 230fd949ac..356bfc1a62 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -355,7 +355,7 @@ Relative Stick Center Rumble Choose Controller - Press Back to access the menu. + Press Back to access the menu.\nLong press Back to exit emulation. Reset Overlay Touch IR Pointer IR Sensitivity