FW_Base - Dispatch keys to a device specific key handler

Injects a device key handler into the input path to handle additional
keys (as found on some docks with a hardware keyboard).
Configurable via overlay settings config_deviceKeyHandlerLib and
config_deviceKeyHandlerClass.
DeviceKeyHandle: The device should consume only known keys
When the device receive the key, only should consume it if the device
know about the key. Otherwise, the key must be handle by the active app.
Also make mDeviceKeyHandler private (is not useful outside this class)
DeviceKeyHandler : Allow handling keyevents while screen off
Some devices require the keyevents to be processed while the screen
is off, this patchset addresses that by moving the filter up in the call
hierarchy.

Change-Id: I499392b743d975e8a2a602fc3e3d953a6ff6e009
Signed-off-by: Stefano Mura [STELIX PippoX3] <STELIX@gmail.com>
QuickSettings : Properly restore lockscreen tile state

The keyguard lock relies on device policy manager service to be active,
currently it fails because it tries to request before its up. Fix that
by registering the request in a receiver

Change-Id: I15e0d980ecf21c8316f4a771e93f4b520c556115
Add system setting for t9 search input locale

Change-Id: I780b3cca1ad2da396b76464a6dab5cc53f621ed2
ProximityWake : Add support for checking proximity when waking device

Change-Id: Ia5ff446d88435773acccc7467e66009000dc20cb
Framework : Fix proximity wakeup reference

Change-Id: Ia40ca6fbf6e37fbb3996f2384f725c30b88c2131
Filter spam notifications

Conflicts:
	packages/SystemUI/AndroidManifest.xml
	packages/SystemUI/res/menu/notification_popup_menu.xml
	packages/SystemUI/res/values/cm_strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	services/java/com/android/server/NotificationManagerService.java

Change-Id: Ibf2377cd7491c7e0e9e9c9657e9e65eef1876ee3
Revert "FB:  Add transparency to Glowpad background [2/3]"

This reverts commit 7967745d2d754f436f9578db067701f74e4b2c18.

Change-Id: Iecd2336d152fc7ed9cc24751cf230b7f874a3600
Make incoming call screen style configurable (1/3)

Change-Id: I12e108e11afcc87cd0ed717dbc6f8a2a2c0f1743
Be sure to shutdown the proximity sensor after display wake

This fixes:
http://review.cyanogenmod.org/#/c/66657/

Change-Id: I1768f13cb48c3e056d0e137642690fc3d650c4ab
Proximity : Check proximity flags only if from native

Change-Id: Id1be619e638de6a45252d8390eab6e38bd5de5a7
LockscreenTile : Don't rely on DEVICE_POLICY broadcast

The current trigger used for initialization is too finicky and doesn't
work on some devices. Switch to trigger based on instantiation of the service
inside the delegate instead.

Also fix inverted drawable state.

Change-Id: I8439ed50281de805ae68fe7b5a81220475d98022
Filter Notifications : Adjust string

Change-Id: I797cef15fcbd2ebca1d411a71cae75aaf3b478f1
Themes: Allow clearing the wallpaper and ls wallpaper

By providing an empty string for the MODS_LAUNCHER and
MODS_LOCKSCREEN components, the theme service will clear out any
existing wallpaper the user had set.  This provides the same
functionality as if the user was picking "No wallpaper" from the
picker.

Change-Id: I0c349ad4afa2bcef2c302105315709786510c0aa
Themes: setUserRequired(false) when updating audibles

This prevents the following exception
F/Environment(18007): Path requests must specify a user by using UserEnvironment
F/Environment(18007): java.lang.Throwable
F/Environment(18007):   at android.os.Environment.throwIfUserRequired(Environment.java:787)

Change-Id: Ic6ac7537079ed27912c40683c877e05992b708e9
Fix ressource leak in getFileCrC

Change-Id: If8a63fa355664d360aab6ecba92c82cd56b745b8
PowerManager : Make proximity check opt-in

Change-Id: I7cf64a82530da2e655018e43683ba7a5584d54f8
Make sure ThemeConfig is non-null when loading resources

When the device boots into safemode, the theme config will end up
being null and we need to check that prior to using it to retrieve
resources for the StatusBarIconView

This fixes CYAN-5009

Change-Id: I1a90bc9f9c65cb41a6e58947bbd1b6d7728a952b
Themes: Add ability to apply color filters to composed icons

Themes can include one or more of the following filter tags in
assets/icons/res/xml/appfilter.xml

    <!-- HUE filter
         Integer value between -180 and 180 representing the degree.
         0 = no change
    -->
    <filter name="hue">0</filter>

    <!-- SATURATION filter.
         0 = grayscale, 100 = no change, 200 = over saturated
    -->
    <filter name="saturation">0</filter>

    <!-- BRIGHTNESS filter.
         0 = pitch black, 100 = no change, 200 = 200% brightness
    -->
    <filter name="brightness">100</filter>

    <!-- CONTRAST filter.
         -100 = minimal contrast, 0 = no change, 100 = maximum contrast
    -->
    <filter name="contrast">100</filter>

    <!-- ALPHA filter.
         0 = transparent, 100 = opaque
    -->
    <filter name="alpha">75</filter>

    <!-- INVERT filter.
         Valid values are true or false
         true = invert colors
    -->
    <filter name="invert">false</filter>

    <!-- TINT filter.
         A hexadecimal value representing ARGB
    -->
    <filter name="tint">#ff0000ff</filter>

Change-Id: I2431237dd2766176be16c730020557ce87d623e4
advanced reboot: add soft reboot option

Adds a "Soft reboot" option which restarts zygote, as requested in JIRA
CYAN-3998

Change-Id: Ia6e5ed9b053e1c5ebd1fc55e5692858b97f7e0fc
Signed-off-by: Roman Birg <roman@cyngn.com>
Themes: Fix icon filters clamping to wrong values

Change-Id: Iab3cce465f8bdfd7c30a020fda254728349c5ebe