This is what I'm doing now:
String deviceLang = Locale.getDefault().getLanguage();
speech.setLanguage(deviceLang.equals("en") || deviceLang.equals("es") ? Locale.getDefault() : Locale.US);
However I'm not happy with the fact that I have to keep it updated with the languages I'm supporting. A better solution would be to get app supported languages and compare it with deviceLang (this might be possible with AssetManager.getLocales()
but I haven't managed to prove it)