CM10 MMS

andrewnelson23

Well-known member
Apr 18, 2012
795
145
0
Okay so I've been working on trying to fix mms for Zakman's cm10 port. I replaced both the apns-conf.xml, and the cdmasmsdispatcher.smali with the ones from tdm's quattrimus.

THAT FIXED MMS. However, now outgoing sms is broken. Receiving sms is fine. but outgoing gives a com.android.phone fc.

I have uploaded both of the roms ORIGINAL cdmasmsdispatcher.smali's. I figured something in the cm10 original cdmasmsdispatcher.smali will help us get outgoing working with the quattrimus cdmasmsdispatcher.smali on the cm10 rom.

CM10 cdmsmsdispatcher
Quattrimus cdmasmsdispatcher

Here, also, is a logcat of when I tried sending a text message to myself on cm10.
Code:
V/SmsReceiverService( 3005): onStart: #1 mResultCode: -1 = Activity.RESULT_OK
D/dalvikvm( 1638): WAIT_FOR_CONCURRENT_GC blocked 0ms
D/dalvikvm( 1638): GC_EXPLICIT freed 662K, 18% free 9971K/12103K, paused 9ms+15m
s, total 144ms
E/JavaBinder( 2981): *** Uncaught remote exception!  (Exceptions are not yet sup
ported across processes.)
E/JavaBinder( 2981): java.lang.NoSuchMethodError: com.android.internal.telephony
.cdma.CdmaSMSDispatcher.sendRawPdu
E/JavaBinder( 2981):    at com.android.internal.telephony.cdma.CdmaSMSDispatcher
.sendSubmitPdu(CdmaSMSDispatcher.java:377)
E/JavaBinder( 2981):    at com.android.internal.telephony.cdma.CdmaSMSDispatcher
.sendText(CdmaSMSDispatcher.java:329)
E/JavaBinder( 2981):    at com.android.internal.telephony.IccSmsInterfaceManager
.sendText(IccSmsInterfaceManager.java:123)
E/JavaBinder( 2981):    at com.android.internal.telephony.IccSmsInterfaceManager
Proxy.sendText(IccSmsInterfaceManagerProxy.java:61)
E/JavaBinder( 2981):    at com.android.internal.telephony.ISms$Stub.onTransact(I
Sms.java:146)
E/JavaBinder( 2981):    at android.os.Binder.execTransact(Binder.java:367)
E/JavaBinder( 2981):    at dalvik.system.NativeStart.run(Native Method)
W/dalvikvm( 2981): threadid=10: thread exiting with uncaught exception (group=0x
40a9a300)
E/AndroidRuntime( 2981): FATAL EXCEPTION: Binder_2
E/AndroidRuntime( 2981): java.lang.NoSuchMethodError: com.android.internal.telep
hony.cdma.CdmaSMSDispatcher.sendRawPdu
E/AndroidRuntime( 2981):        at com.android.internal.telephony.cdma.CdmaSMSDi
spatcher.sendSubmitPdu(CdmaSMSDispatcher.java:377)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.cdma.CdmaSMSDi
spatcher.sendText(CdmaSMSDispatcher.java:329)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.IccSmsInterfac
eManager.sendText(IccSmsInterfaceManager.java:123)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.IccSmsInterfac
eManagerProxy.sendText(IccSmsInterfaceManagerProxy.java:61)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.ISms$Stub.onTr
ansact(ISms.java:146)
E/AndroidRuntime( 2981):        at android.os.Binder.execTransact(Binder.java:36
7)
E/AndroidRuntime( 2981):        at dalvik.system.NativeStart.run(Native Method)
D/memalloc( 1412): /dev/pmem: Allocated buffer base:0x41618000 size:163840 offse
t:0 fd:34
D/memalloc( 1638): /dev/pmem: Mapped buffer base:0x54a34000 size:163840 offset:0
 fd:243
