summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2022-04-16 15:04:29 +0200
committerJosJuice <josjuice@gmail.com>2022-04-16 15:04:29 +0200
commit342af6512cd15728c44ea1bf5decbdf20cc96ab7 (patch)
tree105eca167d48c501e036e6f13344af8583c59160 /Source
parentc5c4169bc80381d22ca7d8ca3634370ea9b46a31 (diff)
Android: Use AfterDirectoryInitializationRunner more comprehensively
Should fix the crash reported in https://bugs.dolphin-emu.org/issues/12885
Diffstat (limited to 'Source')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java21
1 files changed, 13 insertions, 8 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java
index ecc69fbaf1..52423c3da4 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainPresenter.java
@@ -26,6 +26,7 @@ import org.dolphinemu.dolphinemu.utils.AfterDirectoryInitializationRunner;
import org.dolphinemu.dolphinemu.utils.BooleanSupplier;
import org.dolphinemu.dolphinemu.utils.CompletableFuture;
import org.dolphinemu.dolphinemu.utils.ContentHandler;
+import org.dolphinemu.dolphinemu.utils.DirectoryInitialization;
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper;
import org.dolphinemu.dolphinemu.utils.ThreadUtil;
import org.dolphinemu.dolphinemu.utils.WiiUtils;
@@ -92,7 +93,8 @@ public final class MainPresenter
return true;
case R.id.button_add_directory:
- mView.launchFileListActivity();
+ new AfterDirectoryInitializationRunner().runWithLifecycle(activity, true,
+ mView::launchFileListActivity);
return true;
case R.id.menu_open_file:
@@ -104,7 +106,8 @@ public final class MainPresenter
return true;
case R.id.menu_online_system_update:
- launchOnlineUpdate();
+ new AfterDirectoryInitializationRunner().runWithLifecycle(activity, true,
+ this::launchOnlineUpdate);
return true;
case R.id.menu_install_wad:
@@ -310,18 +313,20 @@ public final class MainPresenter
private void launchWiiSystemMenu()
{
- WiiUtils.isSystemMenuInstalled();
-
if (WiiUtils.isSystemMenuInstalled())
{
EmulationActivity.launchSystemMenu(mActivity);
}
else
{
- SystemMenuNotInstalledDialogFragment dialogFragment =
- new SystemMenuNotInstalledDialogFragment();
- dialogFragment
- .show(mActivity.getSupportFragmentManager(), "SystemMenuNotInstalledDialogFragment");
+ new AfterDirectoryInitializationRunner().runWithLifecycle(mActivity, true, () ->
+ {
+ SystemMenuNotInstalledDialogFragment dialogFragment =
+ new SystemMenuNotInstalledDialogFragment();
+ dialogFragment
+ .show(mActivity.getSupportFragmentManager(),
+ "SystemMenuNotInstalledDialogFragment");
+ });
}
}
}