I finally got back to the update checker. I have decided not to use any form of push notifications. Instead, I have replaced
Settins>>CyanogenMod settings>>System settings>>Update notifications
It now calls an update checker app that reads a text file from a URL (preferrably https), parses it for build date, package download url, and change log. It then checks the build date against the Build.VERSION.INCREMENTAL value to determine if the user is up-to-date.
If up-to-date, a message will appear, and a button is available to quit the application without leaving it in the background processes.
If not, a download button will open a webview to the download URL, if a webpage it opens, if a direct link it will begin the download. Once the download is complete, if on a webpage the user can press back to return to the app.
In the app, a message appears telling the user to wait for the download to complete (need to do this internally via async, will update in future). A button is offered to reboot into recovery now. When pressed, a popup will appear with instructions to insure the download is complete (async damnit), with options to reboot into recovery now, or later (later quits the app without leaving in background). A second popup appears if the users chooses to reboot into recovery now, to make certain the download has completed, and the user did want to reboot into recovery at this time. Again, if later is pressed, the application quits without remaining in the background.
To Do:
-Add downloads as internal feature using async so as not to lock up the gui
-Add md5sum check to insure against corrupt downloads
-Add list of IHO ROMs and available versions, plan on using simple github text page for manifest
-Add option to wipe/flash automatically
-Add menu options such as show current changelog, show update history, etc
-Make it look nicer
Edit
I will have the source on github tonite, Source is up at github under the temporary project name BacksideUpdater, need input on final name for IHO. It's an Eclipse project for now. I copy the resulting apk from the Eclipse project's bin folder to device/lge/thunderc/files, and to the build's system/app via device_thunderc.mk. If anyone has the time to migrate it to pure Android.mk files, it would be appreciated.
