summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorMartin Fietz <Martin.Fietz@gmail.com>2015-08-02 17:43:41 +0200
committerMartin Fietz <Martin.Fietz@gmail.com>2015-08-02 17:45:36 +0200
commit65d470043baf7f3f7d7009d16255e33b68af3650 (patch)
treece7bd3a592add54552a944540c4e55653a6430f7 /core
parent759a7bb5acf59ae49550b89528bbcd4489d33b32 (diff)
downloadAntennaPod-65d470043baf7f3f7d7009d16255e33b68af3650.zip
Fix duration overflow and time unit plurals
Diffstat (limited to 'core')
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/Converter.java16
-rw-r--r--core/src/main/res/values/strings.xml15
2 files changed, 20 insertions, 11 deletions
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java b/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java
index 917f99564..2bf88b3f3 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/Converter.java
@@ -26,7 +26,7 @@ public final class Converter {
/** Determines the length of the number for best readability.*/
private static final int NUM_LENGTH = 1024;
-
+ private static final int DAYS_MIL = 86400000;
private static final int HOURS_MIL = 3600000;
private static final int MINUTES_MIL = 60000;
private static final int SECONDS_MIL = 1000;
@@ -104,18 +104,18 @@ public final class Converter {
}
/** Converts milliseconds to a localized string containing hours and minutes */
- public static String getDurationStringLocalized(Context context, int duration) {
- int h = duration / HOURS_MIL;
- int rest = duration - h * HOURS_MIL;
+ public static String getDurationStringLocalized(Context context, long duration) {
+ int h = (int)(duration / HOURS_MIL);
+ int rest = (int)(duration - h * HOURS_MIL);
int m = rest / MINUTES_MIL;
String result = "";
if(h > 0) {
- String hours = context.getString(R.string.time_unit_hours);
- result += h + " " + hours + " ";
+ String hours = context.getResources().getQuantityString(R.plurals.time_unit_hours, h, h);
+ result += hours + " ";
}
- String minutes = context.getString(R.string.time_unit_minutes);
- result += m + " " + minutes;
+ String minutes = context.getResources().getQuantityString(R.plurals.time_unit_minutes, m, m);
+ result += minutes;
return result;
}
diff --git a/core/src/main/res/values/strings.xml b/core/src/main/res/values/strings.xml
index 21a35cdb7..eca366a2d 100644
--- a/core/src/main/res/values/strings.xml
+++ b/core/src/main/res/values/strings.xml
@@ -380,9 +380,18 @@
<string name="sleep_timer_label">Sleep timer</string>
<string name="time_left_label">Time left:\u0020</string>
<string name="time_dialog_invalid_input">Invalid input, time has to be an integer</string>
- <string name="time_unit_seconds">seconds</string>
- <string name="time_unit_minutes">minutes</string>
- <string name="time_unit_hours">hours</string>
+ <plurals name="time_unit_seconds">
+ <item quantity="one">1 second</item>
+ <item quantity="other">%d seconds</item>
+ </plurals>
+ <plurals name="time_unit_minutes">
+ <item quantity="one">1 minute</item>
+ <item quantity="other">%d minutes</item>
+ </plurals>
+ <plurals name="time_unit_hours">
+ <item quantity="one">1 hour</item>
+ <item quantity="other">%d hours</item>
+ </plurals>
<!-- gpodder.net -->
<string name="gpodnet_taglist_header">CATEGORIES</string>