diff options
author | Charles Lombardo <[email protected]> | 2023-06-02 14:23:25 -0400 |
---|---|---|
committer | bunnei <[email protected]> | 2023-06-03 00:06:08 -0700 |
commit | a789046127dba7b5d4c7510d730f1241c731a94a (patch) | |
tree | 6e8f47fd1c3e7cb3660d69cd767943cdfd6b351c /src | |
parent | db6737f2ba82c7757c189a26114747b8a59322eb (diff) | |
download | yuzu-mainline-a789046127dba7b5d4c7510d730f1241c731a94a.tar.gz yuzu-mainline-a789046127dba7b5d4c7510d730f1241c731a94a.zip |
android: Fix crash on importing invalid save
Diffstat (limited to 'src')
-rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/ImportExportSavesFragment.kt | 8 |
1 files changed, 5 insertions, 3 deletions
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 7a990d0cc..5f107b37d 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 @@ -11,6 +11,7 @@ import android.provider.DocumentsContract import android.widget.Toast import androidx.activity.result.ActivityResultLauncher import androidx.activity.result.contract.ActivityResultContracts +import androidx.appcompat.app.AppCompatActivity import androidx.documentfile.provider.DocumentFile import androidx.fragment.app.DialogFragment import com.google.android.material.dialog.MaterialAlertDialogBuilder @@ -49,6 +50,7 @@ class ImportExportSavesFragment : DialogFragment() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + val activity = requireActivity() as AppCompatActivity val activityResultRegistry = requireActivity().activityResultRegistry startForResultExportSave = activityResultRegistry.register( @@ -61,7 +63,7 @@ class ImportExportSavesFragment : DialogFragment() { "documentPickerKey", ActivityResultContracts.OpenDocument() ) { - it?.let { uri -> importSave(uri) } + it?.let { uri -> importSave(uri, activity) } } } @@ -183,7 +185,7 @@ class ImportExportSavesFragment : DialogFragment() { * Imports the save files contained in the zip file, and replaces any existing ones with the new save file. * @param zipUri The Uri of the zip file containing the save file(s) to import. */ - private fun importSave(zipUri: Uri) { + private fun importSave(zipUri: Uri, activity: AppCompatActivity) { val inputZip = context.contentResolver.openInputStream(zipUri) // A zip needs to have at least one subfolder named after a TitleId in order to be considered valid. var validZip = false @@ -214,7 +216,7 @@ class ImportExportSavesFragment : DialogFragment() { MessageDialogFragment.newInstance( R.string.save_file_invalid_zip_structure, R.string.save_file_invalid_zip_structure_description - ).show(childFragmentManager, MessageDialogFragment.TAG) + ).show(activity.supportFragmentManager, MessageDialogFragment.TAG) return@withContext } Toast.makeText( |