forked from upstream-mirrors/OpenTracks
Voice Announcements remove "point zero"
Check if total distance is a whole number to prevent TTS reading out "point zero" unnecessarily
This commit is contained in:
committed by
Dennis Guse
parent
4a6f652663
commit
eed9680699
+5
-4
@@ -186,12 +186,13 @@ class VoiceAnnouncementUtils {
|
|||||||
TtsSpan.MeasureBuilder measureBuilder = new TtsSpan.MeasureBuilder()
|
TtsSpan.MeasureBuilder measureBuilder = new TtsSpan.MeasureBuilder()
|
||||||
.setUnit(unit);
|
.setUnit(unit);
|
||||||
|
|
||||||
if (precision == 0) {
|
// Round before extracting integral and decimal parts
|
||||||
|
double roundedNumber = Math.round(Math.pow(10, precision) * number) / Math.pow(10.0, precision);
|
||||||
|
long integerPart = (long) roundedNumber;
|
||||||
|
|
||||||
|
if (precision == 0 || (roundedNumber - integerPart) == 0) {
|
||||||
measureBuilder.setNumber((long)number);
|
measureBuilder.setNumber((long)number);
|
||||||
} else {
|
} else {
|
||||||
// Round before extracting integral and decimal parts
|
|
||||||
double roundedNumber = Math.round(Math.pow(10, precision) * number) / Math.pow(10.0, precision);
|
|
||||||
long integerPart = (long) roundedNumber;
|
|
||||||
// Extract the decimal part
|
// Extract the decimal part
|
||||||
String fractionalPart = String.format("%." + precision + "f", (roundedNumber - integerPart)).substring(2);
|
String fractionalPart = String.format("%." + precision + "f", (roundedNumber - integerPart)).substring(2);
|
||||||
measureBuilder.setIntegerPart(integerPart)
|
measureBuilder.setIntegerPart(integerPart)
|
||||||
|
|||||||
Reference in New Issue
Block a user