Post Reply

[TOUCHCOVERY] 4EXT Recovery Touch v1.0.0.6 RC2 | with SmartFlash for s-on

5th December 2011, 08:29 PM   |  #1  
OP Retired Recognized Developer
Thanks Meter: 4,621
 
4,286 posts
Join Date:Joined: Jan 2010

Proudly presenting:
4EXT Recovery Touch


  • brand new user interface: "4EXT UI"
  • touchscreen only
  • extremely fast
  • 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


Limitations:
  1. 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.
  2. 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.




INFO:


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.






Download



  • This ensures that your downloads are ok by automatically verifying md5sums and that known issues and changelogs are easily accessible
  • When you install or download a recovery via the app it makes sure that your recovery config is correctly set up.
  • It allows to automatically setup your time zone for recovery.
  • You can use it to get notified about updates regarding your recovery version
  • You can configure it to get notified in case any critical bugs have been discovered of the recovery version you currently have installed.
  • It allows me to update known issues/changelogs immediately and to quickly pull a newly released version if there were reports about critical bugs
  • You can also use it to just download a recovery.zip containing the image. The download will be automatically verified for correct md5sums!


By default the app also saves the recovery.img you flash on your sdcard,
so you can use it to flash the recovery via fastboot in case you need to do that one day.

If you somehow lost those files, there's a direct download for a version you can flash via fastboot.





4EXT Recovery Control



For a list of its many features, visit www.4ext.net

Some examples :
  • 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.
  • Much, much more! See www.4ext.net


Big thanks to craacK for a lot of great icons!





Thanks:


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:

Jotha, craacK, Patrics83, Euphorie, Mike1986, Whiskey103, ptr_hamilton, Lizard, TheUntouchable

Big thanks to Jotha and Whiskey103 for testing the themes features creating and their first themes for 4EXT Recovery Touch.

Also Big thanks to all the donators to 4EXT Recovery and everyone who has bought 4EXT Recovery Control! Without you I wouldn't be able to spend as much time with the project:

SO A HUGE THANK YOU!


FRANKIE-BOY, SYRAKUS, FISHA21, ZJXPOT, ZEEKIZ, A USER, PHILOS64, STEVEATHOME, PREACHER65, BEN_PYETT, HAWST, ANIT77, ULTRA DROID, PTR_HAMILTON, BEANBEAN50, SEBASTIAAN15 and LOVEBOATCAPTAIN


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:

Mjesse81,
Speedycarv,
Wolfepakt
Jaibar
Jayallen1980
Stlouie65
Invasion2
PacerguyDon
Ben_Pyett
Dargocitfer
Darknessrise1234
Lizard
Azazel71

Kernel: official HTC kernel sources.
Last edited by madmaxx82; 9th May 2014 at 05:27 PM.
The Following 246 Users Say Thank You to madmaxx82 For This Useful Post: [ View ]
5th December 2011, 08:30 PM   |  #2  
OP Retired Recognized Developer
Thanks Meter: 4,621
 
4,286 posts
Join Date:Joined: Jan 2010

Features of 4EXT Recovery Classic:
(Use 4EXT Recovery Control or Recovery Updater for complete Changelogs and Known issues!)


not all features may be relevant for all devices



Displays additional information:
  • Identifies your current rom and displays its name
  • Current filesystems on your partitions
  • Free space remaining of all of your volumes
  • Current battery charge level

Backup | Restore:
  • Correctly calculates free space needed to complete a backup ( version > 2.2.6 RC4 )
  • Tar backups (can be switched on or off)
  • Complete CWMR5 compatibility
  • All Backups you create will be named after your currently installed Rom for easier identification.
  • Never unwillingly get "downgraded" to EXT3 again
  • Always restores backups using the file systems you HAD on your partitions at the time of creation!
    -> all partitions formatted with ext4 at that time, will be restored to ext4. The same is true for ext3.
  • You can manually change any existing Backup to ext4 or ext3
    -> so that after a restore, all partitions and up with the file system you wanted!
  • Advanced Backup: backup only a single partition
  • Convert any of your partitions to EXT4 or EXT3 without data loss.

Formatting:
  • When you wipe or format it will always use the same file system you currently have.
    -> but you can change that
  • When you format ext4 it will always create an aligned file system
  • Correctly identifies unformatted sd-ext partitions
    -> if it finds one it displays a warning and suggests you may format them by visiting the 4EXT menu
  • Filesystem check and repair option in advanced menu

