[RECOVERY][UNOFFICIAL_MOD][UPDATED-08-02-2018] TWRP 3.2.3-4 for hydrogen/helium

Search This thread

nijel8

Senior Member
Dec 24, 2011
2,356
5,560
All over US
SUPPORTS USERDATA DECRYPTION on Nougat ROMs!​

Just sharing my TWRP mod... This is the latest code from omnirom v.3.1.x-x, still not officially released by TeamWin. No official changelog yet but from the code and gerrit I can see some new features like option to install the new official TWRP App for keeping recovery up to date and flashing images from within Android, FBE encription support, A/B OTA udate support, abd backup support(WIP), kernel log export to /sdcard etc...

Chages from the official TWRP I have made:
1. Unified build for both hydrogen and helium;
2. Based on source from omnirom "android-8.1" repo - Thank you:good:;
3. All unnecessary input devices disabled including virtual mouse;
4. New features added:
- identifies and sets appropriate device props at boot time;
- enable/disable navbar in General Settings which automatically rearranges theme elements for the screen with/out navbar... The extra space is nice;:)
- enable/disable device capacitive buttons in General Settings;
- brightness control slider 0-100% for capacitive button's backlight in Screen Settings;
- Reset Lockscreen feature in Advanced > More... No more "can't unlock my phone after backup restore..." thing...:D
- Temporary disable Xposed framework feature in Advanced > More... for getting out of bootloops caused by bad modules etc.
- statusbar hide/snow keyboard button in Terminal;​
5. Fixed many bugs... Let me know if you find some more;:)

Note: Standard external themes on /sdcard are not supported!

You can help translate this thing by copying below code, translate the strings in green and post it here mentioning your language. I will add it in new build. Thank you!
Code:
		<!-- Reset Lockscreen function strings -->
		<string name="reset_lockscreen_btn">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
		<string name="reset_lockscreen_hdr">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
		<string name="reset_lockscreen_note1">[COLOR="SeaGreen"]If you cannot pass Lockscreen security[/COLOR]</string>
		<string name="reset_lockscreen_note2">[COLOR="SeaGreen"]after backup restore you should do this.[/COLOR]</string>
		<string name="swipe_to_reset_lockscreen">[COLOR="SeaGreen"]Swipe to Reset Lockscreen[/COLOR]</string>
		<string name="resetting_lockscreen">[COLOR="SeaGreen"]Resetting Lockscreen...[/COLOR]</string>
		<string name="reset_lockscreen_complete">[COLOR="SeaGreen"]Reset Lockscreen Complete[/COLOR]</string>

                <!-- v.3.0.3-0 new TWRP App install strings -->
                <string name="reboot_install_app_hdr">[COLOR="SeaGreen"]Install TWRP App?[/COLOR]</string>
		<string name="reboot_install_app1">[COLOR="SeaGreen"]Would you like to install the Official TWRP App?[/COLOR]</string>
		<string name="reboot_install_app2">[COLOR="SeaGreen"]The app can check for new TWRP versions.[/COLOR]</string>
		<string name="reboot_install_app_prompt_install">[COLOR="SeaGreen"]Prompt to install TWRP app if not installed[/COLOR]</string>
		<string name="reboot_install_app_system">[COLOR="SeaGreen"]Install as a System App[/COLOR]</string>
		<string name="reboot_installing_app">[COLOR="SeaGreen"]Installing App...[/COLOR]</string>
		<string name="swipe_to_install_app">[COLOR="SeaGreen"]Swipe to Install TWRP App[/COLOR]</string>

