-
Notifications
You must be signed in to change notification settings - Fork 1
Updater app for VillainROM
pulser/VillainROM_OTA_App
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Background ========== This is the VillainROM (HTC Hero aftermarket ROM) over-the-air (OTA) update application. It consists of a service and a GUI. The service periodically checks that updates are available, and puts a notification for user. The URL to download the updates from will be of general format http://hostname/ROM-NAME-HERE.xml. We can hardcode the URL, but it would be best to somehow discover the name of the OS installed (e.g. FroydVillain 1.1.1) and put that into the URL as the last component, so that the same otaupdate.apk can be installed on multiple ROMs. Description of file =================== The updates are expressed in a XML file, with the following structure: /updates/update* where each update contains /name name of update /description description of update to show to user /url url to download the update from /dependencies? list of dependencies where each dependencies contains /update name of update that must be applied first. Complete example file: <?xml version="1.0" encoding="UTF-8"?> <updates> <update> <name>Update1.zip</name> <description> First OTA update description here. </description> <url>http://villainrom.co.uk/ota/froyd-1.1.1/Update1.zip</url> </update> <update> <name>Update2.zip</name> <description> Second OTA update description here. </description> <url>http://villainrom.co.uk/ota/froyd-1.1.1/Update2.zip</url> <dependencies> <update>Update1.zip</update> </dependencies> </update> </updates> So, to recap: two updates, Update1.zip, Update2.zip. The Update2.zip can only be installed after Update1.zip has been installed. Description of the application UI ================================= Title screen ------------ [ Logo ] Last checked: dd-mm-yyyy Check status: Success/Failure [ Check now ] Update selection screen ----------------------- [ Name of update ] [ Apply ] [ long textarea description ] [ of the update ] The application displays the list of updates available, and if requested by user, downloads and installs some of them. The application must exclude the updates which have already been installed. If an update's has dependencies are not met, the "Apply" button will be disabled. In that case, the description will be modified by the application, and the list of the updates that must be applied first will be prepended to the real desctiprion of the update. Update download/apply screen ---------------------------- <update name here > [====> 35% ] [ Abort ] [ Apply ] Downloads are written to /cache/otaupdater. Once apply button is pressed, application leaves instructions for recovery to apply the update, and reboots into recovery; or applies the update immediately without taking the phone offline. Update file format ================== We support two kinds of update formats: *.zip is the classic com.google.android.update-script based update, and is applied via reboot to recovery. *.ota is a zip package which contains instructions on how to apply it online. The zip is decompressed somewhere, and the package structure contains a similar update-script at its root, which gets executed. The update-script is evaluated by a java code, and will be extended to support the commands required to apply updates. Typically these are probably copy_dir, chmod and delete. After updates have been applied, the log of applied updates will be permanently stored in /system/otaupdater directory.
About
Updater app for VillainROM
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published