You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fixed: Manually add stack trace of caller function that called ResultReturner.returnData() to exception messages as exceptions thrown inside Runnable lambda thread will not include it by default
For example, exceptions like following don't tell which API call failed and where.
```
Error in ResultReturner:
java.io.IOException: Connection refused
at android.net.LocalSocketImpl.connectLocal(Native Method)
at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:259)
at android.net.LocalSocket.connect(LocalSocket.java:162)
at com.termux.api.util.ResultReturner.lambda$returnData$0(ResultReturner.java:244)
at com.termux.api.util.ResultReturner$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at java.lang.Thread.run(Thread.java:1119)
```
Now it will be something like this
```
Error in ResultReturner:
java.io.IOException: Connection refused
at android.net.LocalSocketImpl.connectLocal(Native Method)
at android.net.LocalSocketImpl.connect(LocalSocketImpl.java:259)
at android.net.LocalSocket.connect(LocalSocket.java:162)
at com.termux.api.util.ResultReturner.lambda$returnData$0(ResultReturner.java:244)
at com.termux.api.util.ResultReturner$$ExternalSyntheticLambda0.run(D8$$SyntheticClass:0)
at java.lang.Thread.run(Thread.java:1119)
Suppressed: java.lang.Exception: Called by:
at com.termux.api.util.ResultReturner.returnData(ResultReturner.java:234)
at com.termux.api.apis.BatteryStatusAPI.onReceive(BatteryStatusAPI.java:27)
at com.termux.api.TermuxApiReceiver.doWork(TermuxApiReceiver.java:91)
at com.termux.api.TermuxApiReceiver.onReceive(TermuxApiReceiver.java:65)
at android.app.ActivityThread.handleReceiver(ActivityThread.java:5029)
at android.app.ActivityThread.-$$Nest$mhandleReceiver(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2577)
at android.os.Handler.dispatchMessage(Handler.java:110)
at android.os.Looper.loopOnce(Looper.java:248)
at android.os.Looper.loop(Looper.java:338)
at android.app.ActivityThread.main(ActivityThread.java:9067)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
```
0 commit comments