v3.1.1-3 new Xposed functions strings:
Code:
!-- v.3.1.1-3 Xposed functions strings -->
<string name="advanced2_btn">[COLOR="SeaGreen"]More...[/COLOR]</string>
<string name="xposed_dis_btn">[COLOR="SeaGreen"]Disable Xposed[/COLOR]</string>
<string name="xposed_en_btn">[COLOR="SeaGreen"]Enable Xposed[/COLOR]</string>
<string name="more_hdr">Advanced >[COLOR="SeaGreen"] More[/COLOR]</string>
<string name="xposed_dis_note1">[COLOR="SeaGreen"]If you experience bootloop after Xposed Framework[/COLOR]</string>
<string name="xposed_dis_note2">[COLOR="SeaGreen"]or Module install you should do this.[/COLOR]</string>
<string name="xposed_en_note1">[COLOR="SeaGreen"]Is your Xposed Framework or Module[/COLOR]</string>
<string name="xposed_en_note2">[COLOR="SeaGreen"]related bootloop issue fixed?[/COLOR]</string>
<string name="swipe_to_dis_xposed">[COLOR="SeaGreen"]Swipe to Disable Xposed[/COLOR]</string>
<string name="swipe_to_en_xposed">[COLOR="SeaGreen"]Swipe to Enable Xposed[/COLOR]</string>
<string name="xposed_dis">[COLOR="SeaGreen"]Disabling Xposed...[/COLOR]</string>
<string name="xposed_dis_complete">[COLOR="SeaGreen"]Xposed Disabled[/COLOR]</string>
<string name="xposed_en">[COLOR="SeaGreen"]Enabling Xposed...[/COLOR]</string>
<string name="xposed_en_complete">[COLOR="SeaGreen"]Xposed Enabled[/COLOR]</string>

TODO:
- translate the new stuff - partially done... Too complicated for Google translate. Need help.:rolleyes:
- rescale the UI to use the full screen space with navbar disabled - DONE:good:
- add new option to reset lockscreen security settings after userdata restore - DONE:good:
- maybe add option for quick Xposed enable/disable... Useful for testing when device boot loops after ROM flash; - DONE:good:
- rebuild it including kernel with Android 7.1 branch - DONE:good:
- open to more useful ideas... Just tell me...:)


Changelog:

08-02-2018
- implement extra step to ensure TWRP is not replaced after stock ROM flash(ensure "Mount > Mount system partition read-only" checkbox is cleared before reboot)
- sync with latest v.3.2.3 Omnirom sources

07-07-2018
- sync with latest Omnirom sources

03-02-2018
- fix no controls(navbar and buttons disabled) in some cases
- optimize Navbar disable/enable routine
- dynamic Oreo /vendor partition support if detected(mount, wipe, backup, restore)
- sync with latest Omnirom sources

01-29-2018
- fix and use busybox again for better compatability
- respect "Mount > Mount system partition read-only" setting when renaming stock recovery to prevent boot stuck @logo if system verify flag is set in fstab
- sync with latest Omnirom sources

01-14-2018
- Fix for lame updater-scripts calling missing busybox
- actually set all device specific properties per code name... no more hydrolium unified device properties

01-03-2018
- Fix tar executable

12-17-2017
- Switch to latest android-8.1 TWRP v.3.2.1 branch

10-28-2017
- New Enable/Disable Xposed function(if installed) - Advanced > More, useful if experiencing bootloops after framework/module install.
- Moved Reset Lockscreen function to Advanced > More

10-14-2017
- Auto detect possible use of legacy props by update-binary - no more 2nd flash retry and confusing error/warning messages, any zip just works no matter what Android version it was build with/for

09-05-2017
- fix flashing zips using old update-binary(like my firmware zips). Recovery will retry 2nd flash so ignore 1st try errors!

09-03-2017_OREO
- v.3.1.1-2: Oreo ROMs flashing compatible!

09-03-2017_fixed-2
- fix missing (Up A Level) everywhere when browsing for file/folder
- remove ability for TWRP GUI to restore ADB Backup for now - braking the above

09-03-2017_fixed
- fix device identify props not set at boot

09-03-2017
- remove TWRP app
- add support for mixed adopted storage + removable storage partitioned SD Card
- add ability for TWRP GUI to restore ADB Backup
- recognize and use /persist as settings storage - try to load settings before decrypt
- add Brazilian Portuguese translation
- synced with latest TWRP 7.1 sources

07-07-2017
- kernel: enable EXFAT and NTFS support(does it fix OTG EXFAT/NTFS drives access!?)
- Backup Options: add option to exclude dalvik-cache for faster and smaller backups
- synced with latest TWRP 7.1 sources

06-12-2017
- use more reliable busybox instead of toolbox(should fix flash/backup restore corrupting /system and /modem in some cases - needs testing)
- synced with latest TWRP 7.1 sources

05-14-2017
- updated to v.3.1.1 code
- built with Android 7.1.2 tree
- synced with latest TWRP 7.1 sources

04-29-2017
- digest: Force lower case md5 compare - https://github.com/TeamWin/Team-Win-Recovery-Project/issues/912
- ADB Backup: fix adb restore issues - https://github.com/nijel8/TWRP/commit/d49427ec4917ab11fdd81d7d06f47bf298e56105
- synced with latest TWRP 7.1 sources