D/memalloc( 1412): /dev/pmem: Allocated buffer base:0x41618000 size:163840 offse
t:163840 fd:51
D/memalloc( 1638): /dev/pmem: Mapped buffer base:0x54a5c000 size:327680 offset:1
63840 fd:246
D/memalloc( 1412): /dev/pmem: Allocated buffer base:0x41618000 size:163840 offse
t:327680 fd:62
D/memalloc( 1638): /dev/pmem: Mapped buffer base:0x551fc000 size:491520 offset:3
27680 fd:249V/SmsReceiverService( 3005): onStart: #1 mResultCode: -1 = Activity.RESULT_OK
D/dalvikvm( 1638): WAIT_FOR_CONCURRENT_GC blocked 0ms
D/dalvikvm( 1638): GC_EXPLICIT freed 662K, 18% free 9971K/12103K, paused 9ms+15m
s, total 144ms
E/JavaBinder( 2981): *** Uncaught remote exception!  (Exceptions are not yet sup
ported across processes.)
E/JavaBinder( 2981): java.lang.NoSuchMethodError: com.android.internal.telephony
.cdma.CdmaSMSDispatcher.sendRawPdu
E/JavaBinder( 2981):    at com.android.internal.telephony.cdma.CdmaSMSDispatcher
.sendSubmitPdu(CdmaSMSDispatcher.java:377)
E/JavaBinder( 2981):    at com.android.internal.telephony.cdma.CdmaSMSDispatcher
.sendText(CdmaSMSDispatcher.java:329)
E/JavaBinder( 2981):    at com.android.internal.telephony.IccSmsInterfaceManager
.sendText(IccSmsInterfaceManager.java:123)
E/JavaBinder( 2981):    at com.android.internal.telephony.IccSmsInterfaceManager
Proxy.sendText(IccSmsInterfaceManagerProxy.java:61)
E/JavaBinder( 2981):    at com.android.internal.telephony.ISms$Stub.onTransact(I
Sms.java:146)
E/JavaBinder( 2981):    at android.os.Binder.execTransact(Binder.java:367)
E/JavaBinder( 2981):    at dalvik.system.NativeStart.run(Native Method)
W/dalvikvm( 2981): threadid=10: thread exiting with uncaught exception (group=0x
40a9a300)
E/AndroidRuntime( 2981): FATAL EXCEPTION: Binder_2
E/AndroidRuntime( 2981): java.lang.NoSuchMethodError: com.android.internal.telep
hony.cdma.CdmaSMSDispatcher.sendRawPdu
E/AndroidRuntime( 2981):        at com.android.internal.telephony.cdma.CdmaSMSDi
spatcher.sendSubmitPdu(CdmaSMSDispatcher.java:377)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.cdma.CdmaSMSDi
spatcher.sendText(CdmaSMSDispatcher.java:329)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.IccSmsInterfac
eManager.sendText(IccSmsInterfaceManager.java:123)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.IccSmsInterfac
eManagerProxy.sendText(IccSmsInterfaceManagerProxy.java:61)
E/AndroidRuntime( 2981):        at com.android.internal.telephony.ISms$Stub.onTr
ansact(ISms.java:146)
E/AndroidRuntime( 2981):        at android.os.Binder.execTransact(Binder.java:36
7)
E/AndroidRuntime( 2981):        at dalvik.system.NativeStart.run(Native Method)
D/memalloc( 1412): /dev/pmem: Allocated buffer base:0x41618000 size:163840 offse
t:0 fd:34
D/memalloc( 1638): /dev/pmem: Mapped buffer base:0x54a34000 size:163840 offset:0
 fd:243
D/memalloc( 1412): /dev/pmem: Allocated buffer base:0x41618000 size:163840 offse
t:163840 fd:51
D/memalloc( 1638): /dev/pmem: Mapped buffer base:0x54a5c000 size:327680 offset:1
63840 fd:246
D/memalloc( 1412): /dev/pmem: Allocated buffer base:0x41618000 size:163840 offse
t:327680 fd:62
D/memalloc( 1638): /dev/pmem: Mapped buffer base:0x551fc000 size:491520 offset:3
27680 fd:249

If anyone at all knows how to help, please do! Thank you :)

