mirror of
https://git.eden-emu.dev/eden-emu/eden
synced 2026-06-02 03:17:09 +02:00
[android,ui] driver: fixed uninstall and refresh upon install
This commit is contained in:
parent
dc27aef542
commit
0c097614ef
2 changed files with 31 additions and 19 deletions
|
|
@ -142,6 +142,17 @@ class DriverManagerFragment : Fragment() {
|
||||||
driverViewModel.onCloseDriverManager(args.game)
|
driverViewModel.onCloseDriverManager(args.game)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun onResume() {
|
||||||
|
super.onResume()
|
||||||
|
refreshDriverList()
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun refreshDriverList() {
|
||||||
|
driverViewModel.reloadDriverData()
|
||||||
|
(binding.listDrivers.adapter as? DriverAdapter)
|
||||||
|
?.replaceList(driverViewModel.driverList.value)
|
||||||
|
}
|
||||||
|
|
||||||
private fun setInsets() =
|
private fun setInsets() =
|
||||||
ViewCompat.setOnApplyWindowInsetsListener(
|
ViewCompat.setOnApplyWindowInsetsListener(
|
||||||
binding.root
|
binding.root
|
||||||
|
|
|
||||||
|
|
@ -71,6 +71,8 @@ class DriverViewModel : ViewModel() {
|
||||||
fun reloadDriverData() {
|
fun reloadDriverData() {
|
||||||
_areDriversLoading.value = true
|
_areDriversLoading.value = true
|
||||||
driverData = GpuDriverHelper.getDrivers()
|
driverData = GpuDriverHelper.getDrivers()
|
||||||
|
.filterNot { driversToDelete.contains(it.first) }
|
||||||
|
.toMutableList()
|
||||||
updateDriverList()
|
updateDriverList()
|
||||||
_areDriversLoading.value = false
|
_areDriversLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
@ -167,26 +169,25 @@ class DriverViewModel : ViewModel() {
|
||||||
|
|
||||||
fun onCloseDriverManager(game: Game?) {
|
fun onCloseDriverManager(game: Game?) {
|
||||||
_isDeletingDrivers.value = true
|
_isDeletingDrivers.value = true
|
||||||
updateDriverNameForGame(game)
|
try {
|
||||||
if (game == null) {
|
updateDriverNameForGame(game)
|
||||||
NativeConfig.saveGlobalConfig()
|
if (game == null) {
|
||||||
} else {
|
NativeConfig.saveGlobalConfig()
|
||||||
NativeConfig.savePerGameConfig()
|
} else {
|
||||||
NativeConfig.unloadPerGameConfig()
|
NativeConfig.savePerGameConfig()
|
||||||
NativeConfig.reloadGlobalConfig()
|
NativeConfig.unloadPerGameConfig()
|
||||||
}
|
NativeConfig.reloadGlobalConfig()
|
||||||
|
|
||||||
viewModelScope.launch {
|
|
||||||
withContext(Dispatchers.IO) {
|
|
||||||
driversToDelete.forEach {
|
|
||||||
val driver = File(it)
|
|
||||||
if (driver.exists()) {
|
|
||||||
driver.delete()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
driversToDelete.clear()
|
|
||||||
_isDeletingDrivers.value = false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
driversToDelete.forEach {
|
||||||
|
val driver = File(it)
|
||||||
|
if (driver.exists()) {
|
||||||
|
driver.delete()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
driversToDelete.clear()
|
||||||
|
} finally {
|
||||||
|
_isDeletingDrivers.value = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue