Allow hardware overflow key to be show by default.

Currently this is controlled by a system setting, but there is no way to
set a default value for the system setting. This is very useful to have
for devices that have no hardware menu key.

Change-Id: I94212def19d3e2224d79d3a89e1e2d3b2883da21
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
AudioService: Go back to virtual SCO calls on multi-function units

Direct raw audio channels to these HFP devices is resulting in
dead audio on hangouts, on all devices. Until that is figured
out and/or fixed, go back to establishing a virtual call to open
up the audio channels

Change-Id: I794e75eed96ac09cfbb1c9d28c90d3161cfb7149
Smooth Spinners: Makes the loading "spinner" animation smoother in non-holo apps

The loading "spinner" animation is quite jerky by default when the progress xml's from
drawable are called in applications that don't use the holo progress animation. The holo
"spinner" animation is already smooth by default. This makes every other "spinner"
animation smooth.

We've been changing this value in all ROM's we release, both AOSP and CM based ones
as well as stock ROM's, since it gives a more polished look to the entire system. In the past
3 years we've been using this small tweak we have not noticed anything that would
adversely affect battery life or system operations as a whole.

Signed-off-by: Sar Castillo <sar.castillo@gmail.com>
Keyguard: fix statusbar lags when default widget shown.

When statusbar became expanded KeyguardStatusView receives
onKeyguardVisibilityChanged callback and refreshes ClockView.
Because it receives more than one call and every time it reads
new values from resources it cause lags in opening statusbar panel.

Replace this code with BroadcastReceiver and ContentObserver to
refresh it only in case something was changed.

Change-Id: If0dbc1db059536806852661931cb2e6436f2acf4
Keyguard: smooth background change.

Change-Id: Ia0e4d0000db72b5cdb6fede03791805e34fa311d
"Clear all" button on recent apps

Change-Id: I9ebcf22f85957f61caefb14e0efd4cf2978d92cd

Conflicts:
	packages/SystemUI/src/com/android/systemui/recent/RecentsHorizontalScrollView.java
Handle user-defined cache path for RS.

Change-Id: I92e3346dca331ae6a9dfbe4f95292bc604dfd196
update supported mime type list
Track Looper decoupling from ALooper

Change-Id: I54f4d36f105e60eaaa453ae60f591d634c681fd7
Add GCMParameterSpec to preloaded-classes

Needed for Bouncycastle 1.50 upgrade with art.

Change-Id: I901122c1ce21abba437a7537e70331724c3cbc9c
Add CertStoreParameters to preloaded-classes

For image creating, art needs this in the preloaded-classes list.
Otherwise it complains loudly about not being able to load it from a
class initializer in Provider.java.

Change-Id: Ie7ed5655cba038b504767c3de9f70b47a8965cce
Use BaseNetworkObserver in Tethering.

Tethering currently inherits from the AIDL interface
INetworkManagementEventObserver, so it has to provide no-op
implementations of all the interface's methods. Inherit from
BaseNetworkObserver and get rid of the no-ops.

[Cherry-pick of f4e90eac87bc31611ddd80c46fc924d35ce66c1c]

Bug: 9180552
Change-Id: I74859b0d77951005651aaaa418185857e40eeedb