Show error toast if empty URI is passed when trying to create/restore a backup

This commit is contained in:
arkon
2022-01-26 22:31:28 -05:00
parent 1b71e4cee7
commit d5015d37e1
4 changed files with 13 additions and 18 deletions

View File

@@ -162,39 +162,33 @@ class SettingsBackupController : SettingsController() {
val activity = activity ?: return
val uri = data.data
if (uri == null) {
activity.toast(R.string.backup_restore_invalid_uri)
return
}
when (requestCode) {
CODE_BACKUP_DIR -> {
// Get UriPermission so it's possible to write files
val flags = Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION
if (uri != null) {
activity.contentResolver.takePersistableUriPermission(uri, flags)
}
// Set backup Uri
activity.contentResolver.takePersistableUriPermission(uri, flags)
preferences.backupsDirectory().set(uri.toString())
}
CODE_BACKUP_CREATE -> {
val flags = Intent.FLAG_GRANT_READ_URI_PERMISSION or
Intent.FLAG_GRANT_WRITE_URI_PERMISSION
if (uri != null) {
activity.contentResolver.takePersistableUriPermission(uri, flags)
}
val file = UniFile.fromUri(activity, uri)
activity.toast(R.string.creating_backup)
activity.contentResolver.takePersistableUriPermission(uri, flags)
BackupCreateService.start(
activity,
file.uri,
uri,
backupFlags,
)
}
CODE_BACKUP_RESTORE -> {
uri?.let { RestoreBackupDialog(it).showDialog(router) }
RestoreBackupDialog(uri).showDialog(router)
}
}
}