04-07-2017
- fix adb error: device unauthorized
- synced with latest TWRP 7.1 sources

03-24-2017
- switch to in-recovery decryption binaries: fixes decryption for MIUI A-6.0 ROMs
- fix reboot when no OS is present

03-17-2017
- fix ramdisk for 2/16GB hydrogen
- Turkish translation for extra functions added

03-14-2017
- v.3.1.0-1 first release

02-21-2017[/B
- removed logcat - was causing unmount /system failure after backup/restore operations
- fix missing libf2fs.so needed by mkfs.f2fs in some cases

02-21-2017
- added logcat capabilities

02-18-2017
- fixed a major issue with encrypted userdata. Now TWRP supports(should, need testing) userdata decryption with all types of passwords - default(hardware), PIN, pattern etc, regardless what ROM is in use.
- build with Lineage 14.1 sources

02-16-2017
- fixed MIUI userdata decryption this time for sure :), kinda pointless b/c MIUI wont boot once TWRP renames /system/boot-from-recovery.p file and /system verify flag present in fstab.qcom... but at least you wont loose your data
- userdata qualcomm hardware decryption works for any ROM now (MIUI/AOSP/Lineage based)
- fixed navbar still visible when disabled in "Select storage" screen

02-12-2017
- added encryption support, now you can backup/restore everything that matters (bootloader, modem, etc) - credit goes to @TheStrix (as usual):)

01-19-2017
- synced to latest TWRP code, added f2fs encryption support in kernel(full f2fs support yet to come), improved lockskreen reset routine

01-07-2017
- freshly build kernel, old sdcardfs enabled CM14.1 kernel might cause problems... Update TWRP just in case!!!

12-28-2016
- added Chinese Traditional strings - Thanks @tarkzim


Github sources:
Unified device tree
TWRP Mod repo
Kernel source
 

Attachments

  • main.png
    main.png
    35.3 KB · Views: 11,581
  • advanced.png
    advanced.png
    32.9 KB · Views: 11,327
  • reset_lockscreen.png
    reset_lockscreen.png
    29.8 KB · Views: 11,205
  • terminal.png
    terminal.png
    24.8 KB · Views: 9,878
Last edited:

tombassi

Senior Member
Nov 18, 2011
421
134
Al Fashir
Something was wrong with Google Drive... Refreshed the link and now works for me.

hello nijel8 sorry for off topic but I really need your help, can you please make data fix similar to what you did for CM-RR for miui because any miui rom after 23/06/2016 is not working with my provider, yes I have H,H+ but no stable data traffic, while this one and older miui give me correct data connection , I tried to use your fix but it does not work in miui it flashes ok but no change. please do this for me if you have time ,,
 

nijel8

Senior Member
Dec 24, 2011
2,356
5,560
All over US
First post updated with new build... Read for details...
You can help translate this thing by copying below code, translate the strings in green and post it here mentioning your language. I will add it in new build. Thank you!

Code:
		<!-- Reset Lockscreen function strings -->
		<string name="reset_lockscreen_btn">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
		<string name="reset_lockscreen_hdr">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
		<string name="reset_lockscreen_note1">[COLOR="SeaGreen"]If you cannot pass Lockscreen security[/COLOR]</string>
		<string name="reset_lockscreen_note2">[COLOR="SeaGreen"]after backup restore you should do this.[/COLOR]</string>
		<string name="swipe_to_reset_lockscreen">[COLOR="SeaGreen"]Swipe to Reset Lockscreen[/COLOR]</string>
		<string name="resetting_lockscreen">[COLOR="SeaGreen"]Resetting Lockscreen...[/COLOR]</string>
		<string name="reset_lockscreen_complete">[COLOR="SeaGreen"]Reset Lockscreen Complete[/COLOR]</string>

                <!-- v.3.0.3-0 new TWRP App install strings -->
                <string name="reboot_install_app_hdr">[COLOR="SeaGreen"]Install TWRP App?[/COLOR]</string>
		<string name="reboot_install_app1">[COLOR="SeaGreen"]Would you like to install the Official TWRP App?[/COLOR]</string>
		<string name="reboot_install_app2">[COLOR="SeaGreen"]The app can check for new TWRP versions.[/COLOR]</string>
		<string name="reboot_install_app_prompt_install">[COLOR="SeaGreen"]Prompt to install TWRP app if not installed[/COLOR]</string>
		<string name="reboot_install_app_system">[COLOR="SeaGreen"]Install as a System App[/COLOR]</string>
		<string name="reboot_installing_app">[COLOR="SeaGreen"]Installing App...[/COLOR]</string>
		<string name="swipe_to_install_app">[COLOR="SeaGreen"]Swipe to Install TWRP App[/COLOR]</string>

