[Hero, G2 Touch Android Development] Hacre:
Ok because people don't like reading threads before posting their questions...

KNOWN ISSUES - FroydVillain 1.2.x - KNOWN ISSUES

We know GPS is borked. It's not a fault with the kernel it's a bug that was in the framework. -ANY- AOSP build built with this version of the Android source has the problem. This is fixed in 1.3.

Latest Google Apps will be in 1.3. Stop asking.

A rebranded version of CMParts/CMSettings will be in 1.3. Stop asking.

New Google voice search has issues especially if your language isn't set to English USA. Stop asking if it's a ROM problem. It isn't. We don't make the GApps, Google do, surprisingly enough.

I cannot think of any other ways in which I can try and make the battery drain harder than it should. The battery life with the ROM and the kernels is fine. Perfectly fine. If I used any less juice to the OS I'd get a nobel prize for energy conservation. Stop using crappy apps. I do not own a Hero with a hydrogen cell or nuclear reactor attached. It's a stock battery.

OTA Update: FroydVillain 1.2.2 "GPS really needs a kick in the nuts"

VillainROM Updater app finally makes a return to the FroydVillain platform.

New in this update:

Framework fixes for the GPSLocatorService that fix an issue causing a hang/crash when GPS was obtaining initial fix and location update.

CPUSpeed no longer supports a screen off profile. See below for details.

Updated lib_htcril.so to improve GSM switching, -should- also fix the people experiencing GPS+GSM not working.

Kernel updated to fix some regression bugs in the USB stack, ARM code issues and to prevent the camera app clogging the IO bus.

All the different OC kernels are now in the OTA app, just enable experimental updates to see them.

This OTA update clears the dalvik cache, as there are updates to the framework, so naturally your phone will take longer to boot.

We no longer support the use of a screen off profile with the interactive governor. It's really not needed. While it may make some difference to battery longevity, the benefits far outweigh the downsides. We're talking -maximum- a loss of an hour, over using a screen off profile. However you get the added benefits of:

Being able to use anything with the screen off without losing performance. For example phone calls, listening to music, etc.

Time for a brave new world of thinking, folks. Get used to the idea that it's better for the governor to accomplish a task as quickly as possible, then clock back down.

The other switch in thinking, is this. It's time we stop trying to work around whatever bull**** problem that apps on the market introduce by being buggy, crap or poorly designed. If we find there's an app or a widget that runs your phone at top clock all night, well, start giving the developer ****. We're no longer going to try and work around issues introduced into the OS by bad applications. Developers need to start taking more responsibility or face people not using their apps anymore.

Screen off profiles are a nasty workaround for this problem and it's going to go away, at least in FroydVillain. Your phone's performance should not be at the mercy of whether the screen is on or not. Having many frequencies in the table is a false economy because, and especially with the <518MHz frequencies, you're not just flipping CPU multipliers you're changing the speed of the system bus as well, which causes ultimately more draw on power.

All you need to do now in CPUSpeed is decide what minimum frequency your phone is happy working at. If you have a 352MHz minimum phone, don't start hand wringing with worry because you have fewer available frequencies than others. It doesn't matter. Your battery life was always going to be worse than those of us that can use <352000KHz frequencies anyway, only now your battery won't suffer as much because you're not stepping through a stupid number of frequencies and bus hops to get to a frequency required to get the job done.

Oh, one more thing. Before anyone asks, since I mentioned USB fixes, no the issue with the phone being recognised isn't wholly fixed yet and no Wired Tethering isn't fixed yet. However that is coming soon. I tried to get it into this fix today but it got delayed. No sense delaying the other fixes due to that, though.

EDIT: One more thing. The random instability when using GPS is still present, somewhat. It's affecting all MSM7200A based phones since the update to Google Nav. It's being worked on.

EDIT2: Holy crap guys, when you've updated, start the camera app and check out the performance of the overlay.

FroydVillain 1.2.1 "Return of the Photon Receptive Imaging Device now with more...er...stuff!"

Ah. AH HA. See, the easter egg experiment in 1.2.0 went well, quite a few people spotted that I was being a lying bastard when I said the camera still works. Well done, prizes are on their way.

Ok ok ok I know, I cocked it up. But even Gods **** up sometimes. Have you seen Sarah Jessica Parker? Jesus.

So with 1.2.0 I went nuts to the wall with changes (which all developers know, always causes problems) and changed all the compile options, the toolchain being used because lets face it, when your build is trawling nearly 3GBs of code, you want all the speed you can get.

