diff options
Diffstat (limited to 'src')
5 files changed, 47 insertions, 98 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/HomeSettingAdapter.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/HomeSettingAdapter.kt index 9f859b442..8d87d3bd7 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/HomeSettingAdapter.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/HomeSettingAdapter.kt | |||
| @@ -45,8 +45,8 @@ class HomeSettingAdapter( | |||
| 45 | holder.option.onClick.invoke() | 45 | holder.option.onClick.invoke() |
| 46 | } else { | 46 | } else { |
| 47 | MessageDialogFragment.newInstance( | 47 | MessageDialogFragment.newInstance( |
| 48 | holder.option.disabledTitleId, | 48 | titleId = holder.option.disabledTitleId, |
| 49 | holder.option.disabledMessageId | 49 | descriptionId = holder.option.disabledMessageId |
| 50 | ).show(activity.supportFragmentManager, MessageDialogFragment.TAG) | 50 | ).show(activity.supportFragmentManager, MessageDialogFragment.TAG) |
| 51 | } | 51 | } |
| 52 | } | 52 | } |
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt index e1495ee8c..f38aeea53 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt | |||
| @@ -187,8 +187,8 @@ class ImportExportSavesFragment : DialogFragment() { | |||
| 187 | withContext(Dispatchers.Main) { | 187 | withContext(Dispatchers.Main) { |
| 188 | if (!validZip) { | 188 | if (!validZip) { |
| 189 | MessageDialogFragment.newInstance( | 189 | MessageDialogFragment.newInstance( |
| 190 | R.string.save_file_invalid_zip_structure, | 190 | titleId = R.string.save_file_invalid_zip_structure, |
| 191 | R.string.save_file_invalid_zip_structure_description | 191 | descriptionId = R.string.save_file_invalid_zip_structure_description |
| 192 | ).show(activity.supportFragmentManager, MessageDialogFragment.TAG) | 192 | ).show(activity.supportFragmentManager, MessageDialogFragment.TAG) |
| 193 | return@withContext | 193 | return@withContext |
| 194 | } | 194 | } |
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/LongMessageDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/LongMessageDialogFragment.kt deleted file mode 100644 index b29b627e9..000000000 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/LongMessageDialogFragment.kt +++ /dev/null | |||
| @@ -1,62 +0,0 @@ | |||
| 1 | // SPDX-FileCopyrightText: 2023 yuzu Emulator Project | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | package org.yuzu.yuzu_emu.fragments | ||
| 5 | |||
| 6 | import android.app.Dialog | ||
| 7 | import android.content.Intent | ||
| 8 | import android.net.Uri | ||
| 9 | import android.os.Bundle | ||
| 10 | import androidx.fragment.app.DialogFragment | ||
| 11 | import com.google.android.material.dialog.MaterialAlertDialogBuilder | ||
| 12 | import org.yuzu.yuzu_emu.R | ||
| 13 | |||
| 14 | class LongMessageDialogFragment : DialogFragment() { | ||
| 15 | override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { | ||
| 16 | val titleId = requireArguments().getInt(TITLE) | ||
| 17 | val description = requireArguments().getString(DESCRIPTION) | ||
| 18 | val helpLinkId = requireArguments().getInt(HELP_LINK) | ||
| 19 | |||
| 20 | val dialog = MaterialAlertDialogBuilder(requireContext()) | ||
| 21 | .setPositiveButton(R.string.close, null) | ||
| 22 | .setTitle(titleId) | ||
| 23 | .setMessage(description) | ||
| 24 | |||
| 25 | if (helpLinkId != 0) { | ||
| 26 | dialog.setNeutralButton(R.string.learn_more) { _, _ -> | ||
| 27 | openLink(getString(helpLinkId)) | ||
| 28 | } | ||
| 29 | } | ||
| 30 | |||
| 31 | return dialog.show() | ||
| 32 | } | ||
| 33 | |||
| 34 | private fun openLink(link: String) { | ||
| 35 | val intent = Intent(Intent.ACTION_VIEW, Uri.parse(link)) | ||
| 36 | startActivity(intent) | ||
| 37 | } | ||
| 38 | |||
| 39 | companion object { | ||
| 40 | const val TAG = "LongMessageDialogFragment" | ||
| 41 | |||
| 42 | private const val TITLE = "Title" | ||
| 43 | private const val DESCRIPTION = "Description" | ||
| 44 | private const val HELP_LINK = "Link" | ||
| 45 | |||
| 46 | fun newInstance( | ||
| 47 | titleId: Int, | ||
| 48 | description: String, | ||
| 49 | helpLinkId: Int = 0 | ||
| 50 | ): LongMessageDialogFragment { | ||
| 51 | val dialog = LongMessageDialogFragment() | ||
| 52 | val bundle = Bundle() | ||
| 53 | bundle.apply { | ||
| 54 | putInt(TITLE, titleId) | ||
| 55 | putString(DESCRIPTION, description) | ||
| 56 | putInt(HELP_LINK, helpLinkId) | ||
| 57 | } | ||
| 58 | dialog.arguments = bundle | ||
| 59 | return dialog | ||
| 60 | } | ||
| 61 | } | ||
| 62 | } | ||
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt index 2db38fdc2..7d1c2c8dd 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt | |||
| @@ -13,14 +13,20 @@ import org.yuzu.yuzu_emu.R | |||
| 13 | 13 | ||
| 14 | class MessageDialogFragment : DialogFragment() { | 14 | class MessageDialogFragment : DialogFragment() { |
| 15 | override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { | 15 | override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { |
| 16 | val titleId = requireArguments().getInt(TITLE) | 16 | val titleId = requireArguments().getInt(TITLE_ID) |
| 17 | val descriptionId = requireArguments().getInt(DESCRIPTION) | 17 | val titleString = requireArguments().getString(TITLE_STRING)!! |
| 18 | val descriptionId = requireArguments().getInt(DESCRIPTION_ID) | ||
| 19 | val descriptionString = requireArguments().getString(DESCRIPTION_STRING)!! | ||
| 18 | val helpLinkId = requireArguments().getInt(HELP_LINK) | 20 | val helpLinkId = requireArguments().getInt(HELP_LINK) |
| 19 | 21 | ||
| 20 | val dialog = MaterialAlertDialogBuilder(requireContext()) | 22 | val dialog = MaterialAlertDialogBuilder(requireContext()) |
| 21 | .setPositiveButton(R.string.close, null) | 23 | .setPositiveButton(R.string.close, null) |
| 22 | .setTitle(titleId) | 24 | |
| 23 | .setMessage(descriptionId) | 25 | if (titleId != 0) dialog.setTitle(titleId) |
| 26 | if (titleString.isNotEmpty()) dialog.setTitle(titleString) | ||
| 27 | |||
| 28 | if (descriptionId != 0) dialog.setMessage(descriptionId) | ||
| 29 | if (descriptionString.isNotEmpty()) dialog.setMessage(descriptionString) | ||
| 24 | 30 | ||
| 25 | if (helpLinkId != 0) { | 31 | if (helpLinkId != 0) { |
| 26 | dialog.setNeutralButton(R.string.learn_more) { _, _ -> | 32 | dialog.setNeutralButton(R.string.learn_more) { _, _ -> |
| @@ -39,20 +45,26 @@ class MessageDialogFragment : DialogFragment() { | |||
| 39 | companion object { | 45 | companion object { |
| 40 | const val TAG = "MessageDialogFragment" | 46 | const val TAG = "MessageDialogFragment" |
| 41 | 47 | ||
| 42 | private const val TITLE = "Title" | 48 | private const val TITLE_ID = "Title" |
| 43 | private const val DESCRIPTION = "Description" | 49 | private const val TITLE_STRING = "TitleString" |
| 50 | private const val DESCRIPTION_ID = "DescriptionId" | ||
| 51 | private const val DESCRIPTION_STRING = "DescriptionString" | ||
| 44 | private const val HELP_LINK = "Link" | 52 | private const val HELP_LINK = "Link" |
| 45 | 53 | ||
| 46 | fun newInstance( | 54 | fun newInstance( |
| 47 | titleId: Int, | 55 | titleId: Int = 0, |
| 48 | descriptionId: Int, | 56 | titleString: String = "", |
| 57 | descriptionId: Int = 0, | ||
| 58 | descriptionString: String = "", | ||
| 49 | helpLinkId: Int = 0 | 59 | helpLinkId: Int = 0 |
| 50 | ): MessageDialogFragment { | 60 | ): MessageDialogFragment { |
| 51 | val dialog = MessageDialogFragment() | 61 | val dialog = MessageDialogFragment() |
| 52 | val bundle = Bundle() | 62 | val bundle = Bundle() |
| 53 | bundle.apply { | 63 | bundle.apply { |
| 54 | putInt(TITLE, titleId) | 64 | putInt(TITLE_ID, titleId) |
| 55 | putInt(DESCRIPTION, descriptionId) | 65 | putString(TITLE_STRING, titleString) |
| 66 | putInt(DESCRIPTION_ID, descriptionId) | ||
| 67 | putString(DESCRIPTION_STRING, descriptionString) | ||
| 56 | putInt(HELP_LINK, helpLinkId) | 68 | putInt(HELP_LINK, helpLinkId) |
| 57 | } | 69 | } |
| 58 | dialog.arguments = bundle | 70 | dialog.arguments = bundle |
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt index 7735452e5..0721a5935 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt | |||
| @@ -42,7 +42,6 @@ import org.yuzu.yuzu_emu.databinding.DialogProgressBarBinding | |||
| 42 | import org.yuzu.yuzu_emu.features.settings.model.Settings | 42 | import org.yuzu.yuzu_emu.features.settings.model.Settings |
| 43 | import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile | 43 | import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile |
| 44 | import org.yuzu.yuzu_emu.fragments.IndeterminateProgressDialogFragment | 44 | import org.yuzu.yuzu_emu.fragments.IndeterminateProgressDialogFragment |
| 45 | import org.yuzu.yuzu_emu.fragments.LongMessageDialogFragment | ||
| 46 | import org.yuzu.yuzu_emu.fragments.MessageDialogFragment | 45 | import org.yuzu.yuzu_emu.fragments.MessageDialogFragment |
| 47 | import org.yuzu.yuzu_emu.model.GamesViewModel | 46 | import org.yuzu.yuzu_emu.model.GamesViewModel |
| 48 | import org.yuzu.yuzu_emu.model.HomeViewModel | 47 | import org.yuzu.yuzu_emu.model.HomeViewModel |
| @@ -301,8 +300,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | |||
| 301 | fun processKey(result: Uri): Boolean { | 300 | fun processKey(result: Uri): Boolean { |
| 302 | if (FileUtil.getExtension(result) != "keys") { | 301 | if (FileUtil.getExtension(result) != "keys") { |
| 303 | MessageDialogFragment.newInstance( | 302 | MessageDialogFragment.newInstance( |
| 304 | R.string.reading_keys_failure, | 303 | titleId = R.string.reading_keys_failure, |
| 305 | R.string.install_prod_keys_failure_extension_description | 304 | descriptionId = R.string.install_prod_keys_failure_extension_description |
| 306 | ).show(supportFragmentManager, MessageDialogFragment.TAG) | 305 | ).show(supportFragmentManager, MessageDialogFragment.TAG) |
| 307 | return false | 306 | return false |
| 308 | } | 307 | } |
| @@ -330,9 +329,9 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | |||
| 330 | return true | 329 | return true |
| 331 | } else { | 330 | } else { |
| 332 | MessageDialogFragment.newInstance( | 331 | MessageDialogFragment.newInstance( |
| 333 | R.string.invalid_keys_error, | 332 | titleId = R.string.invalid_keys_error, |
| 334 | R.string.install_keys_failure_description, | 333 | descriptionId = R.string.install_keys_failure_description, |
| 335 | R.string.dumping_keys_quickstart_link | 334 | helpLinkId = R.string.dumping_keys_quickstart_link |
| 336 | ).show(supportFragmentManager, MessageDialogFragment.TAG) | 335 | ).show(supportFragmentManager, MessageDialogFragment.TAG) |
| 337 | return false | 336 | return false |
| 338 | } | 337 | } |
| @@ -370,8 +369,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | |||
| 370 | val filteredNumOfFiles = cacheFirmwareDir.list(filterNCA)?.size ?: -2 | 369 | val filteredNumOfFiles = cacheFirmwareDir.list(filterNCA)?.size ?: -2 |
| 371 | messageToShow = if (unfilteredNumOfFiles != filteredNumOfFiles) { | 370 | messageToShow = if (unfilteredNumOfFiles != filteredNumOfFiles) { |
| 372 | MessageDialogFragment.newInstance( | 371 | MessageDialogFragment.newInstance( |
| 373 | R.string.firmware_installed_failure, | 372 | titleId = R.string.firmware_installed_failure, |
| 374 | R.string.firmware_installed_failure_description | 373 | descriptionId = R.string.firmware_installed_failure_description |
| 375 | ) | 374 | ) |
| 376 | } else { | 375 | } else { |
| 377 | firmwarePath.deleteRecursively() | 376 | firmwarePath.deleteRecursively() |
| @@ -401,8 +400,8 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | |||
| 401 | 400 | ||
| 402 | if (FileUtil.getExtension(result) != "bin") { | 401 | if (FileUtil.getExtension(result) != "bin") { |
| 403 | MessageDialogFragment.newInstance( | 402 | MessageDialogFragment.newInstance( |
| 404 | R.string.reading_keys_failure, | 403 | titleId = R.string.reading_keys_failure, |
| 405 | R.string.install_amiibo_keys_failure_extension_description | 404 | descriptionId = R.string.install_amiibo_keys_failure_extension_description |
| 406 | ).show(supportFragmentManager, MessageDialogFragment.TAG) | 405 | ).show(supportFragmentManager, MessageDialogFragment.TAG) |
| 407 | return@registerForActivityResult | 406 | return@registerForActivityResult |
| 408 | } | 407 | } |
| @@ -428,9 +427,9 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | |||
| 428 | ).show() | 427 | ).show() |
| 429 | } else { | 428 | } else { |
| 430 | MessageDialogFragment.newInstance( | 429 | MessageDialogFragment.newInstance( |
| 431 | R.string.invalid_keys_error, | 430 | titleId = R.string.invalid_keys_error, |
| 432 | R.string.install_keys_failure_description, | 431 | descriptionId = R.string.install_keys_failure_description, |
| 433 | R.string.dumping_keys_quickstart_link | 432 | helpLinkId = R.string.dumping_keys_quickstart_link |
| 434 | ).show(supportFragmentManager, MessageDialogFragment.TAG) | 433 | ).show(supportFragmentManager, MessageDialogFragment.TAG) |
| 435 | } | 434 | } |
| 436 | } | 435 | } |
| @@ -578,16 +577,16 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | |||
| 578 | ) | 577 | ) |
| 579 | installResult.append(separator) | 578 | installResult.append(separator) |
| 580 | } | 579 | } |
| 581 | LongMessageDialogFragment.newInstance( | 580 | MessageDialogFragment.newInstance( |
| 582 | R.string.install_game_content_failure, | 581 | titleId = R.string.install_game_content_failure, |
| 583 | installResult.toString().trim(), | 582 | descriptionString = installResult.toString().trim(), |
| 584 | R.string.install_game_content_help_link | 583 | helpLinkId = R.string.install_game_content_help_link |
| 585 | ).show(supportFragmentManager, LongMessageDialogFragment.TAG) | 584 | ).show(supportFragmentManager, MessageDialogFragment.TAG) |
| 586 | } else { | 585 | } else { |
| 587 | LongMessageDialogFragment.newInstance( | 586 | MessageDialogFragment.newInstance( |
| 588 | R.string.install_game_content_success, | 587 | titleId = R.string.install_game_content_success, |
| 589 | installResult.toString().trim() | 588 | descriptionString = installResult.toString().trim() |
| 590 | ).show(supportFragmentManager, LongMessageDialogFragment.TAG) | 589 | ).show(supportFragmentManager, MessageDialogFragment.TAG) |
| 591 | } | 590 | } |
| 592 | } | 591 | } |
| 593 | } | 592 | } |