I'm making progress.
I've been discussing some of the controller options with the guys at Synthetos, looking for smart ways to collaborate. Riley is working on a GUI called tgFX, and while it doesn't meet my needs, I didn't want to duplicate a lot of work either. The outcome of that discussion means I've added one large new feature to the project, which is the ability to talk to TinyG via the network in addition to direct USB. tgFX has a network port that it is happy to use as a network to serial gateway, and I've written a simple java program which does the same job without all of the GUI-ness. What this means is that I've been able to spend more of my time recently working out the architecture in my app and less on the specifics of handling USB host on Android.
At the moment, I have a basic jog interface on the Android, and it is able to connect, get status information from the network port, and send commands. Still left to do is to have the jog buttons actually send the right commands (easy enough now that I have the basic messaging working) and to have the status information from the device update the axis information/state on the device. Hopefully it will all be up and working in the next few days.
I will have code posted up soon.