Note: I changed the names of the cdmasmsdispatchers for less confusion on which is which.
 
Looks to me like you forgot to replace a critical smali file in the CDMAsmsDispatcher folder. See how it says methodNotFoundException? That means you replaced the smali file but now it's calling another CDMA related smali file that you haven't put in. I'd just replace the whole telephony apk with the one from drew's build and forget about mms for a bit...
 
I tried replacing the entire telephony folder with the one from quattrimus, but when that booted, I got tons of com.android.phones errors and no service. Didn't logcat that though.
 
  • Like
Reactions: andrewnelson23
I tried replacing the entire telephony folder with the one from quattrimus, but when that booted, I got tons of com.android.phones errors and no service. Didn't logcat that though.

thats because quattrimus is ICS and this is JB. I know it doesnt look like there was a lot of changes but there were a lot of changes in the code
 
  • Like
Reactions: andrewnelson23
Don't give up yet man. You are closer than anyone else has ever been

Sent from my LG-VM670 using Android Central Forums
 
That sounds like a fun new project! I have no idea where I'd begin though! Anthonycr, could you send me your GTalk, so I can work through this with you?
I have eclipse. Didn't know I could edit apks with it.
 
That sounds like a fun new project! I have no idea where I'd begin though! Anthonycr, could you send me your GTalk, so I can work through this with you?
I have eclipse. Didn't know I could edit apks with it.

You don't use eclipse to edit apks, you use it to build them. Find packages_apps_mms on github.com/CyanogenMod, download the source, make your edits to the source and then compile with eclipse. But then again, it could be like download provider and have to be built with the rom

Sent from my LG-VM670 using Tapatalk
 
Comparing ics and jb, the cdmasmsdispatcher code is different. I'd say they are not interchangeable.
ICS
https://github.com/lupohirp/android...nternal/telephony/cdma/CdmaSMSDispatcher.java

JB
https://github.com/lupohirp/android...nternal/telephony/cdma/CdmaSMSDispatcher.java
by looking at the jb commits, it does have the Virgin mms patches already and the same as in ics https://github.com/lupohirp/android_frameworks_base/commit/657a58f681f389010f214dd3ee23102cf17e325b

So...the cdmasmsdispatcher already supports vm. and the apns-config is already matched up with vm. and the build.prop is for vm....so that means the only problem left with mms is the mms.apk?
 
Was MMS working for you in Drew's port?

Add the apns-conf.xml file from quattrimus. That is cdma specific when built. Swap out the eri.xml in the framework-res.apk

This was a patch from ics that fixed receiving. But that line will reside in the framework-res.apk bools.xml if you decompile it.

https://github.com/photon-dev-team/sunfire/commit/5ab56243f2f0220f89af3dd2e81b8081613b6d7f

And here's the overlay for vm for the mms.apk
https://github.com/thunderc/cm_devi...rlay/packages/apps/Mms/res/xml/mms_config.xml
 
I never tested mms in Drew's port.
Thanks Thekraven!!!

After replacing the cdmasmsdispatcher and the apns-conf.xml in this port, I got mms, and receiving sms. The only problem was sending text messages(sms). It's weird though, I looked into that bool.xml, and it still says

Code:
 <bool name="config_mms_content_disposition_support">true</bool>
but receiving mms still worked! I'm going to look into overlaying the mms.apk for vm. maybe that'll fix the sending sms.

It's so strange though, sms worked both ways in alpha 1. the only things I changed were the cdmasmsdispatcher.smali and the apns-conf.xml(but mms didn't.)
 
Also, how would I implement this overlay, also??

Edit: figured out how to overlay it. But now everytime I try to recompile both the edited framework-res.apk and the edited mms.apk, apktool refuses to compile them....
 
Last edited:
I'm at a loss for mms, guys.

LASDFKJ A;LSDFKJ;ALSDK FJ;LASKDFJ;LASKDFJ;ALSDKJF ;IDUF OEWIL ,.CXKJVH;LSF!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .

I was SO close! stupid sending sms. ugh. I'm just still too much of a noob for this. -_-