Rastakat Volume Rocker (squash)
- All credits to Rascarlo

Volumer Rocker

volume adjust sound preference

volume panel: allow volumes to be unlinked. make the volume overlay more functional

volume rocker: control cursor in text field using volume keys

volume rocker: wake. music control

AudioService: Don't adjust volume when vol-downing to vibrate or silent

Pressing vol-down to vibrate or silent would (previously) still adjust the
stream volume, setting the last audible volume to 0, which is not allowed
for voice-capable devices.  Thus, the last audible volume would reset to
default on reboot if on vibrate/silent or the lowest volume setting.

By not adjusting volume when vol-downing to vibrate or silent on
voice-capable devices, the last audible volume is always preserved across
reboot.

Framework Track Control: Switch from broadcast to audio service

Ordered broadcast is unreliable.
Switch to using the Audio Service's dispatchMediaKeyWithWakeLockToAudioService
as it sends the event to the correct receiver.

Lockscreen VolCtrls: don't raise volume on skipTrack

Set mIsLongPress to true when longpress was successful to avoid
volume from being changed on release

volume rocker: make safe headset volume user configurable

Conflicts:
	core/java/android/provider/Settings.java

Conflicts:
	core/java/android/provider/Settings.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java