phhusson / treble_experimentations

Notes about tinkering with Android Project Treble
3.4k stars 660 forks source link

SMS broken with VoLTE Mediatek Pie vendor #2345

Open clewisit opened 2 years ago

clewisit commented 2 years ago

Current Behavior:

Send text. Message is received by recipient immediately. Messaging shows the message is sending then eventually changes to "not sent". com.mediatek.ims.ImsService crashes.

Describe the bug

Text sent with VoLTE enabled results in com.mediatek.ims.ImsService crash. Ims Service may not restart so subsequent text messages may not send or receive until phone is rebooted.

To Reproduce

1. Install and setup rom. 2. Enable mobile data. 3. Go to settings/phh treble settings/IMS features 4. Tap "create IMS apn" 5. enable "request IMS" 6. Tap "install Create IMS for Mediatek Pie Vendor" and install the downloaded apk when requested. 7. reboot 8. Send a text ### Expected behavior Sending text should result in message being marked as sent and not crashing the ims service. ### Photos ### Smartphone (please complete the following information): - Device: Ulefone Armor 3WT - Build Flavor: LineageOS/crDroid an other ROMs based on AOSP 413 build - Version 413 ### Additional context Unable to test AOSP GSI directly because I can't enable LTE. Separate bug report to follow. Log of com.mediatek.ims.ImsService crash: time: 1653974624296 msg: java.lang.IllegalAccessError: Field 'com.android.internal.telephony.SmsResponse.mMessageRef' is inaccessible to class 'com.mediatek.ims.ImsService$MyHandler' (declaration of 'com.mediatek.ims.ImsService$MyHandler' appears in /data/app/~~mge1VgCT-Q_xpVc3DEr3cg==/com.mediatek.ims-x5vGaz1XfhjX04P2h5d_CA==/base.apk) stacktrace: java.lang.IllegalAccessError: Field 'com.android.internal.telephony.SmsResponse.mMessageRef' is inaccessible to class 'com.mediatek.ims.ImsService$MyHandler' (declaration of 'com.mediatek.ims.ImsService$MyHandler' appears in /data/app/~~mge1VgCT-Q_xpVc3DEr3cg==/com.mediatek.ims-x5vGaz1XfhjX04P2h5d_CA==/base.apk) at com.mediatek.ims.ImsService$MyHandler.handleMessage(ImsService.java:2104) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7877) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
clewisit commented 2 years ago

This is possibly related to issue https://github.com/phhusson/treble_experimentations/issues/2125

clewisit commented 2 years ago

Finally verified the same error message occurs on AOSP v413. Not sure if it makes a difference, but my carrier is T-Mobile, and they are retiring their 3g network July 2022.