summaryrefslogtreecommitdiffstats
path: root/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/GameInfoFragment.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/GameInfoFragment.kt')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/GameInfoFragment.kt34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/GameInfoFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/GameInfoFragment.kt
index fa2a4c9f9..5aa3f453f 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/GameInfoFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/GameInfoFragment.kt
@@ -21,8 +21,10 @@ import androidx.fragment.app.activityViewModels
import androidx.navigation.findNavController
import androidx.navigation.fragment.navArgs
import com.google.android.material.transition.MaterialSharedAxis
+import org.yuzu.yuzu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.databinding.FragmentGameInfoBinding
+import org.yuzu.yuzu_emu.model.GameVerificationResult
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.utils.GameMetadata
@@ -101,6 +103,38 @@ class GameInfoFragment : Fragment() {
""".trimIndent()
copyToClipboard(args.game.title, details)
}
+
+ buttonVerifyIntegrity.setOnClickListener {
+ ProgressDialogFragment.newInstance(
+ requireActivity(),
+ R.string.verifying,
+ true
+ ) { progressCallback, _ ->
+ val result = GameVerificationResult.from(
+ NativeLibrary.verifyGameContents(
+ args.game.path,
+ progressCallback
+ )
+ )
+ return@newInstance when (result) {
+ GameVerificationResult.Success ->
+ MessageDialogFragment.newInstance(
+ titleId = R.string.verify_success,
+ descriptionId = R.string.operation_completed_successfully
+ )
+ GameVerificationResult.Failed ->
+ MessageDialogFragment.newInstance(
+ titleId = R.string.verify_failure,
+ descriptionId = R.string.verify_failure_description
+ )
+ GameVerificationResult.NotImplemented ->
+ MessageDialogFragment.newInstance(
+ titleId = R.string.verify_no_result,
+ descriptionId = R.string.verify_no_result_description
+ )
+ }
+ }.show(parentFragmentManager, ProgressDialogFragment.TAG)
+ }
}
setInsets()