[Android Software Development] Phil3759:
Older Change History v1 to v4

4.96.6 (28.04.2013)

- support HTC One S (ville)

4.96.5 (27.04.2013)

- change event input handling code to support auto-interpolation

- auto support for devices built-in virtual keys

- enable key repeat for recovery virtual buttons (up/down): now they auto-repeat while pressed

- fix HTC One X nandroid backup was very slow (ramdisk changes)

- fix touch for new N71xx, T889, I317/M repacks based on wanam Adam 2.3 kernel to fix boot delay for non stock kernels

- misc bug fixes and code optimization

4.94.6 (21.04.2013)

- fix compile error for non touch version

- N71xx, T889, I317/M: repack on wanam Adam 2.3 kernel to fix boot delay for non stock kernels

- Fix touch support for HTC One X (endeavoru) and HTC One XL (evita)

- More fixes for HTC Explorer (pico) - work in progress

4.93.9 (18.04.2013)

- Initial support for HTC devices

* HTC One X (endeavoru) support

* HTC One XL (evita) support

* HTC Explorer (pico) support (big thanks to Nihar.G for this port)

4.93.6 (17.04.2013)

- fix reboot to bootloader for phones without download mode

- define default values for CWM Advanced Edition builds to non officially supported devices by PhilZ Touch

- no need to confirm sideload as it can be cancelled

- move philz settings file from /system to /data

- fix compile error for non PhilZ Touch version

- revert temporary assert fix for i9100/n7000 (ramdisk changes):

* do not mount /system in init.rc

* add needed entries in default.prop

- n7000: no more replace init binary to fix /data corruption bootloop issue (ramdisk changes)

4.93.2 (14.04.2013)

- share source for multi-zip installer

- add sideload and print commands support to ors as per TWRP specs

- always ensure sync before rebooting

- disable adb secure

- Update to CWM 6.0.3.1

* allow cancel sideload

* allow sideload install from /cache/recovery

* courier_extended_15x24

4.92.8 (05.04.2013)

>>True support for /data/media/0 for Android 4.2.2<<

First to introduce true JB 4.2 migration: live toggle between /data/media and /data/media/0

This implementation keeps compatibility with stock cwm while giving user option to force /data/media/0

When migrating from or to JB 4.2, you still need to move folders to/from /data/media/0. No one will do it for you

- fix early mount of /data for datamedia devices caused by write_recovery_version()

this could cause errors on some install scripts

- hide some external menus for devices without external storage

- fix Setup Free Browse Mode bug for devices without external storage

- fix Free Browse Mode could not browse up to the root for /data/media devices

- fix Misc Nandroid Settings menu regression for devices without external storage

- fix .nandroid_secure selection in custom backup and restore for devices without external storage

- no more mount internal/external storage when checking for ors script at startup

- do not report custom recovery logs to ROM Manager

- export error log on failure during boot installed packages

- make sure we have all the log posted by users

- misc bug fixes

4.92.3 (03.04.2013)

- properly set time for all recovery session: this will now apply to the time stamp of any file modified (logs, backups...)

- add Daylight Saving Time support

4.91.9 (03.04.2013)

- merge and fix fb2png source: now built as static binary and compatible with RGBX devices (Nexus 4...)

special thanks for this to McKael and a huge thumbs up to talustus for his great support

- silent failure when formatting non existing /sd-ext volume

- use statfs instead of stat in nandroid operations

- misc fixes

- i9100/n7000 zip installer: option to skip flashing superuser using philz_installer.cfg

- i9100/n7000: disable init binary substitution from older LSJ (aka /data corruption bootloop fix)

- i9100/n7000: update clockworkmod superuser to 1.0.1.7 (security fix)

4.91.5 (29.03.2013)

- Support Nexus 4 (mako)

- fix nandroid backup and restore for devices without /modem, /radio, /preload and /efs

- fix recovery functions for devices without external sdcard storage

4.91.2 (26.03.2013)

- fix touch code to support P31xx and N8xxx

- merge cm-10.1 changes:

- nandroid backup: save recovery log to backup folder

- minadbd: remove unnecessary header files.

- add external_sd and efs to /etc/fstab generated by recovery

- revert chmod in write_string_to_file()

4.90.8 (22.03.2013)

