Fate-Grand-Automata / FGA

Auto-battle app for F/GO Android
https://fate-grand-automata.github.io
MIT License
1.38k stars 268 forks source link

"Touchscreen supported device must report faketouch" | Xiaomi POCO M3 model #1854

Open Rigerhit047 opened 1 week ago

Rigerhit047 commented 1 week ago

Preparation

FGO server

NA

FGA build number

2740

Describe the bug

Hello, I've been using FGA for years since playing FGO, and it has always worked wonderfully, sadly, since a couple of days I am not able to use it on my phone (Xiaomi Poco M3) again. Since getting A14 months ago the app still worked wonderfully, but now the message on my screenshot appears after a split second of clicking Accept after selecting a team.

Since Android 14, when you start a screen recording, you are now presented with a dialog that asks if you want to record the entire screen, or a single app, As shown here: QuickMockup

(Which btw, if you close that dialog, sometimes FGA will think it has permission and start the service but crash when you use it in the game, only happens a few times tho.)

Now I didn't really pay any attention to it, so I just left in default (Entire screen) that it is the default behaviour in Android since you can do screen recording, and it worked like normal.

Now, I was curious to see how the app would behave if it could only see FGO, would it behave like normal but I finally could have a big video in PIP without screwing the script? So some days ago I tried it, when I did, the button disappered when I touched it, and when returning to the app it crashed, I thought it was weird, tried it again, and same result, so I stopped the services and just started it like normal, that's when I got the dreaded error... Tried force stopping FGA and restarting the phone, but the issue did not go away... Tried what I wrote below, and nothing worked, it has been some days, and it still does not work.

It really worries me that even restarting the phone did not work, this was during Hunting Quests so it did hurt a little.

It may be a key point to know that the message only appears after the screens turns white after the title screen on FGO, after that, that message will appear just a split second after selecting a team, before that, FGA will just be searching without showing any errors.

Another considerations:

Screenshot

Screenshot_20240705-204253_Fate_GO_EN

Device model

Xiaomi POCO M3

Android version

14

Screen size

2340x1080

RAM

4GB

Log

java.lang.IllegalStateException: touchscreen supported device must report faketouch.

D2.g: java.lang.IllegalStateException: touchscreen supported device must report faketouch.
    at D2.z.k(SourceFile:21)
    at B2.g.c(SourceFile:4)
    at k3.a.run(SourceFile:3)
Caused by: java.lang.IllegalStateException: touchscreen supported device must report faketouch.
    at android.os.Parcel.createExceptionOrNull(Parcel.java:3065)
    at android.os.Parcel.createException(Parcel.java:3041)
    at android.os.Parcel.readException(Parcel.java:3024)
    at android.os.Parcel.readException(Parcel.java:2966)
    at android.accessibilityservice.IAccessibilityServiceConnection$Stub$Proxy.dispatchGesture(IAccessibilityServiceConnection.java:1713)
    at android.accessibilityservice.AccessibilityService.dispatchGesture(AccessibilityService.java:1238)
    at s2.f.b(SourceFile:37)
    at s2.a.r(SourceFile:148)
    at n3.a.p(SourceFile:9)
    at H3.E.run(SourceFile:115)
    at H3.M.s(SourceFile:141)
    at H3.z.t(SourceFile:105)
    at H3.z.u(SourceFile:3)
    at f3.H.s(SourceFile:33)
    at C2.a.s(SourceFile:8)
    at I2.p.s(SourceFile:8)
    at I2.z.a(SourceFile:93)
    at I2.B.a(SourceFile:108)
    at I2.C.r(SourceFile:88)
    at D2.a.c(SourceFile:1255)
    at D2.z.B(SourceFile:418)
    at D2.z.k(SourceFile:1)
    ... 2 more
Caused by: android.os.RemoteException: Remote stack trace:
    at com.android.server.wm.WindowManagerService$LocalService.isTouchOrFaketouchDevice(WindowManagerService.java:8229)
    at com.android.server.accessibility.AccessibilityServiceConnection.dispatchGesture(AccessibilityServiceConnection.java:465)
    at android.accessibilityservice.IAccessibilityServiceConnection$Stub.onTransact(IAccessibilityServiceConnection.java:869)
    at android.os.Binder.execTransactInternal(Binder.java:1363)
    at android.os.Binder.execTransact(Binder.java:1304)

Originally posted on the Discord forum

ArthurKun21 commented 1 week ago

If anyone knows how to fix this, feel free to open a PR request!