GrapheneOS / talkback

Apache License 2.0
11 stars 3 forks source link

TalkBack not working (2022122700) #45

Closed afunial closed 1 year ago

afunial commented 1 year ago

Since GrapheneOS TQ1A.221205.011.2022122700 (with update to TalkBack 13) TalkBack doesn't work anymore. The software braille keyboard crashes when typing any character. Once the device (in my case Pixel 6) is unlocked, there's no speech feedack (I'm using espeak) and it reports in accessibility settings that there is an error with TalkBack.

thestinger commented 1 year ago

cc @PatrykMis

thestinger commented 1 year ago

I'll revert this for the next release. We didn't get reports of any issues while the release was in alpha or beta.

thestinger commented 1 year ago

@afunial What if you clear the app data?

thestinger commented 1 year ago

@afunial Need you to make absolutely sure there is something wrong with the app and not the device configuration including an issue with TTS configuration. We'll also be unable to do much about this since it wasn't report in alpha or beta testing and the next release will likely be the January security update.

afunial commented 1 year ago

@afunial What if you clear the app data?

@thestinger Thank you very much, clearing the app data solved the problem. I had some issues with espeak, too, but now I can use my phone again and everything works.

I can provide logs for the issue if you need it, but I think the solution with the app data should be fine for the TalkBack update.

thestinger commented 1 year ago

Logs would probably be helpful.

thestinger commented 1 year ago

I expect there's nothing we can do about this which is likely an upstream bug, but I'm curious if it's an obvious crash we could resolve.

afunial commented 1 year ago

Here's an extract of the logs with the error, if you need something different, please ask for it.

12-28 18:39:01.380 2298 2298 E AndroidRuntime: FATAL EXCEPTION: main 12-28 18:39:01.380 2298 2298 E AndroidRuntime: Process: com.android.talkback, PID: 2298 12-28 18:39:01.380 2298 2298 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'boolean com.google.android.accessibility.braille.interfaces.BrailleDisplayForBrailleIme.isBrailleDisplayConnectedAndNotSuspended()' on a null object reference 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.google.android.accessibility.talkback.TalkBackService$5.shouldAnnounceCharacter(TalkBackService.java:1601) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.google.android.accessibility.brailleime.BrailleIme.getImeConnection(BrailleIme.java:1146) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.google.android.accessibility.brailleime.BrailleIme.-$$Nest$mgetImeConnection(Unknown Source:0) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.google.android.accessibility.brailleime.BrailleIme$10.onBrailleProduced(BrailleIme.java:990) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.google.android.accessibility.brailleime.input.BrailleInputView.processResult(BrailleInputView.java:223) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.google.android.accessibility.brailleime.input.BrailleInputView.onTouchEvent(BrailleInputView.java:215) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.View.dispatchTouchEvent(View.java:15010) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3121) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2802) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.View.dispatchPointerEvent(View.java:15269) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6650) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6450) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5906) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5963) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5929) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6094) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5937) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6151) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5910) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5963) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5929) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5937) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5910) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8985) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8936) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:8905) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9108) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:267) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.os.MessageQueue.nativePollOnce(Native Method) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.os.MessageQueue.next(MessageQueue.java:335) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:161) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7878) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.android.internal.os.ExecInit.main(ExecInit.java:49) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) 12-28 18:39:01.380 2298 2298 E AndroidRuntime: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)

thestinger commented 1 year ago

That's probably helpful, thanks. I don't really think we'll do anything to fix this at this point but it's good to have the traceback in case we decide to do it.

afunial commented 1 year ago

After a closer testing with the clean config and app data: The Talkback braille keyboard crashes reproducible, so as a workaround I use the standard keyboard now. There are a few minor bugs as well in the new TalkBack version like in some apps the button click doesn't work, as a workaround you can use the pass through gesture which is a little bit tricky but works for the moment.

As a conclusion I'd like to go back to 12.3 until these bugs are fixed in 13 upstream. So would you please revert the TalkBack update temporarily for the next regular update as you mentioned?

thestinger commented 1 year ago

We could revert it.

thestinger commented 1 year ago

Note: reverting it may cause problems from downgrading the app which may not handle new data it saved from the new version. It's somewhat problematic.

thestinger commented 1 year ago

This has been reverted for the next release. We'll need to work around the issues to ship it.

thestinger commented 1 year ago

Should have a proper update to v13.2 now.

PatrykMis commented 1 year ago

Exactly, tested and working for me, but if someone is able to test too - #49.