From 894ac4fef2988f1d966078c3a0bcdad63e9fc1b8 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Mon, 6 May 2013 13:52:21 +0100 Subject: [PATCH] TtsService: use the same default..max value clamp for speech rate as when upgrading the settings --- android/src/com/reecedunn/espeak/TtsService.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/android/src/com/reecedunn/espeak/TtsService.java b/android/src/com/reecedunn/espeak/TtsService.java index a0517909..6ab421d5 100644 --- a/android/src/com/reecedunn/espeak/TtsService.java +++ b/android/src/com/reecedunn/espeak/TtsService.java @@ -213,7 +213,12 @@ public class TtsService extends TextToSpeechService { int rate = getPreferenceValue(prefs, "espeak_rate", Integer.MIN_VALUE); if (rate == Integer.MIN_VALUE) { // Try the old eyes-free setting: - rate = (getPreferenceValue(prefs, "default_rate", 100) / 100) * mEngine.Rate.getDefaultValue(); + int defaultValue = mEngine.Rate.getDefaultValue(); + int maxValue = mEngine.Rate.getMaxValue(); + + rate = (getPreferenceValue(prefs, "default_rate", 100) / 100) * defaultValue; + if (rate < defaultValue) rate = defaultValue; + if (rate > maxValue) rate = maxValue; } int pitch = getPreferenceValue(prefs, "espeak_pitch", Integer.MIN_VALUE);