summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-10-13 19:50:38 +0200
committerCharles Lombardo <clombardo169@gmail.com>2023-10-13 19:50:38 +0200
commit82c845dc2fef9ab29baa9fb0c08131a16384cd0f (patch)
treed9472976c091428048b3da2fe93a885194caa9f7
parentImprovement in Directory Path Detection for Shortcuts (#11749) (diff)
downloadyuzu-82c845dc2fef9ab29baa9fb0c08131a16384cd0f.tar
yuzu-82c845dc2fef9ab29baa9fb0c08131a16384cd0f.tar.gz
yuzu-82c845dc2fef9ab29baa9fb0c08131a16384cd0f.tar.bz2
yuzu-82c845dc2fef9ab29baa9fb0c08131a16384cd0f.tar.lz
yuzu-82c845dc2fef9ab29baa9fb0c08131a16384cd0f.tar.xz
yuzu-82c845dc2fef9ab29baa9fb0c08131a16384cd0f.tar.zst
yuzu-82c845dc2fef9ab29baa9fb0c08131a16384cd0f.zip
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/DriverManagerFragment.kt25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/DriverManagerFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/DriverManagerFragment.kt
index 10b1d3547..df21d74b2 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/DriverManagerFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/DriverManagerFragment.kt
@@ -26,6 +26,7 @@ import org.yuzu.yuzu_emu.model.DriverViewModel
import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.utils.FileUtil
import org.yuzu.yuzu_emu.utils.GpuDriverHelper
+import java.io.File
import java.io.IOException
class DriverManagerFragment : Fragment() {
@@ -154,29 +155,29 @@ class DriverManagerFragment : Fragment() {
R.string.installing_driver,
false
) {
+ val driverPath =
+ "${GpuDriverHelper.driverStoragePath}/${FileUtil.getFilename(result)}"
+ val driverFile = File(driverPath)
+
// Ignore file exceptions when a user selects an invalid zip
try {
- GpuDriverHelper.copyDriverToInternalStorage(result)
+ if (!GpuDriverHelper.copyDriverToInternalStorage(result)) {
+ throw IOException("Driver failed validation!")
+ }
} catch (_: IOException) {
+ if (driverFile.exists()) {
+ driverFile.delete()
+ }
return@newInstance getString(R.string.select_gpu_driver_error)
}
- val driverData = GpuDriverHelper.customDriverData
- if (driverData.name == null) {
- return@newInstance getString(R.string.select_gpu_driver_error)
- }
-
+ val driverData = GpuDriverHelper.getMetadataFromZip(driverFile)
val driverInList =
driverViewModel.driverList.value.firstOrNull { it.second == driverData }
if (driverInList != null) {
return@newInstance getString(R.string.driver_already_installed)
} else {
- driverViewModel.addDriver(
- Pair(
- "${GpuDriverHelper.driverStoragePath}/${FileUtil.getFilename(result)}",
- driverData
- )
- )
+ driverViewModel.addDriver(Pair(driverPath, driverData))
driverViewModel.setNewDriverInstalled(true)
}
return@newInstance Any()