[Miscellaneous Android Development] LuK1337:
Team Win Recovery Project 2.x, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.

Phone look:

Tablet look:

CHANGELOG for 2.8.0.1:

-Fix a bug that causes weird graphics glitches and touch issues

CHANGELOG for 2.8.0.0:

-Add MTP support to recovery thanks mostly to bigbiff with a little help from Dees_Troy

-Add command line capabilities - you can now execute various TWRP features via adb instead of the touchscreen

-Add support for color in the console and give error, warning, and highlight lines different colors

-Track backup and restore progress based on file sizes to provide a much more accurate indication of progress

-Improve handling of /misc thanks to mdmower

-Improve setting of time on Qualcomm devices thanks to [NUT]

-Allow using images on slidervalue GUI objects thanks to Tassadar

-Allow using variables and addition and subtraction in variables for easier theming

-Add support for 1440x2560, 280x280, and 320x320 resolutions and update 240x240

-Allow ui.xml file to include additional xml files to help break up the theme and make TWRP easier to maintain

-Other minor fixes and improvements

Over the course of the last year or so, bigbiff has worked to migrate various Java functions from Android's MTP implementation to bring you a fully C++ based MTP implementation that allows you to transfer files to both emulated storage and Micro SD cards. It's confirmed to work on various Nexus devices but we may have to make some changes on other devices to keep Windows happy. Windows is very picky about USB IDs and its drivers. We have tested it on Windows 7 and 8 as well as Ubuntu 14.04 Trusty. MTP is enabled by default, but we do toggle it off and on automatically during certain operations such as if you choose to wipe a storage partition. You can enable or disable MTP under the mount menu in TWRP. For more about what MTP is here.

Note: Due to a weird bug with our MTP setup, you cannot copy a zip file to the root of storage with Windows. You can change the .zip to something else like .txt and then copy it to the root and rename the file back to .zip once it's copied to the device. You can also copy the zip into any subfolder.

Command line support is also now available. You can perform various OpenRecoveryScript commands via the adb shell. Depending on what you are doing you may wish to do a "twrp set tw_mtp_enabled 0" and then reboot to prevent the MTP auto toggle from killing your adb interface. You can use this option to create and restore backups, wipe, install zips, and more. Via adb shell, type twrp followed by a space then enter the OpenRecoveryScript command and hit enter. Find more OpenRecoveryScript commands here.

CHANGELOG for 2.7.1.0:

-Add GUI option to change or repair file systems on individual partitions. The change is destructive so backup your data including internal sdcard first. This option should make it a little easier to migrate a device from ext4 -> f2fs, for instance. You will find this option under Wipe -> Advanced Wipe, then select only one partition and then press the Repair or Change File System button. If a developer has added f2fs support for your device and we don't have it in TWRP, please contact me via PM to arrange for it to be added.

-Various bugfixes to backup and restore

-Improvements to USB storage handling

-Added a class to search for files to make finding the correct brightness file automatic in most cases

-Various other bugfixes and tweaks

CHANGELOG for 2.7.0.0:

-Faster graphics rendering by disabling alpha blending on fully opaque objects thanks to Tassadar

-Allow sideloading from /tmp on encrypted devices

-Check for a crypto footer before asking for a password to prevent user confusion

-Additional checks for validity to auto generated backup names

-Text wrap in the console output

-Proper caps lock support in the keyboard

-Mouse support via USB OTG for devices with a broken digitizer

-Improve scanning of storage locations for OpenRecoveryScript

-Haptic feedback for buttons, keyboard, and vibration at the end of longer running actions thanks to Samer Diab

-Fixed ext4 wiping when no selinux contexts are defined for that partition (e.g. sd-ext)

-Update SuperSU to 1.93 and improve installation process

-Added selinux contexts restoration to fix permissions

-Load RTC offset on Qualcomm devices to fix the date/time in recovery

-USB Mass Storage fixes Add SELinux support checking

-Add Disk Usage class to better handle excluded folders (e.g. Google Music cache)

-Add 4.4 decrypt support

-Add some toolbox utilities to TWRP (namely to support SELinux functions not supported in busybox)

-Various SELinux fixes and bug fixes

Note: 2.7 marks the first time that we are dropping support for older devices. We are doing this because of the SELinux support needed to install 4.4 Kit Kat ROMs. The non-TWRP parts of the recovery image have to be built in at least a 4.1 tree and the kernel that is included in the recovery image has to support writing SELinux contexts. We don't own most of the devices that we support so we depend on outside testers and developers to help us update devices. In many cases we can't find someone readily. Come to #twrp on Freenode if you want to help bring your device up to date. You can tell right away if your device will support 4.4 ROMs in 2.7. Boot TWRP and press the console button (the square-ish button either in the bottom middle or upper right) to view the console output. If it doesn't say "Full SELinux support" in the console, then your device still needs some work. Help us help you.

CHANGELOG for 2.6.3.0:

-Proper backup and restore of SELinux contexts (thanks to Tassadar)

-Pull in some ROM information for backup name generation

-Merge all recent patches from AOSP bringing TWRP up to date with Android 4.3

-Add 1200x1920 theme (thanks to Tassadar)

-A few other fixes and tweaks

DOWNLOAD:

Download recovery for your phone: https://basketbuild.com/devs/LuK1337/TWRP/baffinlite/

Device tree for TWRP: https://github.com/SamsungBCM-GrandNeo/android_device_samsung_baffinlite/tree/du44-twrp

Installing from other recovery:

1) Select install zip

2) Select TWRP package

3) Done

Installing from Odin:

1) Click on AP

2) Select TWRP package

3) Untick auto reboot

4) Click on start

5) Done

Credits:

[MENTION=4532929]codekidX[/MENTION]

[MENTION=943196]k2wl[/MENTION]

[MENTION=5405578]kkbs4u[/MENTION]

[MENTION=4924398]rutvikrvr[/MENTION]

[MENTION=4495154]Grafitter[/MENTION]