- multi zip flash menu will now show the validation menu on top of files list

- added option to select/unselect all zip files in the multi zip flash menu

- touch code fixes: more responsive touch gui on menus. Less skips on bottom virtual buttons

- merge cm-10.1 changes

- update to cwm 6.0.3.0

- fix About dialog was not displaying what it should for non PhilZ Touch builds

- non PhilZ Touch builds are now: CWM Advanced Edition

- fix bug: if Key Repeat was disabled, blank screen will hang up when screen back on

- add beta support for P3100, P5100 and N8000

- i9100/n7000: migrate from Chainfire SuperSU to opensource superuser from clockworkmod

4.89.4 (14.03.2013)

- New Custom Install Zip mode: set a default folder to start with + browse backward up to the root

4.88.5

- toggle menus are now formatted to device screen width (right align menu option)

- add 30mn timezone offset

- merge CM 10.1 commit: Fix segfault with dead symlinks in char** gather_files()

- add extra check for carriage return for get_rom_name function: ensures windobe noobs do not get stuck

4.88.2

- fix: ors backup could overwrite an existing folder and end up with mixed old/new backup images

4.88.1

- migrate from cm10 to new cm10.1 source

- fix fs_type2 is fs_type to maintain ext4 external storage compatibility with fs_type2 entry

- fix redefined MACRO for ITEM_APPLY_SDCARD

- merge cmw 6.0.2.9 changes (vchange only: ignored cwm commit: block google music cache from nandroid operations)

- fix: data partition was always restored in Advanced Restore menu

- in custom jobs: possibility to disable .android_secure from restore/backup as per TWRP/ors specs

- option to auto-restore recovery settings without a prompt screen on reboot

- ors support: fill ORS official specifications and more:

- optimize on boot check for openrecoveryscript command file

- add ors support for backup options: selected partitions, compression and md5 toggle

- fix: as per ors specifications, ors will now restore standard partitions when no options are set in script

- ors restore now supports TWRP and PhilZ Touch custom backup path

- ors-mount.sh: better support for path convfrom main system to recovery mount points

- ors backup target volume can be set by user in nandroid settings

- misc ors log fixes for special partitions ignored in cwm

4.87.6

- fix: show progress during TWRP backup and restore

- auto dim screen on timeout supported during backup and restore operations

- fix header menu could overlap battery stats if they are at 100%

- fix: restore custom rom zip failed because of left debug code

- fix: build custom rom zip from existing ROM would fail to restore if backup format was compressed

- huge performance optimize when building custom rom .zip from existing ROM (only backup needed partitions)

- fix useless edify incompatible code in custom rom .zip (alpha 06 files)

4.87

Backup and Restore:

- menu Custom Backup and Restore can now be accessed in main Backup and Restore menu

- support restore backups from /sdcard/0 (Android 4.2) in custom jobs and TWRP mode

- add support to sd-ext ext4 partition on external storage

- menu to delete custom and TWRP backup images

- auto-reboot option for custom backup and restore jobs

- set .android_secure path in custom jobs

- smart auto detect android_secure for stock CWM backup and restore operations

- fix preload was selectable in TWRP jobs (even if would not actually be processed)

- progress bar is no more overwritten by text

- time and battery stats are shown and refreshed during nandroid operations

- on successful or cancelled nandroid jobs, user background icon is restored

- on cancelled nandroid jobs, progress bar is correctly reset and user background icon is restored

GUI

- User configurable gesture actions

- gestures: double tap, long press/move, long press/lift, slide left, slide right

- always vibrate on long press/move action validation

- actions: show log, change brightness, blank screen, capture screen shot, launch Aroma File Manager

- default black theme without background icon

- toggle clock and battery on top

- header title will be auto-shortened to not overwrite battery and clock on lower res devices

- battery and clock will truly refresh indications every 15 sec

- user configurable dim screen timer

- user configurable turn-off screen timer

