diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt index 3dc0015349..41f2da08a7 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/SetupFragment.kt @@ -34,6 +34,7 @@ import org.yuzu.yuzu_emu.adapters.SetupAdapter import org.yuzu.yuzu_emu.databinding.FragmentSetupBinding import org.yuzu.yuzu_emu.features.settings.model.Settings import org.yuzu.yuzu_emu.model.ButtonState +import org.yuzu.yuzu_emu.model.GamesViewModel import org.yuzu.yuzu_emu.model.HomeViewModel import org.yuzu.yuzu_emu.model.PageButton import org.yuzu.yuzu_emu.model.SetupCallback @@ -51,6 +52,7 @@ class SetupFragment : Fragment() { private val binding get() = _binding!! private val homeViewModel: HomeViewModel by activityViewModels() + private val gamesViewModel: GamesViewModel by activityViewModels() private lateinit var mainActivity: MainActivity @@ -284,13 +286,19 @@ class SetupFragment : Fragment() { override fun onPageSelected(position: Int) { super.onPageSelected(position) - if (position == 1 && previousPosition == 0) { - ViewUtils.showView(binding.buttonNext) - ViewUtils.showView(binding.buttonBack) - } else if (position == 0 && previousPosition == 1) { + val isFirstPage = position == 0 + val isLastPage = position == pages.size - 1 + + if (isFirstPage) { ViewUtils.hideView(binding.buttonBack) - } else if (position == pages.size - 1 && previousPosition == pages.size - 2) { + } else { + ViewUtils.showView(binding.buttonBack) + } + + if (isLastPage) { ViewUtils.hideView(binding.buttonNext) + } else { + ViewUtils.showView(binding.buttonNext) } previousPosition = position @@ -450,6 +458,9 @@ class SetupFragment : Fragment() { .edit() .putBoolean(Settings.PREF_FIRST_APP_LAUNCH, false) .apply() + + gamesViewModel.reloadGames(directoriesChanged = true, firstStartup = false) + mainActivity.finishSetup(binding.root.findNavController()) } diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt index 72ce006a7e..fa816ad7ac 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/model/GamesViewModel.kt @@ -145,7 +145,10 @@ class GamesViewModel : ViewModel() { viewModelScope.launch { withContext(Dispatchers.IO) { NativeConfig.addGameDir(gameDir) - getGameDirs(true) + val isFirstTimeSetup = PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext) + .getBoolean(org.yuzu.yuzu_emu.features.settings.model.Settings.PREF_FIRST_APP_LAUNCH, true) + + getGameDirs(!isFirstTimeSetup) } if (savedFromGameFragment) {