Skip to content

Commit acac9b4

Browse files
authored
Don't restart utterance in TTS when submitting the same preferences again (readium#530)
1 parent 852d1c9 commit acac9b4

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/TtsNavigator.kt

-1
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,6 @@ public class TtsNavigator<S : TtsEngine.Settings, P : TtsEngine.Preferences<P>,
170170

171171
override fun submitPreferences(preferences: P) {
172172
player.submitPreferences(preferences)
173-
player.restartUtterance()
174173
}
175174

176175
private fun navigatorPlayback(playback: TtsPlayer.Playback, utterance: TtsPlayer.Utterance) =

readium/navigators/media/tts/src/main/java/org/readium/navigator/media/tts/TtsPlayer.kt

+10-1
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ internal class TtsPlayer<S : TtsEngine.Settings, P : TtsEngine.Preferences<P>,
196196
initialPreferences
197197

198198
init {
199-
submitPreferences(initialPreferences)
199+
submitPreferencesForSure(initialPreferences)
200200
}
201201

202202
fun play() {
@@ -560,6 +560,15 @@ internal class TtsPlayer<S : TtsEngine.Settings, P : TtsEngine.Preferences<P>,
560560
}
561561

562562
override fun submitPreferences(preferences: P) {
563+
if (preferences == lastPreferences) {
564+
return
565+
}
566+
567+
submitPreferencesForSure(preferences)
568+
restartUtterance()
569+
}
570+
571+
private fun submitPreferencesForSure(preferences: P) {
563572
lastPreferences = preferences
564573
engineFacade.submitPreferences(preferences)
565574
contentIterator.language = engineFacade.settings.value.language

0 commit comments

Comments
 (0)