From c14cfbf9126160cd2349294ce8fbbb0194ed8b04 Mon Sep 17 00:00:00 2001 From: "Reece H. Dunn" Date: Thu, 30 Oct 2014 16:07:49 +0000 Subject: [PATCH] SpeechSynthesis: test for and prevent duplicate voice entries --- .../src/com/reecedunn/espeak/test/SpeechSynthesisTest.java | 1 + android/src/com/reecedunn/espeak/SpeechSynthesis.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java b/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java index 0e4f8968..c142e0a3 100644 --- a/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java +++ b/android/eSpeakTests/src/com/reecedunn/espeak/test/SpeechSynthesisTest.java @@ -116,6 +116,7 @@ public class SpeechSynthesisTest extends TextToSpeechTestCase final SpeechSynthesis synth = new SpeechSynthesis(getContext(), mCallback); mVoices = new HashMap(); for (Voice voice : synth.getAvailableVoices()) { + assertThat(mVoices.get(voice.name), is(nullValue())); mVoices.put(voice.name, voice); } assertThat(mVoices, is(notNullValue())); diff --git a/android/src/com/reecedunn/espeak/SpeechSynthesis.java b/android/src/com/reecedunn/espeak/SpeechSynthesis.java index 245ac0e9..a84ab9c3 100644 --- a/android/src/com/reecedunn/espeak/SpeechSynthesis.java +++ b/android/src/com/reecedunn/espeak/SpeechSynthesis.java @@ -123,6 +123,8 @@ public class SpeechSynthesis { if (name.equals("fa-pin")) { // Android locales do not support scripts, so fa-Latn is not possible for Farsi Pinglish: locale = null; + } else if (identifier.equals("asia/fa-en-us")) { + locale = null; } else if (name.equals("om")) { // This is an experimental voice that is not currently well tested to be used. locale = null;