summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/adapters/HomeSettingAdapter.kt4
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt4
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/LongMessageDialogFragment.kt62
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/MessageDialogFragment.kt32
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/ui/main/MainActivity.kt43
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
4package org.yuzu.yuzu_emu.fragments
5
6import android.app.Dialog
7import android.content.Intent
8import android.net.Uri
9import android.os.Bundle
10import androidx.fragment.app.DialogFragment
11import com.google.android.material.dialog.MaterialAlertDialogBuilder
12import org.yuzu.yuzu_emu.R
13
14class 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
14class MessageDialogFragment : DialogFragment() { 14class 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
42import org.yuzu.yuzu_emu.features.settings.model.Settings 42import org.yuzu.yuzu_emu.features.settings.model.Settings
43import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile 43import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile
44import org.yuzu.yuzu_emu.fragments.IndeterminateProgressDialogFragment 44import org.yuzu.yuzu_emu.fragments.IndeterminateProgressDialogFragment
45import org.yuzu.yuzu_emu.fragments.LongMessageDialogFragment
46import org.yuzu.yuzu_emu.fragments.MessageDialogFragment 45import org.yuzu.yuzu_emu.fragments.MessageDialogFragment
47import org.yuzu.yuzu_emu.model.GamesViewModel 46import org.yuzu.yuzu_emu.model.GamesViewModel
48import org.yuzu.yuzu_emu.model.HomeViewModel 47import 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 }