Hardware key custom rebinding (1/2)

Framework changes to allow rebinding of the actions performed on the following
key press events: Home long-press, menu press, menu long-press, search press,
search long-press, app-switch press and app-switch long-press.

The available actions are: Nothing, open/close menu, recent apps switcher,
search assistant, voice search and in-app search.

Patch Set 1: Initial port from ICS [done by Konstantin Koslowski]
Patch Set 2: Added 'assist' (search) key customisation
             Option for ICS-style in-app search, in addition to jellybean-style
             search assistant.
             Fixed double haptic feedback on virtual key press.
Patch Set 3: Checkbox to enable/disable all custom bindings.
             Home long-press defaults to no action on devices with
             an app-switch key.
Patch Set 4: The recent apps list will be preloaded on the initial down press
             of whichever key to which it is bound.
Patch Set 5: Fixed menu virtual key press sometimes performing the custom
             action bound to the menu key instead of just opening or closing
             the menu as it should.

Conflicts:
	core/res/res/values/public.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Change-Id: I72c0d220a09d79230bfa299e0521ed693e5c25f1

Conflicts:
	core/res/res/values/config.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Disable Google's home-key handling code

This might be temporary. Upstream now includes multi-behavior key
handling for HOME, which conflicts with our own code when running
in parallel, resulting in funky behaviors. Since the CM implementation
is more flexible, let's keep that for the time being and disable
Google's; It might be a good idea to rewrite our version so that it's
an extension of theirs, though.

Change-Id: I5d55301772607315b410880c1194a0076e21cb80
Configurable 0, 90, 180 and 270 degree rotation

Change-Id: Ia1859c51d71ef9d01cec2d13c6468ed89c6ac53e
Contributor: jonasl

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Port "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.

Patchset 2 - Switch power widgets over as well
Patchset 3 - Rename handler 'what' message to be more consistent
Patchset 4 - Fix renaming mishap

Change-Id: I022720a551b94637f7b16258dfb6a22234bcb736
Lockscreen VolCtrls : Don't raise volume on skipTrack

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

Change-Id: I874f7d66248e30535dddfec53ddd299718e3fa3d
Squashed commit of audio changes from CodeAurora

MediaFile: Add DIVX and MPEG2TS file format

Change-Id: I9f8cfbe8138c6d3d0d824bff2542b91d72a06b82

audio: Define ANC headset and proxy device

Change-Id: I681d73433d874ec66ec0b1f1f39869008d7d7d0d
(cherry picked from commit 1e6c410eadfc510a9f116bb3da142214fe761225)

audio: add support for QCOM WiFi display

- Define QCOM WFD intents
- Register and handle WFD intends in AudioSystem

Change-Id: I1e5a73d4aa5595bed44d24652647c12b7ef4ae1f

audio: add support for QCOM audio formats

- Add support for EVRC, QCELP, and WMA formats

Change-Id: If3676b88fa287b484ef8616c0a6b67177b61a720

PhoneWindowManager: Changes for WFD.

- WFD now sends WIFI_DISPLAY_VIDEO intent to set UI orientation.
- PhoneWindowManager to listen for WFD intents.
- Display on WFD should be same as seen on the HDMI, so set the
  orientation to HDMI orientation

Change-Id: I638adaa906e2151b1c6ae496343714fe828f5dbd

audio: add support for QCOM vocoders

- Add support for EVRC,QCELP and other
  QCOM vocoders

Change-Id: I9b2a18fe7d01a9198eb470e94e7176b7a6da2c7c

Conflicts:
	core/jni/android_media_AudioTrack.cpp
	media/java/android/media/AudioRecord.java
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
bugfix: allow recent apps dialog to work with menu long-press

With the original patch, using the recent app dialog from a
menu button long-press would cause the dialog to be preloaded
and then dismissed on key-up. Check long-press behavior settings
as well as short-press to prevent the dismissal.

Change-Id: Idf1d27aa725547e0ddc44905e27da6c1b4540fab
Make system layout fill the window properly on expanded desktop mode

This commit fixes e.g. the gap on the bottom of the lock screen
or the gap on the right side of status bar on landscape mode.

Patch set 2  : Remove whitespace issues
Patch set 3  : Code cleanup
Patch set 4  : Damn whitespace errors

Change-Id: Ic8a6b748f94d7dcc883201579d199898713c90fd

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Frameworks: Expanded desktop mode (1/2)

this commit adds expanded desktop mode. You can decide if only
navigation bar, only status bar or both are hidden when expanded
desktop was activated.

This commit also sorts the entries a bit more logical and alphabetical

Change-Id: I3fe0b1eee6e13cf10debbcbe5338fa901b785c84

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