Nada.... Segundo día de duro trabajo y he conseguido que el Endomondo hable en todos los idiomas que tiene el TTS en mi móvil, menos en el castellano.... GERMAN, FRENCH, ITALY, ENGLISH....
Se me acaban las opciones, no sé... tendré que abrir más los ojos....
La clave está en esto:
#new-instance v1, Ljava/util/Locale;
#const-string v2, "es"
#invoke-direct {v1, v2}, Ljava/util/Locale;-><init>(Ljava/lang/String;)V
#invoke-virtual {v0, v1}, Landroid/speech/tts/TextToSpeech;->setLanguage(Ljava/util/Locale;)I
Esto otro por ejemplo sí funciona:
sget-object v1, Ljava/util/Locale;->GERMAN:Ljava/util/Locale;
invoke-virtual {v0, v1}, Landroid/speech/tts/TextToSpeech;->setLanguage(Ljava/util/Locale;)I
NO se que puede estar fallando....
Si conoceis este código y véis que puede fallar, echarme una mano....
El problema está con el constructor de la clase Locate de Java...
new Locate("es")
No parece que reconozca nuestro idioma... je je je