So colour me surprised when not only did it build, but it booted too. Stuff worked! Oh god it didn't crash at all. Was I about to take my place among the greatest developers ever to grace the land? Had I managed to shut my eyes, bang on some changes like a two year old on a piano and produce something that worked????

Well, alas, no. After everyone had stayed with 2.1 because for some ungodly reason they actually liked the camera on the Hero, even though it has cateracts and has the visual acuity of a blind mole that has just drunk a pint of Ouzo, I went ahead and broke the bastard in the very next release. What a spectacular break it was too. Don't worry folks, I was just reminding Android who is boss and I can take as easily as I can giveth.

It is customary to make up for rather catastrophic f**k ups with some brilliance and gestures of goodwill, extra niceties to appease the masses for them losing the convenience of a camera that would lose an eyesight competition with Stevie Wonder.

SO WHAT DO WE HAVE FOR YOU TODAY?

Well, if I am honest, we have what 1.2.0 should have been.

New since 1.2.0:

Camera fixed.

...

Profit?

Ok ok. I can't justify a new thread with just a single fix. I mean that's barely OTA patch worthy.

SO.

Camera Fixed (again. It has 50% extra fixedness this time. Promise.)

Dalvik management adjusted just for people like dkelley who like to carry around a mirror of the Android Market on their phone.

*picks up Hero* what the hell else did I...OH YEAH

Missing libraries added so the new Voice Search app that's as xenophobic as a old white devout catholic 89 year old American from the deep south can at least attempt to understand "strange" accents from far away lands like....England when we say "navigate to Tesco I'm f**king hungry" and give results of "Navigate to Timbuktoo or Hungary". Awesome.

LauncherPro, Facebook and Google Maps updated to latest versions. I know how you guys hate having Market say HEY YOUR S**T IS OLD the second you flash a new ROM. See how nice I am?

Chrome to Phone added.

Titanium Backup added with the blessing of the author. I promise I'll return his children tomorrow.

Gallery 3D now doesn't go back a step every time you rotate. It now does nice psychadelic diagonal zooming on all your pictures when you open them. I hate this app, so so much.

As much as it makes my teeth itch, WMA and WMV audio/video works, up to WMV/A version 8. I still want everyone who actually uses this stuff to be attacked by a plague of angry left handed wasps who have just bought iphone 4s though. Just sayin.

Ok I've stretched the changelog as much as I can from "fixed what I made a total arse of before".

Hey I did manage to keep all the other performance improvements though. Think of 1.2.0 as a performance preview release and remember to blame everyone but me for the camera not working, since I definitely asked some people to test 1.2.0 before I pushed it out. Man I should work for Apple I can shift blame so well. That's right your camera didn't work because you held it wrong.

Ok, the usual guff that 98% of you have skipped to already:

DON'T reboot twenty times. Do the first boot, install your crap, reboot once. Job done.

adb install won't work on this ROM, until you tick "Unknown Sources" in the Menu > Settings > Applications menu.

This appears to be a new security feature. Similarly, apps pushed to /data/app won't work either. You might not notice the issue, but the app does not get any of its permissions it should have, meaning that it is probably useless, and might FC constantly or whatever. So remember to tick the Unknown Sources box

VERY IMPORTANT INFORMATION:

When you install this ROM, DO NOT USE GOOGLE BACKUP OR RESTORE. It really slows the ROM down, like all Froyo ROMs, and it uses loads of battery even when you think you're not doing anything. So it's not cool. So turn it off in the setup wizard.

Yeah. Google aren't as good as me at fixing catastrophic game breaking failures, so Google Backup still sucks harder than a hungry whore with a vacuum cleaner on two for one night.

This ROM does NOT come with the optimal kernel installed. It comes with a safe one. You NEED to read the section "kernels" below for more information about these, and which to choose Then, once installed, open the app "CPUSpeed" and set up your CPU speeds. This ROM uses the interactive governor, which gives much better battery than other governors... So, set interactive as the main governor, then set your minimum and maximum. Then repeat this for sleep mode. If you have a 352MHz base kernel, set both the max and min sleep speeds to be 352 MHz.

I'm lazy and can't be bothered with a ton of formatting bbcode tags. Imagine the above text that no one ever reads anyway, in 8 inch tall letters and really really red.

You still have a plethora of kernels to choose from. You still need to apply as much thinking to which one to choose as you do in your average food shop. Think about that when you're posting to ask which kernel you should flash. You may as well ask us which flavour of noodles to buy.

Oh in case I didn't mention, it's still fast, now with added fastness for people who like to store Earth on their phones.

