diff options
Diffstat (limited to 'src/de/danoeh/antennapod/asynctask/OpmlExportWorker.java')
-rw-r--r-- | src/de/danoeh/antennapod/asynctask/OpmlExportWorker.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/de/danoeh/antennapod/asynctask/OpmlExportWorker.java b/src/de/danoeh/antennapod/asynctask/OpmlExportWorker.java index e14e22917..745bc7079 100644 --- a/src/de/danoeh/antennapod/asynctask/OpmlExportWorker.java +++ b/src/de/danoeh/antennapod/asynctask/OpmlExportWorker.java @@ -1,8 +1,9 @@ package de.danoeh.antennapod.asynctask; import java.io.File; -import java.io.FileWriter; +import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStreamWriter; import java.util.Arrays; import android.annotation.SuppressLint; @@ -16,6 +17,7 @@ import de.danoeh.antennapod.PodcastApp; import de.danoeh.antennapod.R; import de.danoeh.antennapod.opml.OpmlWriter; import de.danoeh.antennapod.preferences.UserPreferences; +import de.danoeh.antennapod.util.LangUtils; import de.danoeh.antennapod.storage.DBReader; /** Writes an OPML file into the export directory in the background. */ @@ -49,13 +51,21 @@ public class OpmlExportWorker extends AsyncTask<Void, Void, Void> { output.delete(); } } + OutputStreamWriter writer = null; try { - FileWriter writer = new FileWriter(output); + writer = new OutputStreamWriter(new FileOutputStream(output), LangUtils.UTF_8); opmlWriter.writeDocument(DBReader.getFeedList(context), writer); - writer.close(); } catch (IOException e) { e.printStackTrace(); exception = e; + } finally { + if (writer != null) { + try { + writer.close(); + } catch (IOException ioe) { + exception = ioe; + } + } } return null; } |