diff options
| author | JosJuice <josjuice@gmail.com> | 2024-02-11 11:15:18 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2024-02-11 11:15:18 +0100 |
| commit | 06964a921d32965f1434896b50fd7ed936092ea1 (patch) | |
| tree | 3d8adbdf75d77fcea57431f8736a772b59c25254 /Source/Android/app/src/main/java | |
| parent | 48ae52976241e446b3ed7ad77bba7914005dd1df (diff) | |
Android: Don't check Wii Menu version before directory initialization
Fixes a crash.
Diffstat (limited to 'Source/Android/app/src/main/java')
| -rw-r--r-- | Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.kt | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.kt index 5e601dfe2f..7f43d3094f 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/main/MainActivity.kt @@ -47,6 +47,8 @@ class MainActivity : AppCompatActivity(), MainView, OnRefreshListener, ThemeProv private lateinit var binding: ActivityMainBinding + private lateinit var menu: Menu + override fun onCreate(savedInstanceState: Bundle?) { installSplashScreen().setKeepOnScreenCondition { !DirectoryInitialization.areDolphinDirectoriesReady() } @@ -121,15 +123,22 @@ class MainActivity : AppCompatActivity(), MainView, OnRefreshListener, ThemeProv override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.menu_game_grid, menu) + this.menu = menu return true } override fun onPrepareOptionsMenu(menu: Menu): Boolean { - if (WiiUtils.isSystemMenuInstalled()) { - val resId = - if (WiiUtils.isSystemMenuvWii()) R.string.grid_menu_load_vwii_system_menu_installed else R.string.grid_menu_load_wii_system_menu_installed - menu.findItem(R.id.menu_load_wii_system_menu).title = - getString(resId, WiiUtils.getSystemMenuVersion()) + AfterDirectoryInitializationRunner().runWithLifecycle(this) { + if (WiiUtils.isSystemMenuInstalled()) { + val resId = + if (WiiUtils.isSystemMenuvWii()) R.string.grid_menu_load_vwii_system_menu_installed else R.string.grid_menu_load_wii_system_menu_installed + + // If this callback ends up running after another call to onCreateOptionsMenu, + // we need to use the new Menu passed to the latest call of onCreateOptionsMenu. + // Therefore, we use a field here instead of the onPrepareOptionsMenu argument. + this.menu.findItem(R.id.menu_load_wii_system_menu).title = + getString(resId, WiiUtils.getSystemMenuVersion()) + } } return super.onPrepareOptionsMenu(menu) } |
