android - Text-to-speech output screen crashing -


i working on custom text-to-speech engine android (just 1 language). on phones works correctly, have problems on nexus 4 kit kat installed. engine installed , visible under available engines. can choose preferred engine. after click on language options engine alert dialog 1 language available appears(it's normal). after click on it, settings app crashes. happens every time after when try open settings/language&input/text-to-speech output. can see under default language option checking... written. when check stack trace can see missingresourceexceptions: no 3-letter language code locale thrown in function com.android.setting.tts.texttospeechsettings.checkdefaultlocale()

i discovered made mistake language iso3 code , fixed it. when install version nexus 4 phone, had no previous version of app installed, crashes don't happen anymore. when installed on phone, had previous version, problem exists (although old version uninstalled). can see settings app still using old (wrong) iso3 code. how possible if first version uninstalled?

i must can use talkback optins engine. because of crashes impossible change preferred engine once engine chosen

here stacktrace

 03-10 11:11:35.934: e/androidruntime(10608): fatal exception: main 03-10 11:11:35.934: e/androidruntime(10608): process: com.android.settings, pid: 10608 03-10 11:11:35.934: e/androidruntime(10608): java.util.missingresourceexception: no 3-letter language code locale: hebrew 03-10 11:11:35.934: e/androidruntime(10608):    @ java.util.locale.getiso3language(locale.java:540) 03-10 11:11:35.934: e/androidruntime(10608):    @ com.android.settings.tts.texttospeechsettings.evaluatedefaultlocale(texttospeechsettings.java:284) 03-10 11:11:35.934: e/androidruntime(10608):    @ com.android.settings.tts.texttospeechsettings.checkdefaultlocale(texttospeechsettings.java:270) 03-10 11:11:35.934: e/androidruntime(10608):    @ com.android.settings.tts.texttospeechsettings.oninitengine(texttospeechsettings.java:251) 03-10 11:11:35.934: e/androidruntime(10608):    @ com.android.settings.tts.texttospeechsettings$1.oninit(texttospeechsettings.java:128) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.speech.tts.texttospeech.dispatchoninit(texttospeech.java:701) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.speech.tts.texttospeech.access$1400(texttospeech.java:58) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.speech.tts.texttospeech$connection$setupconnectionasynctask.onpostexecute(texttospeech.java:1509) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.speech.tts.texttospeech$connection$setupconnectionasynctask.onpostexecute(texttospeech.java:1471) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.os.asynctask.finish(asynctask.java:632) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.os.asynctask.access$600(asynctask.java:177) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.os.asynctask$internalhandler.handlemessage(asynctask.java:645) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.os.handler.dispatchmessage(handler.java:102) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.os.looper.loop(looper.java:136) 03-10 11:11:35.934: e/androidruntime(10608):    @ android.app.activitythread.main(activitythread.java:5017) 03-10 11:11:35.934: e/androidruntime(10608):    @ java.lang.reflect.method.invokenative(native method) 03-10 11:11:35.934: e/androidruntime(10608):    @ java.lang.reflect.method.invoke(method.java:515) 03-10 11:11:35.934: e/androidruntime(10608):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:779) 03-10 11:11:35.934: e/androidruntime(10608):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:595) 03-10 11:11:35.934: e/androidruntime(10608):    @ dalvik.system.nativestart.main(native method) 03-10 11:11:35.944: w/activitymanager(598):   force finishing activity com.android.settings/.subsettings 03-10 11:11:35.944: w/activitymanager(598):   force finishing activity com.android.settings/.subsettings 03-10 11:11:36.445: w/activitymanager(598): activity pause timeout activityrecord{432ad308 u0 com.android.settings/.subsettings t218 f} 

this in android bug , it's frustrating.

there bug reported here (which fixed of this, not yet rolled out actual devices) , related 1 here.

if locale declaring cannot matched system, settings persist crash. tried clearing prevent happening, system caching value somewhere , attempting match prior checking updated locale in app.

i changed code locale knew matched, wiped device , resintalled...

you need make sure declare locale correctly heb-heb think!!! beware!!! if android doesn't recognise it, you'll crash again....

it's best declare locale default , check in settings if locale code using displayed correctly. if it's not, don't select it! , try again....

i posted on bug report above, asking android persisted incorrect locale, got no answer.... if can find out, wouldn't need wipe device. tried wiping caches in recovery, didn't work.


Comments

Popular posts from this blog

Android layout hidden on keyboard show -

google app engine - 403 Forbidden POST - Flask WTForms -

c - Why would PK11_GenerateRandom() return an error -8023? -