mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	android: Setup screen hotfix
Added help button link for add games warning and a check for whether a task was completed on a given screen.
This commit is contained in:
		@@ -28,6 +28,9 @@ import org.yuzu.yuzu_emu.features.settings.model.Settings
 | 
			
		||||
import org.yuzu.yuzu_emu.model.HomeViewModel
 | 
			
		||||
import org.yuzu.yuzu_emu.model.SetupPage
 | 
			
		||||
import org.yuzu.yuzu_emu.ui.main.MainActivity
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
 | 
			
		||||
import org.yuzu.yuzu_emu.utils.GameHelper
 | 
			
		||||
import java.io.File
 | 
			
		||||
 | 
			
		||||
class SetupFragment : Fragment() {
 | 
			
		||||
    private var _binding: FragmentSetupBinding? = null
 | 
			
		||||
@@ -101,7 +104,8 @@ class SetupFragment : Fragment() {
 | 
			
		||||
                true,
 | 
			
		||||
                R.string.install_prod_keys_warning,
 | 
			
		||||
                R.string.install_prod_keys_warning_description,
 | 
			
		||||
                R.string.install_prod_keys_warning_help
 | 
			
		||||
                R.string.install_prod_keys_warning_help,
 | 
			
		||||
                { File(DirectoryInitialization.userDirectory + "/keys/prod.keys").exists() }
 | 
			
		||||
            ),
 | 
			
		||||
            SetupPage(
 | 
			
		||||
                R.drawable.ic_controller,
 | 
			
		||||
@@ -114,7 +118,12 @@ class SetupFragment : Fragment() {
 | 
			
		||||
                true,
 | 
			
		||||
                R.string.add_games_warning,
 | 
			
		||||
                R.string.add_games_warning_description,
 | 
			
		||||
                0
 | 
			
		||||
                R.string.add_games_warning_help,
 | 
			
		||||
                {
 | 
			
		||||
                    val preferences =
 | 
			
		||||
                        PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext)
 | 
			
		||||
                    preferences.getString(GameHelper.KEY_GAME_PATH, "")!!.isNotEmpty()
 | 
			
		||||
                }
 | 
			
		||||
            ),
 | 
			
		||||
            SetupPage(
 | 
			
		||||
                R.drawable.ic_check,
 | 
			
		||||
@@ -158,16 +167,25 @@ class SetupFragment : Fragment() {
 | 
			
		||||
        binding.buttonNext.setOnClickListener {
 | 
			
		||||
            val index = binding.viewPager2.currentItem
 | 
			
		||||
            val currentPage = pages[index]
 | 
			
		||||
            if (currentPage.hasWarning && !hasBeenWarned[index]) {
 | 
			
		||||
                SetupWarningDialogFragment.newInstance(
 | 
			
		||||
                    currentPage.warningTitleId,
 | 
			
		||||
                    currentPage.warningDescriptionId,
 | 
			
		||||
                    currentPage.warningHelpLinkId,
 | 
			
		||||
                    index
 | 
			
		||||
                ).show(childFragmentManager, SetupWarningDialogFragment.TAG)
 | 
			
		||||
            } else {
 | 
			
		||||
                pageForward()
 | 
			
		||||
 | 
			
		||||
            // Checks if the user has completed the task on the current page
 | 
			
		||||
            if (currentPage.hasWarning) {
 | 
			
		||||
                if (currentPage.taskCompleted.invoke()) {
 | 
			
		||||
                    pageForward()
 | 
			
		||||
                    return@setOnClickListener
 | 
			
		||||
                }
 | 
			
		||||
 | 
			
		||||
                if (!hasBeenWarned[index]) {
 | 
			
		||||
                    SetupWarningDialogFragment.newInstance(
 | 
			
		||||
                        currentPage.warningTitleId,
 | 
			
		||||
                        currentPage.warningDescriptionId,
 | 
			
		||||
                        currentPage.warningHelpLinkId,
 | 
			
		||||
                        index
 | 
			
		||||
                    ).show(childFragmentManager, SetupWarningDialogFragment.TAG)
 | 
			
		||||
                    return@setOnClickListener
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            pageForward()
 | 
			
		||||
        }
 | 
			
		||||
        binding.buttonBack.setOnClickListener { pageBackward() }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -14,5 +14,6 @@ data class SetupPage(
 | 
			
		||||
    val hasWarning: Boolean,
 | 
			
		||||
    val warningTitleId: Int = 0,
 | 
			
		||||
    val warningDescriptionId: Int = 0,
 | 
			
		||||
    val warningHelpLinkId: Int = 0
 | 
			
		||||
    val warningHelpLinkId: Int = 0,
 | 
			
		||||
    val taskCompleted: () -> Boolean = { true }
 | 
			
		||||
)
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,7 @@
 | 
			
		||||
    <string name="add_games_description">Select your games folder</string>
 | 
			
		||||
    <string name="add_games_warning">Skip selecting games folder?</string>
 | 
			
		||||
    <string name="add_games_warning_description">Games won\'t be displayed in the Games list if a folder isn\'t selected.</string>
 | 
			
		||||
    <string name="add_games_warning_help">https://yuzu-emu.org/help/quickstart/#dumping-games</string>
 | 
			
		||||
    <string name="home_search_games">Search Games</string>
 | 
			
		||||
    <string name="games_dir_selected">Games directory selected</string>
 | 
			
		||||
    <string name="install_prod_keys">Install Prod.keys</string>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user