diff options
6 files changed, 118 insertions, 174 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/IndeterminateProgressDialogFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/IndeterminateProgressDialogFragment.kt index 739b26f99..181bd983a 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/IndeterminateProgressDialogFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/IndeterminateProgressDialogFragment.kt | |||
| @@ -34,7 +34,7 @@ class IndeterminateProgressDialogFragment : DialogFragment() { | |||
| 34 | when (val result = taskViewModel.result.value) { | 34 | when (val result = taskViewModel.result.value) { |
| 35 | is String -> Toast.makeText(requireContext(), result, Toast.LENGTH_LONG).show() | 35 | is String -> Toast.makeText(requireContext(), result, Toast.LENGTH_LONG).show() |
| 36 | is MessageDialogFragment -> result.show( | 36 | is MessageDialogFragment -> result.show( |
| 37 | parentFragmentManager, | 37 | requireActivity().supportFragmentManager, |
| 38 | MessageDialogFragment.TAG | 38 | MessageDialogFragment.TAG |
| 39 | ) | 39 | ) |
| 40 | } | 40 | } |
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..7d8e06ad8 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 | } |
| @@ -502,96 +501,91 @@ class MainActivity : AppCompatActivity(), ThemeProvider { | |||
| 502 | var errorBaseGame = 0 | 501 | var errorBaseGame = 0 |
| 503 | var errorExtension = 0 | 502 | var errorExtension = 0 |
| 504 | var errorOther = 0 | 503 | var errorOther = 0 |
| 505 | var errorTotal = 0 | 504 | documents.forEach { |
| 506 | lifecycleScope.launch { | 505 | when (NativeLibrary.installFileToNand(it.toString())) { |
| 507 | documents.forEach { | 506 | NativeLibrary.InstallFileToNandResult.Success -> { |
| 508 | when (NativeLibrary.installFileToNand(it.toString())) { | 507 | installSuccess += 1 |
| 509 | NativeLibrary.InstallFileToNandResult.Success -> { | ||
| 510 | installSuccess += 1 | ||
| 511 | } | ||
| 512 | |||
| 513 | NativeLibrary.InstallFileToNandResult.SuccessFileOverwritten -> { | ||
| 514 | installOverwrite += 1 | ||
| 515 | } | ||
| 516 | |||
| 517 | NativeLibrary.InstallFileToNandResult.ErrorBaseGame -> { | ||
| 518 | errorBaseGame += 1 | ||
| 519 | } | ||
| 520 | |||
| 521 | NativeLibrary.InstallFileToNandResult.ErrorFilenameExtension -> { | ||
| 522 | errorExtension += 1 | ||
| 523 | } | ||
| 524 | |||
| 525 | else -> { | ||
| 526 | errorOther += 1 | ||
| 527 | } | ||
| 528 | } | 508 | } |
| 529 | } | 509 | |
| 530 | withContext(Dispatchers.Main) { | 510 | NativeLibrary.InstallFileToNandResult.SuccessFileOverwritten -> { |
| 531 | val separator = System.getProperty("line.separator") ?: "\n" | 511 | installOverwrite += 1 |
| 532 | val installResult = StringBuilder() | ||
| 533 | if (installSuccess > 0) { | ||
| 534 | installResult.append( | ||
| 535 | getString( | ||
| 536 | R.string.install_game_content_success_install, | ||
| 537 | installSuccess | ||
| 538 | ) | ||
| 539 | ) | ||
| 540 | installResult.append(separator) | ||
| 541 | } | 512 | } |
| 542 | if (installOverwrite > 0) { | 513 | |
| 543 | installResult.append( | 514 | NativeLibrary.InstallFileToNandResult.ErrorBaseGame -> { |
| 544 | getString( | 515 | errorBaseGame += 1 |
| 545 | R.string.install_game_content_success_overwrite, | ||
| 546 | installOverwrite | ||
| 547 | ) | ||
| 548 | ) | ||
| 549 | installResult.append(separator) | ||
| 550 | } | 516 | } |
| 551 | errorTotal = errorBaseGame + errorExtension + errorOther | 517 | |
| 552 | if (errorTotal > 0) { | 518 | NativeLibrary.InstallFileToNandResult.ErrorFilenameExtension -> { |
| 553 | installResult.append(separator) | 519 | errorExtension += 1 |
| 554 | installResult.append( | 520 | } |
| 555 | getString( | 521 | |
| 556 | R.string.install_game_content_failed_count, | 522 | else -> { |
| 557 | errorTotal | 523 | errorOther += 1 |
| 558 | ) | ||
| 559 | ) | ||
| 560 | installResult.append(separator) | ||
| 561 | if (errorBaseGame > 0) { | ||
| 562 | installResult.append(separator) | ||
| 563 | installResult.append( | ||
| 564 | getString(R.string.install_game_content_failure_base) | ||
| 565 | ) | ||
| 566 | installResult.append(separator) | ||
| 567 | } | ||
| 568 | if (errorExtension > 0) { | ||
| 569 | installResult.append(separator) | ||
| 570 | installResult.append( | ||
| 571 | getString(R.string.install_game_content_failure_file_extension) | ||
| 572 | ) | ||
| 573 | installResult.append(separator) | ||
| 574 | } | ||
| 575 | if (errorOther > 0) { | ||
| 576 | installResult.append( | ||
| 577 | getString(R.string.install_game_content_failure_description) | ||
| 578 | ) | ||
| 579 | installResult.append(separator) | ||
| 580 | } | ||
| 581 | LongMessageDialogFragment.newInstance( | ||
| 582 | R.string.install_game_content_failure, | ||
| 583 | installResult.toString().trim(), | ||
| 584 | R.string.install_game_content_help_link | ||
| 585 | ).show(supportFragmentManager, LongMessageDialogFragment.TAG) | ||
| 586 | } else { | ||
| 587 | LongMessageDialogFragment.newInstance( | ||
| 588 | R.string.install_game_content_success, | ||
| 589 | installResult.toString().trim() | ||
| 590 | ).show(supportFragmentManager, LongMessageDialogFragment.TAG) | ||
| 591 | } | 524 | } |
| 592 | } | 525 | } |
| 593 | } | 526 | } |
| 594 | return@newInstance installSuccess + installOverwrite + errorTotal | 527 | |
| 528 | val separator = System.getProperty("line.separator") ?: "\n" | ||
| 529 | val installResult = StringBuilder() | ||
| 530 | if (installSuccess > 0) { | ||
| 531 | installResult.append( | ||
| 532 | getString( | ||
| 533 | R.string.install_game_content_success_install, | ||
| 534 | installSuccess | ||
| 535 | ) | ||
| 536 | ) | ||
| 537 | installResult.append(separator) | ||
| 538 | } | ||
| 539 | if (installOverwrite > 0) { | ||
| 540 | installResult.append( | ||
| 541 | getString( | ||
| 542 | R.string.install_game_content_success_overwrite, | ||
| 543 | installOverwrite | ||
| 544 | ) | ||
| 545 | ) | ||
| 546 | installResult.append(separator) | ||
| 547 | } | ||
| 548 | val errorTotal: Int = errorBaseGame + errorExtension + errorOther | ||
| 549 | if (errorTotal > 0) { | ||
| 550 | installResult.append(separator) | ||
| 551 | installResult.append( | ||
| 552 | getString( | ||
| 553 | R.string.install_game_content_failed_count, | ||
| 554 | errorTotal | ||
| 555 | ) | ||
| 556 | ) | ||
| 557 | installResult.append(separator) | ||
| 558 | if (errorBaseGame > 0) { | ||
| 559 | installResult.append(separator) | ||
| 560 | installResult.append( | ||
| 561 | getString(R.string.install_game_content_failure_base) | ||
| 562 | ) | ||
| 563 | installResult.append(separator) | ||
| 564 | } | ||
| 565 | if (errorExtension > 0) { | ||
| 566 | installResult.append(separator) | ||
| 567 | installResult.append( | ||
| 568 | getString(R.string.install_game_content_failure_file_extension) | ||
| 569 | ) | ||
| 570 | installResult.append(separator) | ||
| 571 | } | ||
| 572 | if (errorOther > 0) { | ||
| 573 | installResult.append( | ||
| 574 | getString(R.string.install_game_content_failure_description) | ||
| 575 | ) | ||
| 576 | installResult.append(separator) | ||
| 577 | } | ||
| 578 | return@newInstance MessageDialogFragment.newInstance( | ||
| 579 | titleId = R.string.install_game_content_failure, | ||
| 580 | descriptionString = installResult.toString().trim(), | ||
| 581 | helpLinkId = R.string.install_game_content_help_link | ||
| 582 | ) | ||
| 583 | } else { | ||
| 584 | return@newInstance MessageDialogFragment.newInstance( | ||
| 585 | titleId = R.string.install_game_content_success, | ||
| 586 | descriptionString = installResult.toString().trim() | ||
| 587 | ) | ||
| 588 | } | ||
| 595 | }.show(supportFragmentManager, IndeterminateProgressDialogFragment.TAG) | 589 | }.show(supportFragmentManager, IndeterminateProgressDialogFragment.TAG) |
| 596 | } | 590 | } |
| 597 | } | 591 | } |