[EVO 4G Android Development] flipzmode:
Geek For Me is proud to release:

Fresh Evo 0.5.3 for your Sprint Evo 4g

NOTE: Fresh Evo now assumes that you have NAND unlocked (part 2 of rooting). This means you are fully rooted and have write access to /system/ even when you are booted up. If you have not unlocked NAND protection then you should do so before flashing this rom!

This release was delayed for way too long due to various things out of my control (school, work, other projects, and a crashed hdd last weekend) so I'm happy to finally get it out!

I have been getting asked a lot when I'll integrate the new OTA update. I don't plan on including it until an RUU for it leaks out because it's a much better way to get files than to copy off patched ones. With that said Sprint pulled the update anyways due to it bricking people's phones. Haha. So just be patient and I'll update once it's out. Here's an analogy for you. You install Windows on a computer and then do all the windows updates. You then hunt down the random files that have changed and pull them off that computer, and just copy them over to another computer that hasn't had windows updates done, in an attempt to update it. While that may end up working, it is not nearly as clean as just getting an updated copy of windows that already has the updates on it and reinstalling it. THAT is why I don't plan on putting the OTA in until I have an RUU for it.

Do a data wipe! This version 100% requires one, even if you are coming from Fresh Evo 0.x. This should however be the last wipe required! It has also been reported that Clockwork Recovery is not wiping sd:ext properly. So if you do a data wipe (data, dalvik, cache, and sd:ext) and are still getting FC's or boot loops then you need to flash Amon's recovery and use it instead. In order to flash this rom you need to be rooted (unrevoked method doesn't count as root) to flash this. How To: Root Your Sprint Evo with NAND unlocked. Always make a nandroid backup, I can't be held responsible if something breaks, etc, etc.

Expect 1 loop at the very first boot! This is a side effect of the fixed vanilla lock. The very first time you boot up the phone it will load the lockscreen and then boot loop one time and then come up.

If it continues to loop then go here.

Go here to see all reported bugs: http://link.geekfor.me/freshevobugs -- if you are having a problem then check that page first, and read these release notes in their entirety!

Base: RUU_Supersonic_1.32.651.6

Changes from 0.3 to 0.5.3 (0.4 never made it to an official release)

:

Added Fresh Updater! Check the How To for information on setting it up and using it. This project has been on the back burner for months, and I'm happy to finally have brought it back and finished it up. Thanks to cyanogen and firefart as it's based on CMUpdater. It is built off of R657 which is the newest commit.

270 degree auto-rotation (you can turn the phone to the right or the left for landscape) -- Thanks to Optedoblivion for pointing me in the right direction

Fully fixed vanilla lock screen -- see screen shots. Use Fresh Updater to grab one of the vanilla patches to enable it. HTC's lock is enabled by default.

Landscape rosie (disabled by default!) -- see screen shots to see the issues with this. It is functional however it is definitely a hack. You will see some issues with using it. It doesn't look pretty, but it does work! Thanks to jschisurf for pointing me in the right direction on this one. NOTE: I have landscape rosie disabled by default! If you want to try it out then grab one of the patches in Fresh Updater to enable it. See the Fresh Updater How To for help with that.

Landscape settings.apk -- no problems here. Works fine.

12 new Rosie widgets. 7 that are available for our phone and 5 that aren't. :)

Profiles, ringtone, battery, call mom, coin flip, daily challenge, dice, notes, quick record, tasks, tip calculator, and today in history.

These are made by HTC and will only work in Rosie.

802.11N enabled (2.4 ghz only, not 5ghz) -- thanks to chuckhriczko!

Another brand new boot screen! -- thanks to wrx4memp

Updated DarkTremor apps2sd to 2.7 version 3 version 2. Version 3 was moving dalvik-cache to the sdcard even though it was set to not do so. Will upgrade to v3 when it's fixed. Thanks to tkirton!

Fixed wifi tether force close (still using the newest 2.0.5 pre 2)

Stock files have been resigned. This should prevent the need for any future wipes (not counting any major software changes by HTC/Sprint).

Updated launcher pro to 0.6.3

Updated google maps to 4.3.0

Updated estrongs file explorer to 1.4.2.2

Updated rom manager to 2.0.0.2 -- Note as mentioned above that clockwork recovery is currently having issues wiping sd:ext. So if you are having trouble with bootloops or FC's after flashing this rom then you need to use Amon's recovery instead. Additionally because of Fresh Updater, rom manager may not be needed anymore. VOTE BELOW on if you want me to continue including rom manager or not.

I have still chosen to NOT include adless browsing in my rom. I used adless browsing in all of my Hero Android 1.5 roms because it actually blocked ads from the browser. In Android 2.1 this functionality stopped working so I stopped including it. It was pointed out to me that while it doesn't block them in the browser, it does block them in apps (background data). The reason I am choosing to not include this is because as a developer myself, I feel that the authors deserve to get paid for what they do if you want to use their app. If you are choosing to use their free ad-driven application then I don't want to contribute to people blocking those ads and preventing the dev from getting paid.

Fresh Evo Features

:

All APK's have been png optimized and zipalign'd

png optimize goes through every APK and losslessly compresses the png (picture) files without causing any type of visual change. This provides a smaller apk file size that loads faster. Each APK has then been zipalign'd. From Android's developer page: zipalign is an archive alignment tool that provides important optimization to Android application (.apk) files. The purpose is to ensure that all uncompressed data starts with a particular alignment relative to the start of the file. Specifically, it causes all uncompressed data within the .apk, such as images or raw files, to be aligned on 4-byte boundaries. This allows all portions to be accessed directly with mmap() even if they contain binary data with alignment restrictions. The benefit is a reduction in the amount of RAM consumed when running the application.

While this does free up space on /system/ (as seen below) it is not done to make free space considering we have more than enough. It is done purely for a performance gain. Every day use of the phone will go smoother and stock applications will respond faster. The reason this works is because it has reduced the application file size as much as 50%, so they load in to memory faster and run smoother.

Additionally all applications in /data/ (even ones you downloaded) will be zipalign'd on boot if they need to be.

Not every apk takes png optimization + zip align well. I've done it on enough roms that I think I know which ones cause issues now, but if you are getting FC's on any apps (I can't test them all) then let me know and I'll get it resolved. Thanks!

Apps2sd enabled! Using Darktremor by tkirton.

Apps2sd takes all applications from /data/app and /data/app-private and moves them to a partition on your sdcard. It was originally created for phones that didn't enough enough space on /data/ to store a large number of applications. This has mostly been resolved on the Evo because we have over 400mb of space allocated to /data/. However for some people this isn't enough. Additionally if your apps are stored on your sdcard then you can do a data wipe and they will still be there (albeit settings will be lost, but you won't need to reinstall them).

You do not have to use apps2sd if you don't want to use it. If you just don't format your sdcard with an ext partition (leave it all as fat32 like it is from the factory) then apps2sd will stay turned off.

How to setup apps2sd on Fresh Evo and warnings about apps2sd

Battery optimizations

The stock mms.apk was possibly causing a wake lock. I have swapped it for a different one while I do some testing.

Raised VM kernel dirty page writeback frequency to 15 seconds. This wakes the phone up less often for background VM activity. Every single application in Android is technically running in a VM (virtual machine) so that's why this helps (as recommended by lesswatts.org).

Compcache 0.6.2 / Ramzswap enabled -- Thanks to toastcfh for compiling the modules! Compcache creates a RAM based block device (named ramzswap) which acts as swap disk. Pages swapped to this disk are compressed and stored in memory itself. Compressing pages and keeping them in RAM virtually increases its capacity. This allows more applications to fit in given amount of memory. This will only kick in when the stock memory (which the Evo has plenty of) gets low.

I have tuned the default to be 100mb ramzswap size with 40% swappiness

You can check compcache's use by opening an adb shell and typing: rzscontrol /dev/block/ramzswap0 --stats

ES File Explorer

ROM Manager -- Fresh Evo does show up as an available download in the free version of ROM Manager, so you can use it to update Fresh Evo right through your phone if you want.

Launcher Pro

Wifi Tether (free 3g and 4g wireless tethering)

Qik

Facebook moved to /data/ so that it can be uninstalled

Custom boot screen thanks to wrx4memp!

Added PowerTOP 1.11. From LessWatts.org: Programs can make your [phone] use more power. PowerTOP is a Linux tool that helps you find those programs that are misbehaving while your [phone] is idle. -- Compiled by cyanogen.

To run PowerTOP just open an adb shell and type: "powertop -d". It will scan for 15 seconds and then print out a report.

The first section will show you what % of time your phone spent running at what Mhz. In the screen shot above my phone was asleep so it was at 245Mhz the whole time.

The next section shows wakeups-from-idle per second. 50-80 would be normal. If you are in that range then you don't have a problem.

The next list is the top causes for wakeups. Compare your list to mine (I only showed the top 3).

All the way at the bottom it will have optimizations that can be made to lower power use. These changes can not be made to the rom itself, they must be made to the kernel. While other roms claim they made changes to the kernel, if they are using the stock kernel (if they aren't over-clockable then they are using the stock kernel) then they didn't. While there is a kernel source available to us, I have chosen to continue using the stock kernel until our official source is released by HTC for stability reasons.

I have chosen to NOT include adless browsing in my rom. I used adless browsing in all of my Hero Android 1.5 roms because it actually blocked ads from the browser. In Android 2.1 this functionality stopped working so I stopped including it. It was pointed out to me that while it doesn't block them in the browser, it does block them in apps (background data). The reason I am choosing to not include this is because as a developer myself, I feel that the authors deserve to get paid for what they do if you want to use their app. If you are choosing to use their free ad-driven application then I don't want to contribute to people blocking those ads and preventing the dev from getting paid.

See the official change log for all previous notes and changes! READ IT. It can answer a lot of questions if you are new to Fresh Evo.

DOWNLOAD: http://geekfor.me/new-release/fresh-evo-053/

RADIO: 1.39.00.05.31 (make sure you are running the newest radio if you are having problems with 4g)

New screen shots:

Older: screen shots:

Thanks to D/\SH at smartphonejunkie.com for the video! This is from the last version of Fresh Evo but he has some nice things to say. :)

[YOUTUBE]3G48OzpY5_E[/YOUTUBE]