mirror of
https://github.com/rhasspy/espeak-ng.git
synced 2026-10-31 13:38:47 +00:00
Fix the tests on Android Marshmallow.
This commit is contained in:
@@ -196,12 +196,42 @@ public class TextToSpeechTest extends TextToSpeechTestCase
|
||||
final Locale java3 = new Locale(data.javaLanguage, "VUT", data.variant);
|
||||
|
||||
checkLanguage(data, iana1, TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE, data.javaLanguage, data.javaCountry, data.variant);
|
||||
checkLanguage(data, iana2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "");
|
||||
checkLanguage(data, iana3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "", "");
|
||||
|
||||
checkLanguage(data, java1, TextToSpeech.LANG_COUNTRY_VAR_AVAILABLE, data.javaLanguage, data.javaCountry, data.variant);
|
||||
checkLanguage(data, java2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "");
|
||||
checkLanguage(data, java3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "", "");
|
||||
|
||||
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
||||
// Android Lollipop sets variant to "" when TextToSpeech.LANG_COUNTRY_AVAILABLE is returned.
|
||||
checkLanguage(data, iana2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "");
|
||||
checkLanguage(data, java2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "");
|
||||
} else {
|
||||
if (data.ianaLanguage.equals("vi") && data.ianaCountry.equals("VN")) {
|
||||
checkLanguage(data, iana2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "hue");
|
||||
checkLanguage(data, java2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "hue");
|
||||
} else {
|
||||
checkLanguage(data, iana2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "");
|
||||
checkLanguage(data, java2, TextToSpeech.LANG_COUNTRY_AVAILABLE, data.javaLanguage, data.javaCountry, "");
|
||||
}
|
||||
}
|
||||
|
||||
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
||||
// Android Lollipop sets country and variant to "" when TextToSpeech.LANG_AVAILABLE is returned.
|
||||
checkLanguage(data, iana3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "", "");
|
||||
checkLanguage(data, java3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "", "");
|
||||
} else {
|
||||
switch (data.ianaLanguage) {
|
||||
case "fr":
|
||||
checkLanguage(data, iana3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "FRA", "");
|
||||
checkLanguage(data, java3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "FRA", "");
|
||||
break;
|
||||
case "pt":
|
||||
checkLanguage(data, iana3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "PRT", "");
|
||||
checkLanguage(data, java3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "PRT", "");
|
||||
break;
|
||||
default:
|
||||
checkLanguage(data, iana3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "", "");
|
||||
checkLanguage(data, java3, TextToSpeech.LANG_AVAILABLE, data.javaLanguage, "", "");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,8 +168,17 @@ public class TtsService extends TextToSpeechService {
|
||||
final Pair<Voice, Integer> match = findVoice(language, country, variant);
|
||||
switch (match.second) {
|
||||
case TextToSpeech.LANG_AVAILABLE:
|
||||
if (language.equals("fr") || language.equals("fra")) {
|
||||
return new Pair<>(findVoice(language, "FRA", "").first, match.second);
|
||||
}
|
||||
if (language.equals("pt") || language.equals("por")) {
|
||||
return new Pair<>(findVoice(language, "PRT", "").first, match.second);
|
||||
}
|
||||
return new Pair<>(findVoice(language, "", "").first, match.second);
|
||||
case TextToSpeech.LANG_COUNTRY_AVAILABLE:
|
||||
if ((language.equals("vi") || language.equals("vie")) && (country.equals("VN") || country.equals("VNM"))) {
|
||||
return new Pair<>(findVoice(language, country, "hue").first, match.second);
|
||||
}
|
||||
return new Pair<>(findVoice(language, country, "").first, match.second);
|
||||
default:
|
||||
return match;
|
||||
|
||||
Reference in New Issue
Block a user