diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataExportActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataExportActivity.kt index 094f7909c..3af8d9165 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataExportActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataExportActivity.kt @@ -4,6 +4,7 @@ import android.app.Activity import android.content.Intent import android.net.Uri import android.os.AsyncTask +import android.os.Build import android.os.Bundle import android.util.Log import androidx.documentfile.provider.DocumentFile @@ -15,6 +16,7 @@ import org.mariotaku.twidere.constant.IntentConstants import org.mariotaku.twidere.fragment.DataExportImportTypeSelectorDialogFragment import org.mariotaku.twidere.fragment.ProgressDialogFragment import org.mariotaku.twidere.util.DataImportExportUtils +import java.io.File import java.io.IOException import java.text.SimpleDateFormat import java.util.* @@ -65,7 +67,12 @@ class DataExportActivity : BaseActivity(), DataExportImportTypeSelectorDialogFra return } if (task == null || task!!.status != AsyncTask.Status.RUNNING) { - task = ExportSettingsTask(this, DocumentFile.fromTreeUri(this, path), flags) + val folder = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + DocumentFile.fromTreeUri(this, path) + } else { + DocumentFile.fromFile(File(path.path)) + } + task = ExportSettingsTask(this, folder, flags) task!!.execute() } } diff --git a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataImportActivity.kt b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataImportActivity.kt index c4ac8d46d..7d2826064 100644 --- a/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataImportActivity.kt +++ b/twidere/src/main/kotlin/org/mariotaku/twidere/activity/DataImportActivity.kt @@ -3,6 +3,7 @@ package org.mariotaku.twidere.activity import android.content.Intent import android.net.Uri import android.os.AsyncTask +import android.os.Build import android.os.Bundle import android.util.Log import androidx.documentfile.provider.DocumentFile @@ -13,6 +14,7 @@ import org.mariotaku.twidere.TwidereConstants.* import org.mariotaku.twidere.fragment.DataExportImportTypeSelectorDialogFragment import org.mariotaku.twidere.fragment.ProgressDialogFragment import org.mariotaku.twidere.util.DataImportExportUtils +import java.io.File import java.io.IOException class DataImportActivity : BaseActivity(), DataExportImportTypeSelectorDialogFragment.Callback { @@ -40,7 +42,12 @@ class DataImportActivity : BaseActivity(), DataExportImportTypeSelectorDialogFra if (resultCode == RESULT_OK && data != null) { val path = data.data!! if (openImportTypeTask == null || openImportTypeTask!!.status != AsyncTask.Status.RUNNING) { - openImportTypeTask = OpenImportTypeTask(this@DataImportActivity, DocumentFile.fromSingleUri(this, path)) + val file = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + DocumentFile.fromSingleUri(this, path) + } else { + DocumentFile.fromFile(File(path.path)) + } + openImportTypeTask = OpenImportTypeTask(this@DataImportActivity, file) openImportTypeTask!!.execute() } } else { @@ -69,7 +76,12 @@ class DataImportActivity : BaseActivity(), DataExportImportTypeSelectorDialogFra return } if (importSettingsTask == null || importSettingsTask!!.status != AsyncTask.Status.RUNNING) { - importSettingsTask = ImportSettingsTask(this, DocumentFile.fromSingleUri(this, path), flags) + val file = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { + DocumentFile.fromSingleUri(this, path) + } else { + DocumentFile.fromFile(File(path.path)) + } + importSettingsTask = ImportSettingsTask(this, file, flags) importSettingsTask!!.execute() } }