- manually adjust brightness (stock kernel doesn't support lower than 65, but recovery binary will accept 25 on custom kernels)

- when double tap mode is selected, you now really need to double tap the same menu to validate it

- menu Set Time Zone moved to GUI settings

- fix Moscow UTC time

Misc

- add support to sd-ext ext4 partition on external storage

- Move Clean before instal new ROM menu to Wipe Data/Factory Reset menu

- fix /system was left again mounted after start up and showing log

4.64

- fix: when disabled, virtual keys would still show for a fraction of a second on start

4.63

- preview support for slide right and double tap gesture actions

- friendly log mode now is final: logs are no more wiped when switching view for all operations (install zip, boot scripts, backup/restore...)

- fix: virtual keys will no more trigger an action at end of your scrolling if touched by case

- fix: virtual keys could remain highlighted under some circumstances

- fix screen capture index was back to 11 when it reached 100 (now it will be 999 photos and reverts to 001)

- fix: toggle background icon prompted for a key since 4.53

- fix: when toggle icon, screen logs are no more wiped

- fix: when change menu size, screen logs no more wiped

- deep revise of touch source to optimize and clean code (scrolling behavior is still same, this will be the next on my todo list)

- misc code cleaning

4.53

- fix user background image was not restored on restart

- TWRP backup and restore support, include full md5 sum support (single and multivolume, compressed and non compressed formats)

- support multiple efs backups in tar format (user request)

- now it is possible to restore from many modem.bin files under clockworkmod/custom_backup/.modem_bin folder to flash them (just name them *.bin)

- fix potential md5 error caused when restoring/flashing some modem.bin files

- fix recovery partition was restored when ever you restore something in stock Advanced Restore Menu

- custom restore option to browse from /sdcard/0 if it exists (this is a temporary workaround for Android 4.2)

- add ext4 support for mounting external storage (i9300 thread request)

- improved the friendly log view gui to include install zip, nandroid, boot scripts...

- enhance logging and user messages mainly in backup/restore operations

- remove useless support for browsable custom aromafm.zip folders (must be in default folder)

- many bugfixes + compiler warnings fix in code

- Clean Phone for a New ROM moved to Custom Backup and Restore

4.35

- Vulnerability fix: setting a fake/corrupted png file as background resulted in a bootloop into recovery

- Vulnerability fix: cancel nandroid operations could result in data corruption if user attempted to directly delete backup from menu or forced a reboot

- Friendly Log View: toggle during install of zip files (manual, multi, on boot) and forced when Show Log from advanced menu

- Pause on show log: Forced in Show Log from advanced menu. Always disabled for multi zip flash and on boot, toggle for manual zip installs

- Install zip menu order changed so that install from internal/external are nearby

- Move reset / save recovery settings to main PhilZ Settings menu

4.31

- add slide left to capture a screen shot from any active menu

- optimized code for cancel nandroid operations

4.24

- Back button now will cancel nandroid backup/restore operations (tar+dedupe) and custom_rom.zip operations

- merge CWM 6.0.2.8 changes (credits to Koush)

4.22

- multi-zip flashing from custom set locations

- after installing a new ROM that wipes recovery settings, on next reboot, you are prompted to restore them from a backup if you have done one

- New menus separator lines that you can show/hide, set colors and transparency. Useful for solid color themes, like Black

- fix default menu highlight transparency was set to a wrong default value

- code optimizing for file checks

- mix code optimizing

4.01

- show / hide bottom virtual buttons

- set number of bottom log rows to show

- misc compiler warning fixes

4.00-b39

- custom background image (png in 350x735 pixels)

- toggle background in preset 27 colors

- toggle background icon

4.00-b35

- fix /preload was always restored during nandroid operations

4.00-b34

- fix preload was again processed on each nandroid backup

- fix nandroid backup name was exiting on first checked missing key and using default noname

- fix output log for backup rom name was wrongly reporting error to open build.prop

4.00-b33

- code cleaning

4.00-b32

- life in color edition :D

- fix: resetting settings to default now is applied without the need to restart recovery

- small code optimize

- fix logging for file parser and load/save settings

4.00-b30

- nandroid backup/restore with gz compression using pigz (multi cpu threading): toggle between low (3), medium (6), high (9) or disabled

- fix when preload toggle was enabled, preload was processed in custom backup even if it is not selected

- complete rewrite of gui settings toggles: new menus display

- new toggle for touch accuracy

- more menu height settings (useful for high res devices)

- more scroll sensitivity settings

- all settings are now saved to a single .ini file you can edit (detailed values will follow)

- possibility to reset all values to defaults, to export and to import them to/from sdcard

- Nandroid Advanced Restore menu now shows that /preload will be processed with /system

- Misc Nandroid Settings now can also be accessed from Nandroid Menu

- code cleaning and fix compiler warnings

- add show really progressing bar during nandroid restore operations

- fix pigz as static library

- i9100/n7000 ramdisk: fix getprop hack script (thanks to a3955269)

4.00-b22 Recovery (CWM 6.0.2.7 based)

- unmount /system on recovery start to fix some install zip issues

- fix no time zone file message on start when no user time zone was selected

- i9100: fix error 7 was back (better fix later)

4.00-b21 Recovery (CWM 6.0.2.7 based)

- Completely new Custom Backup and Restore menu

- Custom back and restore job list: backup and restore freely any partition combo from old nandroid folder or new custom_backup one

- Restore modem as custom modem.img file or modem.bin (found in Samsung tar roms)

- Backup EFS in tar (overwrite old backup) + img formats (time stamped)

- Restore EFS from either tar or img files

- All backup and restore tasks are now built completely on native nandroid functions: no more calling of many shell scripts

- One shell script only left to handle raw backup and restore of ext4 partitions (not supported by cwm, I actually use it only for efs.img and restore of modem.bin files)

- New Nandroid Settings Menu: improved UI with settings immediately reflecting on menus

- New TimeZone menu: friendly UI (idea from TWRP) and simpler code to fix issue where it could sometimes fail to write config file

- pigz library: big credits to TWRP team (will be used for new lightning fast compressed backups)

- fix ors mount script for phones without external sd

- remove useless run of ors mount when not started from boot

- fix some partitions could be formatted despite no backup file to restore when md5 check was disabled

- small bug fixes and code cleaning

3.99 Recovery (CWM 6.0.2.7 based)

- Fix flash modem function failing when searching *.img files instead of *.bin files

- Merge sk8erwitskil changes: fix special backup and restore functions for devices without external sd

- Second pass at fixing write error of toggle time zone appearing on some conditions

- Make custom_rom.zip from current ROM or from pre-existing nandroid backup

- Ensure tar format during create custom_rom.zip operations

- Add sync() at end of special backup and restore functions (in case of... + fix lag on exit menu)

- Merge cwm 6.0.2.7 changes

- nandroid: Fix nonexistent backup format type bug.

- do not attempt to back up .android_secure if it is on /data/media

- Add Home button to select for i9300/n7100

- Edit i9300/n7100 ums lun file path

- Add rom name to nandroid backup path: fetched from

- ro.modversion=

- ro.romversion=

- ro.build.display.id=

- noname if above are empty

- Fix the getprop issue in i9100/n7000 JB leak, aka error 7 (early mount /system in recovery.rc)

- Code cleanup

3.81 Recovery (CWM 6.0.2.3 based)

- merge last cwm 6.0.2.3 updates from jellybean cm10 branch

- remove wipe battery stats

- better implementation for setting default backup format

- fix crash in recovery that occurs during backup (popen.c)

- dedupe: fix buffer overflow

- i9300: fix vibrator not working

- n7100: fix exfat support

- n7100: fix aroma file manager failure

- n7100/i9300: fix ramdisk/kernel used: now based on stock kernel/recovery: fixes potential exfat and aroma issues

- enable mount external sd over usb in recovery for /data/media devices

- complete re-write of Special Backup and Restore menu and functions: more efficient code to easily add new backup/restore jobs

- complete rewrite of toggle gui menu code: 4Kb size gain on recovery binary + more efficient code performance wise

- new Misc Nandroid Settings: toggle md5 checksum, toggle /preload processing, set time zone

- no fail of nandroid job on /preload error (auto skip on error)

- set time zone for nandroid backup path moved to new Nandroid Misc Menu

- add credits to special backup and restore sh scripts

- fix mount /system error log on recovery start

- key repeat toggle now applied live, no more need to restart recovery to take effect

3.75 : PhilZ Touch 3.63 Recovery (CWM 6.0.1.9 based)

- Complete rewrite of toggle gui menu code: 4Kb size gain on recovery binary + more efficient code performance wise

- New toggle to set time zone: correct time can now be set for nandroid backup path and recovery log

- Merge cm10 jb changes: set default backup format to tar

- Fix mount /system error log on recovery start

- Key repeat toggle now applied live, no more need to restart recovery to take effect

3.72 / 3.73 : PhilZ Touch 3.40 Recovery (CWM 6.0.1.9 based)

- 3.72 ---- > 3.73: code cleaning for universal exFat compatibility

- Support exFAT for external sdcards in recovery: no +4Gb size file limit like fat32, better optimized for 64Gb cards

3.70 / 3.71 : PhilZ Touch 3.39 Recovery (CWM 6.0.1.9 based)

- 3.70 --> 3.71: added format /preload on special wipe before install new rom

- Merge Koush last changes: (+ add credit inside code source)

- dedupe: fix buffer overflow, the length of key was incorrect, 4.2's libc detects the overflow and crashes

- fix bug where you cannot partition internal sd

- add wipe all before install ROM: wipe all user data + wipe system

- second pass at fixing partition sdcards menu by PhilZ, now it should work as supposed

3.65 : PhilZ Touch 3.35 Recovery (CWM 6.0.1.9 based)

- Completed ors implementation: added script started on boot, with same function as custom ors (simpler code than previous versions)

- fixed ors-mount.sh support for phones without /emmc

- goomanager support fixed for phones without /emmc

- misc permissions fixes for recovery scripts

3.62

- permissions fixed: now special backup and restore functions work again

3.61 / 3.62 - 22 nov 2012

- Update to cwm 6.0.1.9 + PhilZ Touch 3.34

- Add nandroid /preload backup & restore support

- Add option to flash modem image from recovery

- Fix Aroma File Manager path for devices without /emmc mount point

- Fix: mount sdcards before launch aroma as some times we did not have access to other sdcard under aroma

- Fix kerne/efs backup & restore for phones without /emmc

- Optimized backup/restore status log for kernel/efs/modem: now showing true success/failure based on exit code/stderr from CAT

- One ORS code is enough for custom and at boot scripts

- Fixed ORS backup job log

- Merge cm10 branch updates:

- Add support for doing a true ext4 format of /data on /data/media devices.

- Shorter confirmation menu if compiled as Philz Touch

3.5 - 18 nov 2012

- Update to new Touch PhilZ 3.25 cwm 6.0.1.8 based recovery

- Option to flash kernels (zImage you rename to *.img file) directly from recovery

- Backup kernels now supports multiple time stamped backups

- ORS/EFS/Kernel backup/restore scripts support universal mount points/path through recovery.fstab: multi-device compatibility

- Major update to code for multi-device support (compile from source code for any phone)

- Now, philz-cwm6 recovery is open source (see post 1)

3.43

- Support exFAT for external sdcards in recovery: no +4Gb size file limit like fat32, better optimized for 64Gb cards

- ADB now starts with root access

3.39

- added format /preload on special wipe before install new rom

3.38

- second pass at fixing partition sdcards menu

3.37

- add wipe all before install ROM: wipe all user data + wipe system

3.36

- Merge Koush last changes: (+ add credit inside code source)

- Dedupe: fix buffer overflow, the length of key was incorrect, 4.2's libc detects the overflow and crashes

- Fix bug where you cannot partition internal sd

3.35

- completed ors implementation: now script started on boot, with same function as custom ors (simpler code than previous versions)

- fixed ors-mount.sh support for phones without /emmc

- misc *.sh permission fixes on compilation

3.34

Merge cm10 branch updates:

- Add support for doing a true ext4 format of /data on /data/media devices.

- Shorter confirmation menu if compiled as Philz Touch

3.33

- Add nandroid /preload backup & restore support

3.32

- Fix: mount sdcards before launch aroma as some times we did not have access to other sdcard under aroma

3.31

- edited recovery.fstab for some devices (i9100 / n7000) to include /modem

- Clean ORS code + Add modem flash menu

- for i9100 / n7000, edit recovery.fstab and add this line

- /modem	emmc	/dev/block/mmcblk0p8

- Updated Readme.md file with Special backup and restore menu instructions

- Rename EFS/Kernel backup menu to Special Backup Menu

3.30

- One ORS code is enough for custom and at boot scripts

- Fixed ORS backup job log

3.29

- Fix kerne/efs backup & restore for phones without /emmc

- optimized backup/restore status log for kernel/efs: now showing true success/failure based on exit code/stderr from CAT

3.28

- First alpha / private release for i9300

- Fix Aroma File Manager path for devices without /emmc mount point

3.1 - 09 nov 2012

- Update to new Touch PhilZ 3.0 cwm 6.0.1.5 based recovery

- Completely revised new touch code: fixed old skips and jumps while scrolling

- Much more smooth behaviour after scrolling

- Even less risks of wrong validation of menus on touch while scrolling (can we say 0 risks?)

- GUI settings are now saved to /system/philz-cwm6 folder instead of /data/philz-cwm6: this is to fix some mount issues on early start and to maintain settings after a factory reset

- Added toggle key repeat for vol up/down keys (only feature needing recovery restart to take effect)

- Huge code cleaning and misc bug fixes

- Added install from sideload code based on last cwm6 update

- Moved sideload menu to install zip menu

- Added confirmation before "Fix Permissions" and "Install from sideload"

3.0 - 02 nov 2012 (i9100 only)

- Introducing PhilZ Touch 2.0 recovery (clockworkmod v6.0.1.5 based)

- touch interface: toggle 3 touch modes: FULL TOUCH, DOUBLE TAP to validate and SEMI TOUCH (scroll but no touch validation)

- very stable and safe scrolling in full touch mode: makes it hard to wrongly validate a menu while scrolling

- when you set full touch mode, it defaults to optimized settings for menu height and touch sensitivity (you still can alter them manually later)

- adjust scrolling touch sensitivity in 6 settings

- adjust menu height in 6 settings

- toggle vibrator on/off when using bottom virtual buttons

- toggle aggressive mode to try stealing bottom space for logs (may or may not work as expected depending on screen resolution and menu height)

- backup/restore EFS and Kernel

- browse phone with root access using full GUI in Aroma File Manager: checks first in default locations to give you direct access to your scripts, else you are prompted to browse for scripts in sdcards

- support openrecovery script in 3 modes using a smart one touch menu: looks first at goomanager scripts, then in default custom scripts location and finally prompts you to browse for scripts in sdcards

- show log menu modified to have its own screen: useful for the S2 because of its low resolution. Now, you can read teh screen logs even when having big menus

- reorganized menus layout

- miscellaneous fixes in initramfs for the kernel

2.7 - 07 oct 2012

- now using CWM6 based custom touch recovery 6.0.1.4 (internal build 1.15) * Siyah source code *

- DUAL USB MOUNT in recovery is now supported * Special thanks to Gokhanmoral@Siyah *

- semi-touch interface with right slide to select disabled for safety: use slide up/down and left for back

- include bottom virtual buttons for easier navigation

- revised GUI with bigger fonts and larger menus for better readability

- transparency effects in recovery menus

- fixed backup format selection menu in original Koush cwm6 (was echoing previous menu)

- added power off and reboot to download mode options in recovery menus

- battery % level displayed in recovery

- fixed some menus spelling and aspect in original recovery

2.5 - 22 sept 2012

- Introduced brand new original feature: MULTI-bootanimation scrolling on each boot. See post 2 for details on how to use this new feature

- No more true insecure kernel (ro.secure back to 1), ADB root in recovery is through cwm adbd like other custom kernels

- CWM updated to last 6.0.1.4 non touch: touch vcoming later

- CWM6 is now built from source, to avoid issues with dynamically linked binaries ** Big thanks to - Tallustus from Team Skyfire

2.0 - 14 sept 2012 (i9100 only)

- Now built automatically through scripting, no manual editing

- Added fake getprop to show custom kernel prop *credits to Siyah*

- Fixed missing /res/images fota png in ICS 4.0.4 (no bad consequence in any case)

- Minor cosmetic changes in scripts, mainly properties

- Added custom boot animation support:

- /data/local/bootanimation.zip

- /system/media/bootanimation.zip

- /data/local/bootanimation.bin

1.0 - 09 Sept 2012 : Initial release (i9100)

- Clockworkmod v6.0.1.2 recovery - Permanent

- Pure stock based kernel: only initramfs changes

- Flash through Odin or in Stock Recovery (no yellow triangle)

- Ready for root

- ADB root in recovery: just wait about a minute to activate

- Init.d and customboot.sh support