(Thanks to soulasassin for benchmarking) and yes that's Neocore with sound -on-.

Kernels:

Kernels removed as they're now in the OTA app.

MD5 sums:

276501f2709e595a3fc4fa7c656817df FroydVillain-1.2.1-release-signed.zip
97c953410f547229751d30c199ac0588 nindroid-v1.2-19-614-test-signed.zip
89828f333b9857b4522a88dd3a2137b4 nindroid-v1.2-19-691-test-signed.zip
1b8ac98fb48dadb89e41b4d921ada402 nindroid-v1.2-19-729-test-signed.zip
0003fd30eb6ca960c9877632eb4b0e6d nindroid-v1.2-19-748-test-signed.zip
954a19202806e08f951b69bdd472b009 nindroid-v1.2-19-768-test-signed.zip
8560f34c321a75456e1def3c14fa61db nindroid-v1.2-352-691-test-signed.zip
6608b4a8fc0b04100039d637cfda7332 nindroid-v1.2-352-729-test-signed.zip
5a812107fcccd1d93de2f8ef966cf299 nindroid-v1.2-352-748-test-signed.zip
46f30ca9cfc57136321137ff3ace7e53 nindroid-v1.2-352-768-test-signed.zip
0e1d92f777a688b47cf79dad6f5c0468 nindroid-v1.2-352-787-test-signed.zip
dca2be74cb09a636845c804011322026 nindroid-v1.2-default-test-signed.zip

Oh, I forgot Clicker.apk for the HTC IME mod keyboard, so instead of wasting time adding, re-signing and re-uploading, it's here, push it to /system/app/ with adb.

I'll be rebuilding you some 1.3 kernels today/tomorrow. I didn't do it today, on account of 1.2.0 making me so paranoid about releasing I actually read every line of the Android source code. Twice. You all owe me an eye transplant when I'm 40. Did you know Dalvik is named after something Icelandic? Now you do. I hope Dalvik's memory economy isn't like Iceland's monetary economy or we're all in trouble. The 652 kernel is still left out because something updated upstream is breaking apps2sd. Once I've strangled the guy responsible and demanded to know what he did that broke it, we'll resume normal service.

WaveSecure still needs a full backup apparently, due to sudden paranoia over at WaveSecure. If I've warned devs about weed once I've warned them a thousand times but do they listen? Nooooo.

Anything else? Probably. Gah now I have to pee....

...back. Good job this isn't live you would have been waiting a while, probably rather pissed off by now since I haven't posted the download URL yet.

BIG THANKS TO

Cyanogenmod team for their repo that makes the Android AOSP source tree look like it was made by monkeys

Alankila for finally providing a free alternative to SetCPU. OCWidget sucks.

Alankila again for his ridiculously awesome DSP Manager. Finally my phone sounds like a 21st century device.

Remember kids, you need a full wipe before flashing this. I know I know it's annoying, boo hoo. Just remember, it's also important to do a full wipe before pulling your pants back up or you end up in an embarrassing mess and no one wants that, do we? It's even more important to do a full wipe with FroydVillain because you can't throw your phone at your woman and demand that she deals with the problem like you can your skiddy underpants.

Oh, I almost forgot. Bad news guys. Really bad news. After reconciling some issues with the XDA staff (big props to Egzthunder1) and after the tear jerkingly overwhelming support I've received over Twitter and especially from the Villain community, I'm staying on as a Villain developer and will continue to come up with releases. Hopefully my job will be made easier if I keep churning out release notes like this, as in a couple more versions no one will want to read it all just to find the download link.

That's right. I hid the download link somewhere in the post. Aren't I awesome? :D First person to find me on IRC to tell me where the link is, gets the extra special prize of me saying on Twitter to all my faithful followers that "XXX outsmarted me and found my hidden link!! Clearly XXX > Ninpo!"

Download link for 1.2.1 is here.

So yeah, thanks to everyone for your support. I'll still be a little more distant from the front line simply because I react to noobs, morons and idiots much like a rabid Pit Bull reacts to a small child with a pork chop around his neck and because I'm still working on the 2.6.34 port with the awesome Elemag and the guys over at Cyanogen.

But you'll still feel me on your phone, in your pocket, with new ROM releases. Ooo baby.

Ninpo out.

EDIT: BAH Issues with some download mirrors it seems, so click here then click either of the 652 MHz kernel links.

EDIT2: KNOWN ISSUE WITH CPUSPEED. It's not always changing profile when the phone wakes up so use SetCPU in the meantime.