Don't check for xml extension for backups

pull/3548/head
Alex Baker 7 months ago
parent 8480f03a96
commit a779dc331a

@ -25,7 +25,6 @@ class ImportTasksDialog : DialogFragment() {
override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
val arguments = requireArguments() val arguments = requireArguments()
val data = arguments.getParcelable<Uri>(EXTRA_URI) val data = arguments.getParcelable<Uri>(EXTRA_URI)
val extension = arguments.getString(EXTRA_EXTENSION)
val progressDialog = dialogBuilder.newProgressDialog().apply { val progressDialog = dialogBuilder.newProgressDialog().apply {
setProgressStyle(ProgressDialog.STYLE_SPINNER) setProgressStyle(ProgressDialog.STYLE_SPINNER)
setCancelable(false) setCancelable(false)
@ -34,17 +33,14 @@ class ImportTasksDialog : DialogFragment() {
progressDialog.show() progressDialog.show()
isCancelable = false isCancelable = false
when (extension) { lifecycleScope.launch {
"json" -> lifecycleScope.launch { val result = withContext(NonCancellable) {
val result = withContext(NonCancellable) { jsonImporter.importTasks(requireActivity(), data, progressDialog)
jsonImporter.importTasks(requireActivity(), data, progressDialog)
}
if (progressDialog.isShowing) {
progressDialog.dismiss()
}
showSummary(result)
} }
else -> throw RuntimeException("Invalid extension: $extension") if (progressDialog.isShowing) {
progressDialog.dismiss()
}
showSummary(result)
} }
return progressDialog return progressDialog
} }
@ -70,13 +66,11 @@ class ImportTasksDialog : DialogFragment() {
companion object { companion object {
private const val EXTRA_URI = "extra_uri" private const val EXTRA_URI = "extra_uri"
private const val EXTRA_EXTENSION = "extra_extension"
fun newImportTasksDialog(data: Uri?, extension: String?): ImportTasksDialog { fun newImportTasksDialog(data: Uri): ImportTasksDialog {
val importTasksDialog = ImportTasksDialog() val importTasksDialog = ImportTasksDialog()
val args = Bundle() val args = Bundle()
args.putParcelable(EXTRA_URI, data) args.putParcelable(EXTRA_URI, data)
args.putString(EXTRA_EXTENSION, extension)
importTasksDialog.arguments = args importTasksDialog.arguments = args
return importTasksDialog return importTasksDialog
} }

@ -17,7 +17,6 @@ import org.tasks.extensions.Context.toast
import org.tasks.files.FileHelper import org.tasks.files.FileHelper
import org.tasks.injection.InjectingPreferenceFragment import org.tasks.injection.InjectingPreferenceFragment
import org.tasks.kmp.org.tasks.time.getFullDateTime import org.tasks.kmp.org.tasks.time.getFullDateTime
import org.tasks.preferences.FragmentPermissionRequestor
import org.tasks.preferences.PermissionRequestor import org.tasks.preferences.PermissionRequestor
import org.tasks.preferences.Preferences import org.tasks.preferences.Preferences
import org.tasks.preferences.PreferencesViewModel import org.tasks.preferences.PreferencesViewModel
@ -185,14 +184,10 @@ class Backups : InjectingPreferenceFragment() {
if (resultCode == RESULT_OK) { if (resultCode == RESULT_OK) {
val uri = data!!.data val uri = data!!.data
val extension = FileHelper.getExtension(requireContext(), uri!!) val extension = FileHelper.getExtension(requireContext(), uri!!)
if (!("json".equals(extension, ignoreCase = true) || "xml".equals( if (!"json".equals(extension, ignoreCase = true)) {
extension,
ignoreCase = true
))
) {
context?.toast(R.string.invalid_backup_file) context?.toast(R.string.invalid_backup_file)
} else { } else {
ImportTasksDialog.newImportTasksDialog(uri, extension) ImportTasksDialog.newImportTasksDialog(uri)
.show(parentFragmentManager, FRAG_TAG_IMPORT_TASKS) .show(parentFragmentManager, FRAG_TAG_IMPORT_TASKS)
} }
} }

Loading…
Cancel
Save