Modify config to support app specific themes [1/4]

Summary of Changes
1. The configuration now supports each app to have their own theme.
Each theme can include icons, styles (ie overlays) and font.

2. The theme config is serialized into a json string and stored
in secure settings.  This entry consolidates what was previously 3 separate
keys (style, icon, font) into a single field.

3. 'CustomTheme' was renamed to 'ThemeConfiguration'.

Note: This commit is for the configuration. Additional work needs to be done to
the framework and UI to support app specific themes.

Change-Id: I6f72f542829578201c57c54786456486f6a6e2e3
Support theming navbar separately from SystemUI

This allows using a different theme for the navbar than the theme
applied to the rest of SystemUI.  This will not affect theming until
we have the front end in place that allows users to change this.

Change-Id: I3ad4e8774ac69d1e6e1d83fa5e1ffe59b977d4e9
Add getThemedResourcesForApplicationAsUser()

Change-Id: I90b7cb441e4056f59b7260ffa55e31eba644e25a
Allow specifying a theme when creating a Context

A Context normally loads the resources associated with the given
package that this context is for.  This patch allows us to specify
a theme we want attached to a given context's resources.

Change-Id: I1e619f038566233bd89ee96eb8eb87fa6894e630
Use systemui's applied theme for notifications.

Notifications contain RemoteViews which are inflated using the
application's context for which this notification belongs to.  This
can look out of place if SystemUI is using a different theme than the
rest of the system.

This patch will use SystemUIs theme when inflating the RemoteViews,
giving us a more consistent look in the notification drawer.

Change-Id: I9514ce7fcc4858bad3d3c4190f55c1f5a1441d7c
Themes: Add icon previews to ThemesContract

Change-Id: Icbfbee3404702a29881ad4933721d8beb39bef30
BaseStatusBar: Dismiss heads up on backpress.

Change-Id: I5b6191657cf0b74d825eb653a6e82c33e0527aad
Improve scrolling cache

Scrolling cache helps make short scrolls/flings smooth but will
cause stutter when long flings are made. This patch disables
scrolling cache when long flings are made.

This patch also fixes a related bug where scrolling cache will
not be enabled properly when transitioning from flinging to scrolling.

Patch Set 2: Calculate threshold based on maximum velocity (Sang Tae Park)

Credits: Pawit Pornkitprasan

Change-Id: I1fdbaad92263c9f983a32900e74eba1f0367902b
Signed-off-by: Arham Jamal <arhamjamal@gmail.com>
Smoother Upload and Download Animation

Change-Id: I6e6409cc85ad951019dbac10156d4aed92f4c5bc
Advanced reboot enabled by default (1/2)

Change-Id: Ie8ab34ecc532d14d296e33fa568e6cf3ebc681e8
MediaScanner behavior on boot (1/3)

Lets you enable/disable/ask (with a notification) media scanning on boot.
Can speed up boot and reduce initial boot lag from MediaScanner

Change-Id: I634ae96b1dcb493b966b4653589cd97523b63da7
disable camera sounds (2/3)

Change-Id: Iaa37bc6790fe32664f8b52178c14fe926ca7d4ce
Signed-off-by: sethyx <sethyx@gmail.com>
AOKP custom system animations (1/2)

Ported from here: http://gerrit.aokp.co/#/c/12304/

Thanks to Steve Spear

Change-Id: I38bc7b83edaff3c455f0dfe3ea5ede54a20ae07c
App sidebar (1/2)

Change-Id: I600a21fd780587ef84c8e1994adbaccc6098254d
add needed boolean methods

Change-Id: Id1620eb0f98bcdbbf70102d3911e3e11eda42f8a
[1/2] Add battery level around unlock ring

PS2:
added missing change in KeyguardSelectorView.java

Change-Id: Ia4dbc2335657c096c34349ec67c4adfec0aeb91b
[3/3] AudioFX: Add center frequency param to bassboost

Change-Id: I49da8e5ab24502d0de5c09b7fc9f4b8a51bead60
[3/3] AudioEffect: Add a stereo widener effect

Change-Id: Iab2035c5601394b060e7e77e85ad85aca6e4c89f
Custom carrier text [1/2]

Change-Id: Ib2869c8464dc2fc52ae662d63225d8973cdd05cf
Frameworks: speed up statubar/notification drawer

a lot user complain about slow statusbar pull down introduced
with jb 4.2....this speed it up

thanks to IceColdJelly

Change-Id: Iae108f5680b25ea995168a505a30e06bef0185d3