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
	core/res/res/values/symbols.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Remove launcher hack

This was an option to restart launcher due to wrong calculations on launcher (hotseat bug)
Remove settings provider entry
SystemUI: show date on 2 lines in status bar
This allows showing of the full day of the week, and removes
the blank space above the date (which always felt strange to
me when clicking it to access the calendar).

It also fixes a spacing issue on smaller screen devices that
causes the quick settings button to be partially chopped off
when the AM/PM clock settings are enabled.

Fixed an accidentally dot showed in some languages (for ex. US english)

Original commit
github (cyanogenmod): https://github.com/CyanogenMod/android_frameworks_base/commit/6dac4eda3d7819a790692e7e088b15264c8dff80
SystemUI: fix vertical date not showed while on Pie
Frameworks & SystemUI - additional DC-HSPAP support

This commit adds some more informations about Dual-Carrier HSPAP
It allows displaying a "DC" icon on status bar for compatible devices
and add a "DCHSPAP" value in state phone

Change-Id: I77d05e23c8ad3efdfeb19cf06ed92e7c57105ebe

Conflicts:
	packages/SystemUI/res/values/cm_strings.xml

Author:    matt73300 <matthias.bosc@gmail.com>
TelephonyManager: hide NETWORK_TYPE_DCHSPAP

Change-Id: I77e6d537d5ebbe67bac26c6ef6d0dda498640ca0
Fix date line for koreans

e.g)

MON  TUES  FRI

DAY, DAY,  DAY
Merge pull request #17 from franco-c/jellybean

Fix date line for koreans
Option to use volume keys to control media volume anytime (2/2)

See Settings part for description
Fix wrong typo (remove else if valid only in cm)
Audio continue to played even if paused manually

Currently, audio will resume playing after a phone call
or notification even if the user had manually paused playback.

This patch addresses that by introducing a new player state
to distinguish the user pausing playback and the browser
losing audio focus for some other reason. Audio will only
resume if the browser temporarily lost audio focus and
not when the user has manually paused playback.

Signed-off-by: Roger Chen <cxr514033970@gmail.com>
AudioService: Restore volumes after boot and when a headset is plugged

The correct volume levels for <device>_speaker and <device>_headset are not
restored after booting and when a headset device is plugged in or out.
This fixes a glitch where the first volume change event causes the volume to
be reset to the last stored value instead of increasing/decreasting it by
one step.

Signed-off-by: maxwen <max.weninger@gmail.com>
Fix code alignment
Add missing DCHSPAP variable name
Another missing DHSCPAP value
SystemUI: Fix Tablet UI Date View

Mobile indicator has been removed, is still showed in quicksettings mobile tile.  http://goo.gl/1ZtuS
Pie: Add option to change pie's angle from the attach 2/2
AudioService: Remove STREAM_NOTIFICATION from ringer mode streams

Change-Id: Ie8d25743b27839fa2bd4e9ae5d3d0a49410ac5b4
JIRA: CYAN-344
Issue: https://jira.cyanogenmod.org/browse/CYAN-344
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Reduce observers in SystemUI: StatusBarIconView

Currently, for each status bar icon view there is a observer that
listens for changes of STATUS_BAR_NOTIF_COUNT. With one
notification usually having one or more status bar icons
you may end up easily with 10+ more observers for ~5 notifications.

With this commit the internal observer class becomes a singleton.
This means there is now only one observer for all status bar icons
and additional binder calls on new notification are avoided.

See "dumpsys content"

Change-Id: I8c11b165b34b87e7363a8e96524ea70fe6b28342