...some more screenshots...
 

Attachments

  • settings.png
    settings.png
    59.1 KB · Views: 5,102
  • brightness.png
    brightness.png
    34.1 KB · Views: 5,039

tarkzim

Recognized Developer
  • Feb 11, 2015
    1,651
    3,705
    Kaohsiung
    HTC One (m7)
    HTC One V
    First post updated with new build... Read for details...
    You can help translate this thing by copying below code, translate the strings in green and post it here mentioning your language. I will add it in new build. Thank you!

    Code:
    		<!-- Reset Lockscreen function strings -->
    		<string name="reset_lockscreen_btn">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
    		<string name="reset_lockscreen_hdr">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
    		<string name="reset_lockscreen_note1">[COLOR="SeaGreen"]If you cannot pass Lockscreen security[/COLOR]</string>
    		<string name="reset_lockscreen_note2">[COLOR="SeaGreen"]after backup restore you should do this.[/COLOR]</string>
    		<string name="swipe_to_reset_lockscreen">[COLOR="SeaGreen"]Swipe to Reset Lockscreen[/COLOR]</string>
    		<string name="resetting_lockscreen">[COLOR="SeaGreen"]Resetting Lockscreen...[/COLOR]</string>
    		<string name="reset_lockscreen_complete">[COLOR="SeaGreen"]Reset Lockscreen Complete[/COLOR]</string>
    
                    <!-- v.3.0.3-0 new TWRP App install strings -->
                    <string name="reboot_install_app_hdr">[COLOR="SeaGreen"]Install TWRP App?[/COLOR]</string>
    		<string name="reboot_install_app1">[COLOR="SeaGreen"]Would you like to install the Official TWRP App?[/COLOR]</string>
    		<string name="reboot_install_app2">[COLOR="SeaGreen"]The app can check for new TWRP versions.[/COLOR]</string>
    		<string name="reboot_install_app_prompt_install">[COLOR="SeaGreen"]Prompt to install TWRP app if not installed[/COLOR]</string>
    		<string name="reboot_install_app_system">[COLOR="SeaGreen"]Install as a System App[/COLOR]</string>
    		<string name="reboot_installing_app">[COLOR="SeaGreen"]Installing App...[/COLOR]</string>
    		<string name="swipe_to_install_app">[COLOR="SeaGreen"]Swipe to Install TWRP App[/COLOR]</string>

    ...some more screenshots...

    here is my translation for Chinese Traditional.

    Code:
    		<!-- Reset Lockscreen function strings -->
    		<string name="reset_lockscreen_btn">[COLOR="SeaGreen"]螢幕鎖定重置[/COLOR]</string>
    		<string name="reset_lockscreen_hdr">[COLOR="SeaGreen"]螢幕鎖定重置[/COLOR]</string>
    		<string name="reset_lockscreen_note1">[COLOR="SeaGreen"]如果你無法通過螢幕解鎖認證[/COLOR]</string>
    		<string name="reset_lockscreen_note2">[COLOR="SeaGreen"]你應該進行這個程序,在你還原你的備份之後[/COLOR]</string>
    		<string name="swipe_to_reset_lockscreen">[COLOR="SeaGreen"]滑動以重置螢幕鎖定[/COLOR]</string>
    		<string name="resetting_lockscreen">[COLOR="SeaGreen"]螢幕鎖定重置中...[/COLOR]</string>
    		<string name="reset_lockscreen_complete">[COLOR="SeaGreen"]螢幕鎖定重置完成[/COLOR]</string>
    
                    <!-- v.3.0.3-0 new TWRP App install strings -->
                    <string name="reboot_install_app_hdr">[COLOR="SeaGreen"]安裝 TWRP 應用程式?[/COLOR]</string>
    		<string name="reboot_install_app1">[COLOR="SeaGreen"]你要安裝官方的 TWRP 應用程式嗎?[/COLOR]</string>
    		<string name="reboot_install_app2">[COLOR="SeaGreen"]此應用程式可以檢查新的 TWRP 版本[/COLOR]</string>
    		<string name="reboot_install_app_prompt_install">[COLOR="SeaGreen"]如果未安裝TWRP應用程式,彈出詢問[/COLOR]</string>
    		<string name="reboot_install_app_system">[COLOR="SeaGreen"]安裝為系統程式[/COLOR]</string>
    		<string name="reboot_installing_app">[COLOR="SeaGreen"]安裝應用程式中...[/COLOR]</string>
    		<string name="swipe_to_install_app">[COLOR="SeaGreen"]滑動已安裝 TWRP 應用程式[/COLOR]</string>
     
    • Like
    Reactions: nijel8

    nijel8

    Senior Member
    Dec 24, 2011
    2,356
    5,560
    All over US
    Refuses to work on my Hydrogen. Mostly just black screen, with the TeamWin logo flashing occasionally.

    Can you run these two commands in PC prompt and post the files when it does that:

    Code:
    adb pull /tmp/recovery.log

    Code:
    adb pull /proc/kmsg

    The two files "recovery.log" and "kmsg" will be in "C:\Users\[your user name]" folder...
    Thanks
     

    nijel8

    Senior Member
    Dec 24, 2011
    2,356
    5,560
    All over US
    @AttK0 @rizky123

    Please provide logs as I asked above... I can't help without knowing what is going on...
    Also show me the content of "/proc/hwinfo" file after you boot back to Android.

    EDIT:Delete old twrp settings file "/sdcard/TWRP/.twrp" from within Android and see if TWRP boots...
     
    Last edited:
    • Like
    Reactions: ivoxda

    nijel8

    Senior Member
    Dec 24, 2011
    2,356
    5,560
    All over US
    New builds in OP...
    Finished Chinese Traditional translation thanks to @tarkzim
    New build with Android 6.0 branch and CM13 kernel for testing if 7.1 fails... @AttK0 @rizky123 try it...
    The only reason I can think of without logs 7.1 fails for some is the different display hw... Need logs, please...

    Yes,

    Sent from my Mi Max using XDA-Developers mobile app

    Good... Means it works as intended:good:
     
    Last edited:

    Top Liked Posts

    • There are no posts matching your filters.
    • 111
      SUPPORTS USERDATA DECRYPTION on Nougat ROMs!​

      Just sharing my TWRP mod... This is the latest code from omnirom v.3.1.x-x, still not officially released by TeamWin. No official changelog yet but from the code and gerrit I can see some new features like option to install the new official TWRP App for keeping recovery up to date and flashing images from within Android, FBE encription support, A/B OTA udate support, abd backup support(WIP), kernel log export to /sdcard etc...

      Chages from the official TWRP I have made:
      1. Unified build for both hydrogen and helium;
      2. Based on source from omnirom "android-8.1" repo - Thank you:good:;
      3. All unnecessary input devices disabled including virtual mouse;
      4. New features added:
      - identifies and sets appropriate device props at boot time;
      - enable/disable navbar in General Settings which automatically rearranges theme elements for the screen with/out navbar... The extra space is nice;:)
      - enable/disable device capacitive buttons in General Settings;
      - brightness control slider 0-100% for capacitive button's backlight in Screen Settings;
      - Reset Lockscreen feature in Advanced > More... No more "can't unlock my phone after backup restore..." thing...:D
      - Temporary disable Xposed framework feature in Advanced > More... for getting out of bootloops caused by bad modules etc.
      - statusbar hide/snow keyboard button in Terminal;​
      5. Fixed many bugs... Let me know if you find some more;:)

      Note: Standard external themes on /sdcard are not supported!

      You can help translate this thing by copying below code, translate the strings in green and post it here mentioning your language. I will add it in new build. Thank you!
      Code:
      		<!-- Reset Lockscreen function strings -->
      		<string name="reset_lockscreen_btn">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
      		<string name="reset_lockscreen_hdr">[COLOR="SeaGreen"]Reset Lockscreen[/COLOR]</string>
      		<string name="reset_lockscreen_note1">[COLOR="SeaGreen"]If you cannot pass Lockscreen security[/COLOR]</string>
      		<string name="reset_lockscreen_note2">[COLOR="SeaGreen"]after backup restore you should do this.[/COLOR]</string>
      		<string name="swipe_to_reset_lockscreen">[COLOR="SeaGreen"]Swipe to Reset Lockscreen[/COLOR]</string>
      		<string name="resetting_lockscreen">[COLOR="SeaGreen"]Resetting Lockscreen...[/COLOR]</string>
      		<string name="reset_lockscreen_complete">[COLOR="SeaGreen"]Reset Lockscreen Complete[/COLOR]</string>
      
                      <!-- v.3.0.3-0 new TWRP App install strings -->
                      <string name="reboot_install_app_hdr">[COLOR="SeaGreen"]Install TWRP App?[/COLOR]</string>
      		<string name="reboot_install_app1">[COLOR="SeaGreen"]Would you like to install the Official TWRP App?[/COLOR]</string>
      		<string name="reboot_install_app2">[COLOR="SeaGreen"]The app can check for new TWRP versions.[/COLOR]</string>
      		<string name="reboot_install_app_prompt_install">[COLOR="SeaGreen"]Prompt to install TWRP app if not installed[/COLOR]</string>
      		<string name="reboot_install_app_system">[COLOR="SeaGreen"]Install as a System App[/COLOR]</string>
      		<string name="reboot_installing_app">[COLOR="SeaGreen"]Installing App...[/COLOR]</string>
      		<string name="swipe_to_install_app">[COLOR="SeaGreen"]Swipe to Install TWRP App[/COLOR]</string>

      v3.1.1-3 new Xposed functions strings:
      Code:
      !-- v.3.1.1-3 Xposed functions strings -->
      <string name="advanced2_btn">[COLOR="SeaGreen"]More...[/COLOR]</string>
      <string name="xposed_dis_btn">[COLOR="SeaGreen"]Disable Xposed[/COLOR]</string>
      <string name="xposed_en_btn">[COLOR="SeaGreen"]Enable Xposed[/COLOR]</string>
      <string name="more_hdr">Advanced >[COLOR="SeaGreen"] More[/COLOR]</string>
      <string name="xposed_dis_note1">[COLOR="SeaGreen"]If you experience bootloop after Xposed Framework[/COLOR]</string>
      <string name="xposed_dis_note2">[COLOR="SeaGreen"]or Module install you should do this.[/COLOR]</string>
      <string name="xposed_en_note1">[COLOR="SeaGreen"]Is your Xposed Framework or Module[/COLOR]</string>
      <string name="xposed_en_note2">[COLOR="SeaGreen"]related bootloop issue fixed?[/COLOR]</string>
      <string name="swipe_to_dis_xposed">[COLOR="SeaGreen"]Swipe to Disable Xposed[/COLOR]</string>
      <string name="swipe_to_en_xposed">[COLOR="SeaGreen"]Swipe to Enable Xposed[/COLOR]</string>
      <string name="xposed_dis">[COLOR="SeaGreen"]Disabling Xposed...[/COLOR]</string>
      <string name="xposed_dis_complete">[COLOR="SeaGreen"]Xposed Disabled[/COLOR]</string>
      <string name="xposed_en">[COLOR="SeaGreen"]Enabling Xposed...[/COLOR]</string>
      <string name="xposed_en_complete">[COLOR="SeaGreen"]Xposed Enabled[/COLOR]</string>

      TODO:
      - translate the new stuff - partially done... Too complicated for Google translate. Need help.:rolleyes:
      - rescale the UI to use the full screen space with navbar disabled - DONE:good:
      - add new option to reset lockscreen security settings after userdata restore - DONE:good:
      - maybe add option for quick Xposed enable/disable... Useful for testing when device boot loops after ROM flash; - DONE:good:
      - rebuild it including kernel with Android 7.1 branch - DONE:good:
      - open to more useful ideas... Just tell me...:)


      Changelog:

      08-02-2018
      - implement extra step to ensure TWRP is not replaced after stock ROM flash(ensure "Mount > Mount system partition read-only" checkbox is cleared before reboot)
      - sync with latest v.3.2.3 Omnirom sources

      07-07-2018
      - sync with latest Omnirom sources

      03-02-2018
      - fix no controls(navbar and buttons disabled) in some cases
      - optimize Navbar disable/enable routine
      - dynamic Oreo /vendor partition support if detected(mount, wipe, backup, restore)
      - sync with latest Omnirom sources

      01-29-2018
      - fix and use busybox again for better compatability
      - respect "Mount > Mount system partition read-only" setting when renaming stock recovery to prevent boot stuck @logo if system verify flag is set in fstab
      - sync with latest Omnirom sources

      01-14-2018
      - Fix for lame updater-scripts calling missing busybox
      - actually set all device specific properties per code name... no more hydrolium unified device properties

      01-03-2018
      - Fix tar executable

      12-17-2017
      - Switch to latest android-8.1 TWRP v.3.2.1 branch

      10-28-2017
      - New Enable/Disable Xposed function(if installed) - Advanced > More, useful if experiencing bootloops after framework/module install.
      - Moved Reset Lockscreen function to Advanced > More

      10-14-2017
      - Auto detect possible use of legacy props by update-binary - no more 2nd flash retry and confusing error/warning messages, any zip just works no matter what Android version it was build with/for

      09-05-2017
      - fix flashing zips using old update-binary(like my firmware zips). Recovery will retry 2nd flash so ignore 1st try errors!

      09-03-2017_OREO
      - v.3.1.1-2: Oreo ROMs flashing compatible!

      09-03-2017_fixed-2
      - fix missing (Up A Level) everywhere when browsing for file/folder
      - remove ability for TWRP GUI to restore ADB Backup for now - braking the above

      09-03-2017_fixed
      - fix device identify props not set at boot

      09-03-2017
      - remove TWRP app
      - add support for mixed adopted storage + removable storage partitioned SD Card
      - add ability for TWRP GUI to restore ADB Backup
      - recognize and use /persist as settings storage - try to load settings before decrypt
      - add Brazilian Portuguese translation
      - synced with latest TWRP 7.1 sources

      07-07-2017
      - kernel: enable EXFAT and NTFS support(does it fix OTG EXFAT/NTFS drives access!?)
      - Backup Options: add option to exclude dalvik-cache for faster and smaller backups
      - synced with latest TWRP 7.1 sources

      06-12-2017
      - use more reliable busybox instead of toolbox(should fix flash/backup restore corrupting /system and /modem in some cases - needs testing)
      - synced with latest TWRP 7.1 sources

      05-14-2017
      - updated to v.3.1.1 code
      - built with Android 7.1.2 tree
      - synced with latest TWRP 7.1 sources

      04-29-2017
      - digest: Force lower case md5 compare - https://github.com/TeamWin/Team-Win-Recovery-Project/issues/912
      - ADB Backup: fix adb restore issues - https://github.com/nijel8/TWRP/commit/d49427ec4917ab11fdd81d7d06f47bf298e56105
      - synced with latest TWRP 7.1 sources

      04-07-2017
      - fix adb error: device unauthorized
      - synced with latest TWRP 7.1 sources

      03-24-2017
      - switch to in-recovery decryption binaries: fixes decryption for MIUI A-6.0 ROMs
      - fix reboot when no OS is present

      03-17-2017
      - fix ramdisk for 2/16GB hydrogen
      - Turkish translation for extra functions added

      03-14-2017
      - v.3.1.0-1 first release

      02-21-2017[/B
      - removed logcat - was causing unmount /system failure after backup/restore operations
      - fix missing libf2fs.so needed by mkfs.f2fs in some cases

      02-21-2017
      - added logcat capabilities

      02-18-2017
      - fixed a major issue with encrypted userdata. Now TWRP supports(should, need testing) userdata decryption with all types of passwords - default(hardware), PIN, pattern etc, regardless what ROM is in use.
      - build with Lineage 14.1 sources

      02-16-2017
      - fixed MIUI userdata decryption this time for sure :), kinda pointless b/c MIUI wont boot once TWRP renames /system/boot-from-recovery.p file and /system verify flag present in fstab.qcom... but at least you wont loose your data
      - userdata qualcomm hardware decryption works for any ROM now (MIUI/AOSP/Lineage based)
      - fixed navbar still visible when disabled in "Select storage" screen

      02-12-2017
      - added encryption support, now you can backup/restore everything that matters (bootloader, modem, etc) - credit goes to @TheStrix (as usual):)

      01-19-2017
      - synced to latest TWRP code, added f2fs encryption support in kernel(full f2fs support yet to come), improved lockskreen reset routine

      01-07-2017
      - freshly build kernel, old sdcardfs enabled CM14.1 kernel might cause problems... Update TWRP just in case!!!

      12-28-2016
      - added Chinese Traditional strings - Thanks @tarkzim


      Github sources:
      Unified device tree
      TWRP Mod repo
      Kernel source
      24
      23
      Nothing new that we already don't have but... updated...
      22
      Updated... Duh...
      22