From 957a5b7c17ff14737253fcee26b8d5ac357aa67e Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Sat, 10 Aug 2019 11:42:25 -0500 Subject: [PATCH] Fix CSV export in some locales; bump version to 1.7.11 (38) --- CHANGELOG.md | 4 ++++ app/src/main/AndroidManifest.xml | 4 ++-- .../main/java/org/isoron/uhabits/io/HabitsCSVExporter.java | 4 ++-- app/src/main/java/org/isoron/uhabits/models/ScoreList.java | 2 +- 4 files changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8298cff0c..08782a1ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +### 1.7.11 (Aug 10, 2019) + +* Fix bug that produced corrupted CSV files in some countries + ### 1.7.10 (June 15, 2019) * Fix bug that prevented some devices from showing notifications. diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 38997a7bd..449502534 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,8 +21,8 @@ + android:versionCode="38" + android:versionName="1.7.11"> diff --git a/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java b/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java index fc0a29c92..bb2098275 100644 --- a/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java +++ b/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java @@ -119,7 +119,7 @@ public class HabitsCSVExporter { String sane = sanitizeFilename(h.getName()); String habitDirName = - String.format("%03d %s", allHabits.indexOf(h) + 1, sane); + String.format(Locale.US, "%03d %s", allHabits.indexOf(h) + 1, sane); habitDirName = habitDirName.trim() + "/"; new File(exportDirName + habitDirName).mkdirs(); @@ -202,7 +202,7 @@ public class HabitsCSVExporter checksWriter.write(String.valueOf(checkmarks.get(j)[i])); checksWriter.write(DELIMITER); String score = - String.format("%.4f", ((float) scores.get(j)[i]) / Score.MAX_VALUE); + String.format(Locale.US, "%.4f", ((float) scores.get(j)[i]) / Score.MAX_VALUE); scoresWriter.write(score); scoresWriter.write(DELIMITER); } diff --git a/app/src/main/java/org/isoron/uhabits/models/ScoreList.java b/app/src/main/java/org/isoron/uhabits/models/ScoreList.java index a77bfa666..eb6cf2e81 100644 --- a/app/src/main/java/org/isoron/uhabits/models/ScoreList.java +++ b/app/src/main/java/org/isoron/uhabits/models/ScoreList.java @@ -173,7 +173,7 @@ public abstract class ScoreList implements Iterable { String timestamp = dateFormat.format(s.getTimestamp()); String score = - String.format("%.4f", ((float) s.getValue()) / Score.MAX_VALUE); + String.format(Locale.US, "%.4f", ((float) s.getValue()) / Score.MAX_VALUE); out.write(String.format("%s,%s\n", timestamp, score)); } }