[TOUCHCOVERY] 4EXT Recovery Touch v22.214.171.124 RC3 | 126.96.36.199 with SmartFlash for s-on
Proudly presenting: 4EXT Recovery Touch
brand new user interface: "4EXT UI"
much more useful features than the already feature-packed 4EXT Recovery Classic v2.2.7 RC5 (see 2nd post)
4EXT SmartFlash for s-on devices
optionally save space by configuring recovery to exclude /cache from backups
you can configure recovery to save even more space by excluding dalvik-cache from backups
calculates real space needed to complete a backup to save you from troubles
detects your local time zone
-> correct time is used for backups you start from within recovery
allows you to change md5sum check behaviour
displays and updates your current battery level in real time
scrollable texthistory (drag down the statusbar)
built-in interactivity (yes/no questions) for updater-scripts
built-in screenshot functionality
extensive theming capabilities!
nearly ALL YOU SEE is changeable.
"worker bar": create your own custom animations, there are (nearly) no limits! Use any shapes/sizes/animations et.c.
extra low cpu needed for that: absolutely no negative impact on backup/restore speed.
async UI rendering for optimal performance for the "heavy tasks" like backup/restore
backups even faster than with usual recoveries.
.. explore the new interface to see more
includes all features of 4EXT Recovery Classic
About 4EXT SmartFlash
This is a new feature that allows recovery to flash your boot partition just like as if you were s-off.
Credits and thanks to Team Win and Dees_Troy for their commitment to the community, for their amazing idea with the Dumlock and for extra contacting me only to offer that I may use it.
You guys really rock!
SmartFlash is a different approach to Team Win's HTC Dumlock
Just use your recovery like you would if your device were s-off
No preparations needed, other than telling the recovery that your device is actually s-on
This is done when you install recovery and answer the question that you are s-on with "yes"
You can also change that setting later on via RecoveryControl -> Recovery settings, or by editing 4ext.prop manually
Recovery will autodetect any changes done to "boot" and only attempt to flash your boot partition if it was really changed
This even reduces unnecessary writes to "boot" when for example a new rom uses the same kernel as your previous one
Before updating your boot partition, recovery will always backup your boot partition to your sdcard just for the case something goes wrong
Only the 4 latest boot images are stored, older ones will be removed automatically to prevent taking up too much space.
In case you want to enable or disable that feature temporarily, you can use a switch inside the tools menu in recovery
How it works:
Recovery will detect any requested changes for your boot partition
When you reboot out of recovery, it will prepare updating your boot partition on next rom start
This means that your boot partition will be updated when you see the HTC Splash screen, followed by 1 reboot
So basically the only visible difference to when you are s-off is one additional reboot, which takes only a few seconds.
Recovery is NOT flashed to boot and boot is also only flashed once/update
Recovery will only attempt to flash your boot partition if it was really changed
Radio and firmware:
Usually those are flashed via bootloader flashable zips or fastboot even on devices that are s-off.
But in case you wondered: this does not enable you to flash new firmwares or radio images via recovery.
NOTE: You cannot use SmartFlash to SWITCH between Gingerbread and ICS roms/firmware. You must do that manually.
SmartFlash needs a working kernel to be able to upgrade your boot partition.
It cannot work in case your current kernel is incompatible with your device/hboot or has been wiped outside of recovery.
For example you cannot erase boot via fastboot and then start up recovery to update your kernel. However you don't need a working rom to use it. The only requirement is that your current kernel is able to start (this happens before you see the boot animation) and that your system partition is mountable.
For App and Rom devs:
Make use of the Recovery Interface Api provided by the (free and paid) 4EXT Recovery Apps to push updates/mods/addons for auto installation.
Very easy to use and to integrate into Apps or even shell scripts.
Please check 3rd post.
Info regarding 4EXT Recovery Touch and its yesno feature, or any interactive installer scripts you might already use, please see 3rd post.
Very easy to use, but also includes an extensive set of features available via "advanced mode"
Comfortable configure all settings of recovery
Calculate the space needed to create a new full or advanced backup
So you can make sure the backup will succeed before even rebooting into recovery.
Advanced Backups: While you are selecting / deselecting partitions, it will display and update the currently needed space to complete that custom backup set.
Identifies and adds your romname so you don't need to type so much when chosing a meaningful name for your backup
When you restore a backup, the app does the md5sum check instead of the recovery
This ensures that you know whether the restore process will succeed before even rebooting into recovery
Flash as many zip files you want in one go
Automatically calculate and display the md5sums of all zip files you are going to flash
Check your backups' health to ensure they will restore later when you need them, by verifying their md5sums!
Optionally, but highly not recommended:
If md5sums don't match but you really need that backup badly, you might want to restore it anyway.
You can you this app to fix the md5sums of a given backup
As an example, the following is possible to do in just one session:
Restore a backup, set to create a backup / advanced backup before the restore,
format all partitions with a file system of your choice before the restore process starts,
flash additional zip files afterwards, fix permissions and select to stay inside recovery or to reboot automatically once all actions are complete.
Big thanks to DolphiCom for all the graphics, the worker bar and a whole lot of great ideas and to the many great testers who spent all day/night testing, reporting bugs, making suggestions, helping with decisions:
Of course BIG THANKS to KOUSH for ClockworkModRecovery!
Without him, 4EXT Recovery wouldn't exist!
Thanks a lot to the following users for initial testing for specific devices :
SPEEDYCARV, PTR_HAMILTON, JAMESCLINTON, SNOWBOARDKID503, MJESSE81, SEBASTIAAN15, THEUNTOUCHABLE, BMONSTER, ANDREIGHERGHE, PRESTON74, MADKAI, YASIR, PLAYPETEPP IPERZAMPEM0, THESHAWTY, JBBANDOS, GREGFERNS and INCREDULOUS
Special thanks to Invasion2 and Stlouie65 for spending at least 10 hours of their time helping me debug a really nasty issue on the myTouch 4G!
Also thanks for obtaining calibration values for the touchscreen:
How to make use of 4EXT Recovery Touch from within updater-scripts:
Since Beta 188.8.131.52 Beta 4 you can do the following:
identify whether the user is running 4EXT Recovery Touch or not (to use or not to use the following commands)
make use of the native yes/no dialogue (confirm / cancel buttons)
prevent recovery from redrawing the screen ( in case you need to use your own 3rd party interactive binary )
To identify 4EXT Recovery Touch:
if getprop("ext.edition") == "ng" then
To use the native confirm dialogues:
ui_print("4ext: show_yesno"); # <-- recovery will pause your script and display "yes / no" buttons.
run_program("/sbin/sleep", "2"); # <-- for safety since the above is executed asynchronous
#check the return value by calling:
if getprop("ext.confirm") == "yes" then
To prevent recovery from redrawing the screen ( if you want to use an external binary that needs to occupy the screen and get the focus )
# don't forget to enable it again after your yesno binary or graphical installer is finished, by calling:
ui_print("4ext: enable_scrn_update"); #otherwise the recovery will appear to be frozen as it won't update the screen anymore.
Please send bugreports | feature requests via:
Recovery Control or Updater
OK. So you’ve just finished much of the code for your first app, but you’ve run … more
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?