package net.bible.service.device.speak;
import java.util.Locale;
import net.bible.service.common.CommonUtils;
/** maintain a list of languages that are knwn to be supported by the installed TTS engine
* this list will be updated on success/failure of TTS init
*
* @author Martin Denham [mjdenham at gmail dot com]
* @see gnu.lgpl.License for license details.<br>
* The copyright to this program is held by it's author.
*/
public class TTSLanguageSupport {
private static final String TTS_LANG_SUPPORTED_KEY = "TTS_LANG_SUPPORTED";
private static final String LANG_SEPERATOR = ",";
public void addSupportedLocale(Locale locale) {
if (!isLangKnownToBeSupported(locale.getLanguage())) {
String langCode = locale.getLanguage();
String langList = getSupportedLangList();
CommonUtils.getSharedPreferences()
.edit()
.putString(TTS_LANG_SUPPORTED_KEY, langList+LANG_SEPERATOR+langCode)
.commit();
}
}
public void addUnsupportedLocale(Locale locale) {
if (isLangKnownToBeSupported(locale.getLanguage())) {
String langCode = locale.getLanguage();
String langList = getSupportedLangList();
CommonUtils.getSharedPreferences()
.edit()
.putString(TTS_LANG_SUPPORTED_KEY, langList.replace(LANG_SEPERATOR+langCode, ""))
.commit();
}
}
public boolean isLangKnownToBeSupported(String langCode) {
boolean isSupported = getSupportedLangList().contains(langCode);
return isSupported;
}
private String getSupportedLangList() {
return CommonUtils.getSharedPreferences().getString(TTS_LANG_SUPPORTED_KEY, "");
}
}