forked from eden-emu/eden
Uninstall Firmware Button
This commit is contained in:
parent
7db430f794
commit
19387c61fc
3 changed files with 35 additions and 1 deletions
|
@ -133,6 +133,11 @@ class InstallableFragment : Fragment() {
|
||||||
R.string.install_firmware_description,
|
R.string.install_firmware_description,
|
||||||
install = { mainActivity.getFirmware.launch(arrayOf("application/zip")) }
|
install = { mainActivity.getFirmware.launch(arrayOf("application/zip")) }
|
||||||
),
|
),
|
||||||
|
Installable(
|
||||||
|
R.string.uninstall_firmware,
|
||||||
|
R.string.uninstall_firmware_description,
|
||||||
|
install = { mainActivity.uninstallFirmware() }
|
||||||
|
),
|
||||||
Installable(
|
Installable(
|
||||||
R.string.install_prod_keys,
|
R.string.install_prod_keys,
|
||||||
R.string.install_prod_keys_description,
|
R.string.install_prod_keys_description,
|
||||||
|
|
|
@ -367,7 +367,31 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
||||||
messageToShow
|
messageToShow
|
||||||
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
|
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
|
||||||
}
|
}
|
||||||
|
fun uninstallFirmware() {
|
||||||
|
val firmwarePath = File(DirectoryInitialization.userDirectory + "/nand/system/Contents/registered/")
|
||||||
|
ProgressDialogFragment.newInstance(
|
||||||
|
this,
|
||||||
|
R.string.firmware_uninstalling
|
||||||
|
) { progressCallback, _ ->
|
||||||
|
var messageToShow: Any
|
||||||
|
try {
|
||||||
|
// Ensure the firmware directory exists before attempting to delete
|
||||||
|
if (firmwarePath.exists()) {
|
||||||
|
firmwarePath.deleteRecursively()
|
||||||
|
// Optionally reinitialize the system or perform other necessary steps
|
||||||
|
NativeLibrary.initializeSystem(true)
|
||||||
|
homeViewModel.setCheckKeys(true)
|
||||||
|
messageToShow = getString(R.string.firmware_uninstalled_success)
|
||||||
|
} else {
|
||||||
|
messageToShow = getString(R.string.firmware_uninstalled_failure)
|
||||||
|
}
|
||||||
|
} catch (e: Exception) {
|
||||||
|
Log.error("[MainActivity] Firmware uninstall failed - ${e.message}")
|
||||||
|
messageToShow = getString(R.string.fatal_error)
|
||||||
|
}
|
||||||
|
messageToShow
|
||||||
|
}.show(supportFragmentManager, ProgressDialogFragment.TAG)
|
||||||
|
}
|
||||||
val getAmiiboKey =
|
val getAmiiboKey =
|
||||||
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
|
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
|
||||||
if (result == null) {
|
if (result == null) {
|
||||||
|
|
|
@ -143,6 +143,11 @@
|
||||||
<string name="firmware_installed_success">Firmware installed successfully</string>
|
<string name="firmware_installed_success">Firmware installed successfully</string>
|
||||||
<string name="firmware_installed_failure">Firmware installation failed</string>
|
<string name="firmware_installed_failure">Firmware installation failed</string>
|
||||||
<string name="firmware_installed_failure_description">Make sure the firmware nca files are at the root of the zip and try again.</string>
|
<string name="firmware_installed_failure_description">Make sure the firmware nca files are at the root of the zip and try again.</string>
|
||||||
|
<string name="uninstall_firmware">Uninstall firmware</string>
|
||||||
|
<string name="uninstall_firmware_description">Uninstalling the firmware will remove it from the device and may affect game compatibility.</string>
|
||||||
|
<string name="firmware_uninstalling">Uninstalling firmware</string>
|
||||||
|
<string name="firmware_uninstalled_success">Firmware uninstalled successfully</string>
|
||||||
|
<string name="firmware_uninstalled_failure">Firmware uninstallation failed</string>
|
||||||
<string name="share_log">Share debug logs</string>
|
<string name="share_log">Share debug logs</string>
|
||||||
<string name="share_log_description">Share eden\'s log file to debug issues</string>
|
<string name="share_log_description">Share eden\'s log file to debug issues</string>
|
||||||
<string name="share_log_missing">No log file found</string>
|
<string name="share_log_missing">No log file found</string>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue