When there is no TTS engine selected, mTts.getVoice() will throw a NullPointerException. This is a workaround to cope with this bug in Android.master
| @@ -198,7 +198,14 @@ public class eSpeakActivity extends Activity { | |||
| private Locale getTtsLanguage() { | |||
| if (mTts != null) { | |||
| if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { | |||
| android.speech.tts.Voice voice = mTts.getVoice(); | |||
| android.speech.tts.Voice voice = null; | |||
| try { | |||
| voice = mTts.getVoice(); | |||
| } catch (NullPointerException e) { | |||
| // Android Lollipop and later may throw a NullPointerException | |||
| // if a voice is not selected. | |||
| return null; | |||
| } | |||
| if (voice != null) { | |||
| return voice.getLocale(); | |||
| } | |||