Compare commits

..

4 Commits

6 changed files with 24 additions and 9 deletions

View File

@@ -1,5 +1,14 @@
# Changelog # 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.
* Update targetSdk to Android Pie (API level 28)
### 1.7.8 (April 21, 2018) ### 1.7.8 (April 21, 2018)
* Add support for adaptive icons (Oreo) * Add support for adaptive icons (Oreo)

View File

@@ -5,8 +5,8 @@ apply plugin: 'jacoco'
apply plugin: 'com.github.triplet.play' apply plugin: 'com.github.triplet.play'
android { android {
compileSdkVersion 27 compileSdkVersion 28
buildToolsVersion "27.0.3" buildToolsVersion "28.0.3"
// signingConfigs { // signingConfigs {
// release { // release {
@@ -27,7 +27,7 @@ android {
defaultConfig { defaultConfig {
applicationId "org.isoron.uhabits" applicationId "org.isoron.uhabits"
minSdkVersion 15 minSdkVersion 15
targetSdkVersion 27 targetSdkVersion 28
buildConfigField "Integer", "databaseVersion", "15" buildConfigField "Integer", "databaseVersion", "15"
buildConfigField "String", "databaseFilename", "\"uhabits.db\"" buildConfigField "String", "databaseFilename", "\"uhabits.db\""

View File

@@ -21,8 +21,8 @@
<manifest <manifest
package="org.isoron.uhabits" package="org.isoron.uhabits"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="36" android:versionCode="38"
android:versionName="1.7.9"> android:versionName="1.7.11">
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>

View File

@@ -119,7 +119,7 @@ public class HabitsCSVExporter
{ {
String sane = sanitizeFilename(h.getName()); String sane = sanitizeFilename(h.getName());
String habitDirName = 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() + "/"; habitDirName = habitDirName.trim() + "/";
new File(exportDirName + habitDirName).mkdirs(); new File(exportDirName + habitDirName).mkdirs();
@@ -202,7 +202,7 @@ public class HabitsCSVExporter
checksWriter.write(String.valueOf(checkmarks.get(j)[i])); checksWriter.write(String.valueOf(checkmarks.get(j)[i]));
checksWriter.write(DELIMITER); checksWriter.write(DELIMITER);
String score = 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(score);
scoresWriter.write(DELIMITER); scoresWriter.write(DELIMITER);
} }

View File

@@ -173,7 +173,7 @@ public abstract class ScoreList implements Iterable<Score>
{ {
String timestamp = dateFormat.format(s.getTimestamp()); String timestamp = dateFormat.format(s.getTimestamp());
String score = 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)); out.write(String.format("%s,%s\n", timestamp, score));
} }
} }

View File

@@ -239,7 +239,13 @@ public class NotificationTray
createAndroidNotificationChannel(context); createAndroidNotificationChannel(context);
int notificationId = getNotificationId(habit); int notificationId = getNotificationId(habit);
notificationManager.notify(notificationId, builder.build());
try {
notificationManager.notify(notificationId, builder.build());
} catch(RuntimeException e) {
builder.setSound(null);
notificationManager.notify(notificationId, builder.build());
}
} }
private boolean shouldShowReminderToday() private boolean shouldShowReminderToday()