From 5485f2f16e2d4efcb1d2287cf18bb3e6ce1888b9 Mon Sep 17 00:00:00 2001 From: TwistedUmbrella Date: Wed, 12 Feb 2014 19:42:44 -0500 Subject: [PATCH] Handle irrational decision to run screaming from file listing --- .../com/reicast/emulator/MainActivity.java | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/shell/android/src/com/reicast/emulator/MainActivity.java b/shell/android/src/com/reicast/emulator/MainActivity.java index ccce25311..7a35d4b06 100644 --- a/shell/android/src/com/reicast/emulator/MainActivity.java +++ b/shell/android/src/com/reicast/emulator/MainActivity.java @@ -416,20 +416,19 @@ public class MainActivity extends SlidingFragmentActivity implements Fragment fragment = (FileBrowser) getSupportFragmentManager() .findFragmentByTag("MAIN_BROWSER"); if (fragment != null && fragment.isVisible()) { - MainActivity.this.finish(); + boolean readyToQuit = true; + if (fragment.getArguments() != null) { + readyToQuit = fragment.getArguments().getBoolean( + "ImgBrowse", true); + } + if (readyToQuit) { + MainActivity.this.finish(); + } else { + launchMainFragment(fragment); + } return true; } else { - fragment = new FileBrowser(); - Bundle args = new Bundle(); - args.putBoolean("ImgBrowse", true); - args.putString("browse_entry", null); - args.putBoolean("games_entry", false); - fragment.setArguments(args); - getSupportFragmentManager() - .beginTransaction() - .replace(R.id.fragment_container, fragment, - "MAIN_BROWSER").commit(); - setTitle(getString(R.string.browser)); + launchMainFragment(fragment); return true; } @@ -437,6 +436,20 @@ public class MainActivity extends SlidingFragmentActivity implements return super.onKeyDown(keyCode, event); } + + private void launchMainFragment(Fragment fragment) { + fragment = new FileBrowser(); + Bundle args = new Bundle(); + args.putBoolean("ImgBrowse", true); + args.putString("browse_entry", null); + args.putBoolean("games_entry", false); + fragment.setArguments(args); + getSupportFragmentManager() + .beginTransaction() + .replace(R.id.fragment_container, fragment, + "MAIN_BROWSER").commit(); + setTitle(getString(R.string.browser)); + } @Override protected void onPause() {