From bdf63831d593f873fe71791aae4aeeec73d50ae0 Mon Sep 17 00:00:00 2001 From: tejasae-afk Date: Sat, 6 Jun 2026 16:28:50 -0400 Subject: [PATCH] Close BufferedWriter in upload --- .../export/RunKeeperSynchronizer.java | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/app/src/main/org/runnerup/export/RunKeeperSynchronizer.java b/app/src/main/org/runnerup/export/RunKeeperSynchronizer.java index 7e2637404..e22cf0c98 100644 --- a/app/src/main/org/runnerup/export/RunKeeperSynchronizer.java +++ b/app/src/main/org/runnerup/export/RunKeeperSynchronizer.java @@ -462,29 +462,30 @@ public Status upload(SQLiteDatabase db, final long mID) { conn.addRequestProperty( "Content-type", "application/vnd.com.runkeeper.NewFitnessActivity+json"); RunKeeper rk = new RunKeeper(db, simplifier); - BufferedWriter w = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream())); - rk.export(mID, w); - w.flush(); - - int responseCode = conn.getResponseCode(); - String amsg = conn.getResponseMessage(); - String externalId = noNullStr(conn.getHeaderField("Location")); - conn.disconnect(); - conn = null; - - if (responseCode >= HttpURLConnection.HTTP_OK - && responseCode < HttpURLConnection.HTTP_MULT_CHOICE) { - s.activityId = mID; - if (!TextUtils.isEmpty(externalId)) { - s.externalId = externalId; - s.externalIdStatus = ExternalIdStatus.OK; - } - return s; + try (BufferedWriter w = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()))) { + rk.export(mID, w); + w.flush(); + + int responseCode = conn.getResponseCode(); + String amsg = conn.getResponseMessage(); + String externalId = noNullStr(conn.getHeaderField("Location")); + conn.disconnect(); + conn = null; + + if (responseCode >= HttpURLConnection.HTTP_OK + && responseCode < HttpURLConnection.HTTP_MULT_CHOICE) { + s.activityId = mID; + if (!TextUtils.isEmpty(externalId)) { + s.externalId = externalId; + s.externalIdStatus = ExternalIdStatus.OK; + } + return s; + } + Log.e(getName(), "Error code: " + responseCode + ", amsg: " + amsg); + ex = new Exception(amsg); + } catch (Exception e) { + ex = e; } - Log.e(getName(), "Error code: " + responseCode + ", amsg: " + amsg); - ex = new Exception(amsg); - } catch (Exception e) { - ex = e; } Log.e(getName(), "Failed to upload: " + ex.getMessage());