Partitioning:
  • Alignment check of your partitions
  • Full support for up to 2 sd-ext partitions + swap (Backup/restore/format/convert, fsck, et.c.)
  • (RE-) Partition your sdcard for sd-ext without removing your fat32 partition.
  • All partitions created with 4EXTRecovery will be perfectly aligned to 4k

Installing:
  • Integrated md5sum checking option


Menus:
  • Most popular menu items rearranged
  • Format menu
  • Power Menu + option to reboot into bootloader
  • Changed Advanced Restore: first select what you want to restore, then select the backup
    -> Useful for restoring from "Advanced Backups"

4ext.prop:
  • Configuration file on your sdcard where you can set options to be used by 4EXTRecovery
  • Change all settings conveniently with 4EXT Recovery Control
  • Many more options to come
  • Share your settings / themes by packing your config into a flashable theme

Other stuff:
  • USB Storage Autostart (must be switched on)
  • Mount usb storage exposes all partitions on your sdcard to the os (not just fat32)
    -> you could even partition your sdcard from your PC while connected via USB
  • Switch haptic feedback on/off
  • Button backlights




Last edited by madmaxx82; 5th December 2011 at 10:00 PM.
The Following 69 Users Say Thank You to madmaxx82 For This Useful Post: [ View ]
5th December 2011, 08:30 PM   |  #3  
OP Retired Recognized Developer
Thanks Meter: 4,621
 
4,286 posts
Join Date:Joined: Jan 2010
Recovery Interface Api for Apps and Scripts

Both: free and paid 4EXT apps now provide a very easy to use interface you can use to access 4EXT Recovery from within your shell scripts or apps.

Features:
  • wipe cache
  • wipe dalvik
  • wipe data / factory reset
  • install multiple zips at once
  • backup

If you are interested, please download this zip file with examples




How to make use of 4EXT Recovery Touch from within updater-scripts:

Since Beta 1.0.0.3 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:


Code:
if getprop("ext.edition") == "ng" then

<your code>

endif;

To use the native confirm dialogues:

Code:
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

<yourcode>

endif;

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 )


Code:
ui_print("4ext: disable_scrn_update");

# 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.
Last edited by madmaxx82; 6th March 2012 at 08:05 PM.
The Following 46 Users Say Thank You to madmaxx82 For This Useful Post: [ View ]
5th December 2011, 08:35 PM   |  #4  
ptr_hamilton's Avatar
Senior Member
Thanks Meter: 447
 
913 posts
Join Date:Joined: Aug 2010
More
Yeah! Finally
This one is really awesome Max
Thank you so much for all the hard work you've put into this!

Cheers Pete
5th December 2011, 08:36 PM   |  #5  
Senior Member
Flag Munich
Thanks Meter: 271
 
1,142 posts
Join Date:Joined: Jul 2010
More
Wuhu Now its official, the best recovery is live! :P
5th December 2011, 08:38 PM   |  #6  
Whiskey103's Avatar
Forum Moderator Recognized Themer Recognized Developer
Flag Euphorie's arms :)
Thanks Meter: 11,417
 
7,119 posts
Join Date:Joined: Jun 2010
Donate to Me
More
Nice, Congratz Max
The Following User Says Thank You to Whiskey103 For This Useful Post: [ View ]
5th December 2011, 08:54 PM   |  #7  
rider5512's Avatar
Senior Member
Flag Buxton
Thanks Meter: 1,786
 
2,753 posts
Join Date:Joined: Feb 2010
More
Update?
Oops, premature post..... just rechecked OP to find update to 2.1.4 will be available later.
5th December 2011, 08:55 PM   |  #8  
Senior Member
Flag Munich
Thanks Meter: 271
 
1,142 posts
Join Date:Joined: Jul 2010
More
Thats a market problem, check it later again
The Following User Says Thank You to TheUntouchable For This Useful Post: [ View ]
5th December 2011, 09:00 PM   |  #9  
matt95's Avatar
Recognized Contributor
Flag Verona
Thanks Meter: 2,334
 
5,786 posts
Join Date:Joined: Aug 2010
Donate to Me
More
oh yeah!finally is out!great job man!
5th December 2011, 09:08 PM   |  #10  
Recognized Developer
Flag Rawalpindi
Thanks Meter: 4,156
 
2,693 posts
Join Date:Joined: May 2011
Donate to Me
More
OMG! that's truly awesome...

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes


Top Threads in Sensation Android Development by ThreadRank