diff --git a/shell/android/libs/com.bda.controller.jar b/shell/android/libs/com.bda.controller.jar index 7a708c092..f71dbece3 100644 Binary files a/shell/android/libs/com.bda.controller.jar and b/shell/android/libs/com.bda.controller.jar differ diff --git a/shell/android/src/com/reicast/emulator/FileBrowser.java b/shell/android/src/com/reicast/emulator/FileBrowser.java index cb5095ecb..d77d4c418 100644 --- a/shell/android/src/com/reicast/emulator/FileBrowser.java +++ b/shell/android/src/com/reicast/emulator/FileBrowser.java @@ -149,7 +149,7 @@ public class FileBrowser extends Fragment { * findViewById(R.id.about).setOnTouchListener(viblist); */ - File home = new File(home_directory); + File home = new File(mPrefs.getString(Config.pref_home, home_directory)); if (!home.exists() || !home.isDirectory()) { Toast.makeText(getActivity(), R.string.config_home, Toast.LENGTH_LONG).show(); diff --git a/shell/android/src/com/reicast/emulator/MainActivity.java b/shell/android/src/com/reicast/emulator/MainActivity.java index 68d9b7964..3b64076ee 100644 --- a/shell/android/src/com/reicast/emulator/MainActivity.java +++ b/shell/android/src/com/reicast/emulator/MainActivity.java @@ -6,6 +6,7 @@ import java.util.List; import android.annotation.SuppressLint; import android.app.AlertDialog; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; @@ -376,15 +377,19 @@ public class MainActivity extends SlidingFragmentActivity implements builder.show(); } - public static boolean isBiosExisting() { - File bios = new File(home_directory, "data/dc_boot.bin"); - return bios.exists(); - } + public static boolean isBiosExisting(Context context) { + SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(context); + home_directory = mPrefs.getString("home_directory", home_directory); + File bios = new File(home_directory, "data/dc_boot.bin"); + return bios.exists(); + } - public static boolean isFlashExisting() { - File flash = new File(home_directory, "data/dc_flash.bin"); - return flash.exists(); - } + public static boolean isFlashExisting(Context context) { + SharedPreferences mPrefs = PreferenceManager.getDefaultSharedPreferences(context); + home_directory = mPrefs.getString("home_directory", home_directory); + File flash = new File(home_directory, "data/dc_flash.bin"); + return flash.exists(); + } public void onGameSelected(Uri uri) { if (Config.readOutput("uname -a").equals(getString(R.string.error_kernel))) { @@ -392,9 +397,9 @@ public class MainActivity extends SlidingFragmentActivity implements Toast.LENGTH_SHORT).show(); } String msg = null; - if (!isBiosExisting()) + if (!isBiosExisting(MainActivity.this)) msg = getString(R.string.missing_bios, home_directory); - else if (!isFlashExisting()) + else if (!isFlashExisting(MainActivity.this)) msg = getString(R.string.missing_flash, home_directory); if (msg != null) { @@ -402,9 +407,9 @@ public class MainActivity extends SlidingFragmentActivity implements this); // set title - if (!isBiosExisting()) + if (!isBiosExisting(MainActivity.this)) alertDialogBuilder.setTitle(R.string.missing_bios_title); - else if (!isFlashExisting()) + else if (!isFlashExisting(MainActivity.this)) alertDialogBuilder.setTitle(R.string.missing_flash_title); // set dialog message diff --git a/shell/android/src/com/reicast/emulator/config/InputFragment.java b/shell/android/src/com/reicast/emulator/config/InputFragment.java index f2340963f..b133a63c2 100644 --- a/shell/android/src/com/reicast/emulator/config/InputFragment.java +++ b/shell/android/src/com/reicast/emulator/config/InputFragment.java @@ -102,7 +102,7 @@ public class InputFragment extends Fragment { } }); - if (!MainActivity.isBiosExisting() || !MainActivity.isFlashExisting()) + if (!MainActivity.isBiosExisting(parentActivity) || !MainActivity.isFlashExisting(parentActivity)) buttonLaunchEditor.setEnabled(false); final TextView duration = (TextView) getView().findViewById(R.id.vibDuration_current); diff --git a/shell/android/src/com/reicast/emulator/config/OptionsFragment.java b/shell/android/src/com/reicast/emulator/config/OptionsFragment.java index 8c3985152..fe88e74e3 100644 --- a/shell/android/src/com/reicast/emulator/config/OptionsFragment.java +++ b/shell/android/src/com/reicast/emulator/config/OptionsFragment.java @@ -33,6 +33,7 @@ import android.widget.TextView; import com.reicast.emulator.R; import com.reicast.emulator.emu.GL2JNIView; +import com.reicast.emulator.emu.JNIdc; import de.ankri.views.Switch; @@ -119,6 +120,7 @@ public class OptionsFragment extends Fragment { } mPrefs.edit().putString("home_directory", home_directory) .commit(); + JNIdc.config(home_directory); } }