From ce2f984e9f2ed44aeca804cc6de528e41d7fda77 Mon Sep 17 00:00:00 2001 From: cpfeiffer Date: Sat, 15 Sep 2018 23:54:51 +0200 Subject: [PATCH] Fix some file closing issues --- .../freeyourgadget/gadgetbridge/export/GPXExporter.java | 5 ++--- .../gadgetbridge/util/ImportExportSharedPreferences.java | 9 ++++----- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java index ab8b64914..25a29b6c4 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/export/GPXExporter.java @@ -60,8 +60,8 @@ public class GPXExporter implements ActivityTrackExporter { public void performExport(ActivityTrack track, File targetFile) throws IOException, GPXTrackEmptyException { String encoding = StandardCharsets.UTF_8.name(); XmlSerializer ser = Xml.newSerializer(); - try { - ser.setOutput(new FileOutputStream(targetFile), encoding); + try (FileOutputStream outputStream = new FileOutputStream(targetFile)) { + ser.setOutput(outputStream, encoding); ser.startDocument(encoding, Boolean.TRUE); ser.setPrefix("xsi", NS_XSI_URI); ser.setPrefix(NS_TRACKPOINT_EXTENSION, NS_TRACKPOINT_EXTENSION_URI); @@ -77,7 +77,6 @@ public class GPXExporter implements ActivityTrackExporter { ser.endTag(NS_DEFAULT, "gpx"); ser.endDocument(); - } finally { ser.flush(); } } diff --git a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/ImportExportSharedPreferences.java b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/ImportExportSharedPreferences.java index f89ab5088..fbef26e6e 100644 --- a/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/ImportExportSharedPreferences.java +++ b/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/util/ImportExportSharedPreferences.java @@ -50,11 +50,12 @@ public class ImportExportSharedPreferences { public static void exportToFile(SharedPreferences sharedPreferences, File outFile, Set doNotExport) throws IOException { - export(sharedPreferences, new FileWriter(outFile), doNotExport); + try (FileWriter outputWriter = new FileWriter(outFile)) { + export(sharedPreferences, outputWriter, doNotExport); + } } - - public static void export(SharedPreferences sharedPreferences, Writer writer, + private static void export(SharedPreferences sharedPreferences, Writer writer, Set doNotExport) throws IOException { XmlSerializer serializer = Xml.newSerializer(); serializer.setOutput(writer); @@ -75,11 +76,9 @@ public class ImportExportSharedPreferences { serializer.attribute("", NAME, key); serializer.text(value); serializer.endTag("", valueType); - } serializer.endTag("", PREFERENCES); serializer.endDocument(); - writer.close(); } public static boolean importFromFile(SharedPreferences sharedPreferences, File inFile)