[Galaxy S I9000 Themes and Apps] carlocb:
CREDITS:

My work is ONLY the application, it was intended for my personal use, but I figured that it could be useful to someone else, until supercurio doesn't come out with something better (and I hope he will).

So the HARD PART of the work, like finding out how to tweak the volume limit using alsa, etc. was done by

supercurio

and we should all thank him a lot for all his work! :D

Thanks also to

RyanZA

for creating the z4root application, very very useful! ;)

PREREQUISITES:

1. Your phone must be ROOTED!

ATTENTION FOR FROYO!!:

With froyo official updates, it is NO LONGER possible to flash custom update.zip!! If you want to leave your phone unrooted, however, there is a simple way to achive this:

1. Download from the market the free application "z4root" from our beloved RyanZA! (http://xdaforums.com/showthread.php?t=833953)

2. Use the z4root application to get root privileges

3. Now open audioboost and choose "NORMAL INSTALL"

4. Now or whenever you feel like it, if you want, you can just open z4root again and *unroot* your device. After that, you can even erase z4root and continue using audioboost without problems until next firmware upgrade...the app won't leave any trace and it won't be noticeable that your phone has been rooted.

If you liked this approach, you can also donate to RyanZA for the wonderful app he's created!

INSTALLATION:

If you had previously a beta version installed, please uninstall it before trying the release 1.0.

If you don't have already installed alsa, the app will check your installation when you launch it, and eventually it will ask you to install alsa. Please do so.

FEATURES:

- Headphones, speaker and microphone tweaking! :D

- I optimized the code a lot, so now it is very low on resource usage, even with a 1-second refresh rate!

- You can leave it in background all day without noticing any lag or anything! ;)

- Now with some sort of icon.

- Signed.

UPDATED 1.1:

- When clicking exit button it will clean up better.

- Cleaned up a bit the Settings activity, and added preview of next feature (statusbar notifications).

- Changed Info activity a bit.

UPDATED 1.2:

- Fixed a bug that prevented the app to work properly!

UPDATED 1.3:

- GLOBAL REFRESH! ;) Now the refresh time and enabling/disabling is under Settings and works for ALL controls (headphones, speaker and mic).

- Fixed (hopefully) problems with ALSA INSTALLATION, plus now a progress dialog is displayed (just for you to know that is working and for me when posting problems - I hope not - you can say "stuck at x%"...)

- Fixed QUIT bug. Now when you click the exit button it should really exit and not show up in background even with task killer. PLEASE DO NOT KILL THE APP, use the exit button!!!

- Now menu has icons! :D

- Plus a lot of things that you may not notice, but are very useful for overall speed and low system resource impact! The code has been changed A LOT, let me tell ya! :cool:

...Well hope everything works just fine! Please post feedback on mic functioning with these new features! ;)

UPDATED 1.4.1:

- Just fixed a little thing which prevented the correct alsa installation, nothing definitive as I'm looking to manage every single possible error scenario...

UPDATED 2.0:

- Works even on unrooted phones

- Alsa installation takes now a split second! You MUST do that even if you used version 1.x (permissions changed...)

- Audio-boosting feature is a service that can be backgrounded

- Statusbar notification

- Start on phone boot

- Refresh rate in milliseconds...you can have values lower than 1 second, default is 500ms...obviously greater values = worst experience = better performance....your call! :P

- New app logo...hope you like it!

- A lot of other improvements that I'm not remembering right now! :P

UPDATED 2.1:

- Fixed lagging issues (OMG java Timer class implementation on android sucks badly!!!)

- Dropped "always active" option in settings (not very user-friendly/intuitive)

- Added little dialog when hitting menu/Quit that asks if you want to background the app or close it for good (more user-friendly for my taste)

Regarding *lagging* issues: of course, if you keep like 2-3 milliseconds refresh it WILL lag indeed! That depends on use-cases:

- I, for instance, use my app when listening to music while driving. In that circumstance, I have no problem occupying resources because I'm not actually using my phone apart from playing music. If an email comes in though, I'd *hate* to have to wait 10 seconds to boost volume again, so I keep 100-200ms. When I exit the car, I click "disable" and close audioboost.

- Someone who is listening to music while using the phone intensively should use a higher refresh.

I think that with 2000ms refresh, version 2.1 shouldn't lag even all-day long. Even with lower values it should be fine...you should find your preferred setting by yourselves! ;)

UPDATE 2.2 - 2.3 - 2.4:

- Fixed some bugs.

- Improved froyo compatibility.

- Mounts /system as rw during install.

PLEASE FEEL FREE TO RATE/COMMENT THE APP IN THE MARKET, THANK YOU EVERYBODY :)

- OLD:

Ok...let's explain a bit. Yesterday evening I wanted to know if it existed a tweak to boost the audio volume coming from the headphones. I think that there is some sort of European law or something like that which limits the volume that headphones can produce. This is probably a good thing to avoid hearing problems with *headphones*, but in my situation it sucks badly! Yes, because I use my phone as a music source in my car, and my car hifi is not powerful enough to let me hear my music at the level I like...

However...I was addressed at this thread, from post #300 on...

Well, I read the thread (and I STRONGLY ADVISE you do the same before downloading anything from my post), but I didn't like very much the limitations of that tweak. It works alright, but it seems to me that an sh script is not the more comfortable way to go on a mobile phone. If you think differently from me, feel free to keep using the script method, without posting useless comments. ;)

So I created a tiny little (horrible I must say) application which kinda does basically the same thing as the script, but in a (from my point of view) much cooler way! It is very ugly, but it's my first android application and I bought the phone just 2 weeks ago...

How does this work? Very simple: there is a textbox in which you can enter the desired amp level, an enable button and a disable one. You should enter the value you prefer (default is 62), then click enable button. You should now leave the app RUNNING in background. When you are finished using the tweak you can tap the disable button to return to the default (of the firmware) settings.

Basically what the application does is it creates a 2-seconds timer which calls everytime the alsamixer (a little better than using an infinite loop as in the script...) with the desired settings. It doesn't seem to impact the battery life too much from my little testing, but please post any feedback on this point.