diff options
Diffstat (limited to 'Source/Android/app/src/main/java/org')
3 files changed, 20 insertions, 13 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt index 8a1d8addbd..23ffe96cd6 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.kt @@ -43,6 +43,7 @@ import org.dolphinemu.dolphinemu.features.infinitybase.ui.FigureSlotAdapter import org.dolphinemu.dolphinemu.features.input.model.ControllerInterface import org.dolphinemu.dolphinemu.features.input.model.DolphinSensorEventListener import org.dolphinemu.dolphinemu.features.settings.model.BooleanSetting +import org.dolphinemu.dolphinemu.utils.ContentHandler import org.dolphinemu.dolphinemu.features.settings.model.IntSetting import org.dolphinemu.dolphinemu.features.settings.model.Settings import org.dolphinemu.dolphinemu.features.settings.model.StringSetting @@ -104,17 +105,21 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider { } val requestSkylanderFile = registerForActivityResult( - ActivityResultContracts.GetContent() + ActivityResultContracts.OpenDocument() ) { uri: Uri? -> if (uri != null) { val slot = SkylanderConfig.loadSkylander( skylanderSlots[skylanderSlot].portalSlot, uri.toString() - )!! - clearSkylander(skylanderSlot) - skylanderSlots[skylanderSlot].portalSlot = slot.first!! - skylanderSlots[skylanderSlot].label = slot.second!! - skylandersBinding.figureManager.adapter!!.notifyItemChanged(skylanderSlot) + ) + if (slot != null && slot.first != null && slot.second != null) { + clearSkylander(skylanderSlot) + skylanderSlots[skylanderSlot].portalSlot = slot.first!! + skylanderSlots[skylanderSlot].label = slot.second!! + skylandersBinding.figureManager.adapter?.notifyItemChanged(skylanderSlot) + } else { + Toast.makeText(this, R.string.skylander_load_failed, Toast.LENGTH_SHORT).show() + } skylanderSlot = -1 skylanderData = Skylander.BLANK_SKYLANDER } @@ -131,10 +136,12 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider { uri.toString(), skylanderSlots[skylanderSlot].portalSlot ) - clearSkylander(skylanderSlot) - skylanderSlots[skylanderSlot].portalSlot = slot.first - skylanderSlots[skylanderSlot].label = slot.second - skylandersBinding.figureManager.adapter?.notifyItemChanged(skylanderSlot) + if (slot.first != -1) { + clearSkylander(skylanderSlot) + skylanderSlots[skylanderSlot].portalSlot = slot.first + skylanderSlots[skylanderSlot].label = slot.second + skylandersBinding.figureManager.adapter?.notifyItemChanged(skylanderSlot) + } skylanderSlot = -1 skylanderData = Skylander.BLANK_SKYLANDER } @@ -142,7 +149,7 @@ class EmulationActivity : AppCompatActivity(), ThemeProvider { } val requestInfinityFigureFile = registerForActivityResult( - ActivityResultContracts.GetContent() + ActivityResultContracts.OpenDocument() ) { uri: Uri? -> if (uri != null) { val label = InfinityConfig.loadFigure(infinityPosition, uri.toString()) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/infinitybase/ui/FigureSlotAdapter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/infinitybase/ui/FigureSlotAdapter.kt index 0613274c30..6839d6f803 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/infinitybase/ui/FigureSlotAdapter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/infinitybase/ui/FigureSlotAdapter.kt @@ -51,7 +51,7 @@ class FigureSlotAdapter( holder.binding.buttonLoadFigure.setOnClickListener { activity.setInfinityFigureData(0, "", figure.position, position) - activity.requestInfinityFigureFile.launch("*/*") + activity.requestInfinityFigureFile.launch(arrayOf("*/*")) } val inflater = LayoutInflater.from(activity) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt index ed3dde3e40..4c23eb4a3c 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/skylanders/ui/SkylanderSlotAdapter.kt @@ -47,7 +47,7 @@ class SkylanderSlotAdapter( holder.binding.buttonLoadFigure.setOnClickListener { activity.setSkylanderData(0, 0, "", position) - activity.requestSkylanderFile.launch("*/*") + activity.requestSkylanderFile.launch(arrayOf("*/*")) } val inflater = LayoutInflater.from(activity) |
