diff options
author | ByteHamster <ByteHamster@users.noreply.github.com> | 2024-03-11 23:10:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-11 23:10:09 +0100 |
commit | 2f3f1fd1861f3a76b8473e0734956d7e7a417c0e (patch) | |
tree | af77295f3afdd4367095399c5b1eec742a11c963 /app/src/main/java/de/danoeh/antennapod/asynctask/DocumentFileExportWorker.java | |
parent | 5c98a33ed2c82fa6b9b45c7234d429d356f17d8c (diff) | |
download | AntennaPod-2f3f1fd1861f3a76b8473e0734956d7e7a417c0e.zip |
Move import/export to its own module (#6986)
Also clean up ImportExportPreferencesFragment a bit.
Diffstat (limited to 'app/src/main/java/de/danoeh/antennapod/asynctask/DocumentFileExportWorker.java')
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/asynctask/DocumentFileExportWorker.java | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/app/src/main/java/de/danoeh/antennapod/asynctask/DocumentFileExportWorker.java b/app/src/main/java/de/danoeh/antennapod/asynctask/DocumentFileExportWorker.java deleted file mode 100644 index 8acfcb58f..000000000 --- a/app/src/main/java/de/danoeh/antennapod/asynctask/DocumentFileExportWorker.java +++ /dev/null @@ -1,68 +0,0 @@ -package de.danoeh.antennapod.asynctask; - -import android.content.Context; -import android.net.Uri; -import androidx.annotation.NonNull; -import androidx.documentfile.provider.DocumentFile; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.nio.charset.Charset; - -import de.danoeh.antennapod.core.export.ExportWriter; -import de.danoeh.antennapod.core.storage.DBReader; -import io.reactivex.Observable; - -/** - * Writes an OPML file into the user selected export directory in the background. - */ -public class DocumentFileExportWorker { - - private final @NonNull ExportWriter exportWriter; - private @NonNull Context context; - private @NonNull Uri outputFileUri; - - public DocumentFileExportWorker(@NonNull ExportWriter exportWriter, @NonNull Context context, @NonNull Uri outputFileUri) { - this.exportWriter = exportWriter; - this.context = context; - this.outputFileUri = outputFileUri; - } - - public Observable<DocumentFile> exportObservable() { - DocumentFile output = DocumentFile.fromSingleUri(context, outputFileUri); - return Observable.create(subscriber -> { - OutputStream outputStream = null; - OutputStreamWriter writer = null; - try { - Uri uri = output.getUri(); - outputStream = context.getContentResolver().openOutputStream(uri, "wt"); - if (outputStream == null) { - throw new IOException(); - } - writer = new OutputStreamWriter(outputStream, Charset.forName("UTF-8")); - exportWriter.writeDocument(DBReader.getFeedList(), writer, context); - subscriber.onNext(output); - } catch (IOException e) { - subscriber.onError(e); - } finally { - if (writer != null) { - try { - writer.close(); - } catch (IOException e) { - subscriber.onError(e); - } - } - if (outputStream != null) { - try { - outputStream.close(); - } catch (IOException e) { - subscriber.onError(e); - } - } - subscriber.onComplete(); - } - }); - } - -} |