Realistically speaking I've got a dozen or so hours into this so far, and a lot of it is "hurry up and wait" on compiles and such. I don't even know how to program in Java, although it's not very difficult - this is coming from a guy who taught himself how to program in Z80 assembler in the 70s and hacked on a Burroughs bookkeeping machine's opcodes to change tax rates and such a few years previous. All computers work basically the same way irrespective of language and if you "get it" then provided you have something you can trace and observe you can usually eventually figure out what has to be done.
Fortunately android is open enough to be able to do that, although it pisses me off to no end that the allegedly "open" nature of Android doesn't extend to things like changes to the so-called "abstraction layer" in the RIL such that if companies stick in extensions they're required to document the entry points, parameters and what they do. Without that the alleged "open" nature is a bad joke, and leads to exactly the situation we're in now with CM7.
Incidentally that disassembly has shown that the two original upcalls I thought we had to handle aren't the whole story. There are more of them - a bunch more. I've had to hack out one more exception already, and there will be more. Some can probably be safely ignored but I'm quite sure all of them can't be, and that sucks. This is why the state is not getting passed back up into the stack - that unsolicited "network state change" upcall is the one that I KNOW I have to figure out how to handle, and there are probably more. If someone has SOURCE to a Sprint CDMA RIL.java and RILConstants.java file from the framework (not a decompiled spaghetti ball - I already have the latter) on a motorola device (presuming the CDMA Qualcomm code is identical or nearly-so) that would make getting this thing going a literal piece of cake. I've posted a request in a couple of places for anyone who might have that (here on XDA and over on Androidforums) but so far no response. That implies that it may not exist beyond the walls of Motorola, and if so that just plain sucks.
I'm also unimpressed that the unit doesn't appear to identify itself in the class definitions as a Triumph - at least not where I am looking for it. That sucks as the code changes I'm making WILL bork other CM7 devices and thus they need to be wrapped in conditionality - without a RELIABLE way to get that I'm hosed there too. That's not important right now but it will be to merge this back with the base CM7 code and not end up with a forked version that requires independent maintenance.