Fix chrome in floating mode

Conflicts:
	core/java/android/content/Intent.java
Protect windowNoTitle and windowActionBar attributes

This patch creates a new method to define "protected" attributes. These
are attributes like windowActionBar which should not be modified by
a theme.

Some apps (eg gmail) use the appcompat library which
has its own Actionbar classes. When an app uses its own
Actionbar it must not include the default actionbar which is
achieved through the windowActionBar attribute.

Some themes may try to change these attributes, which can will cause
the app to crash.

Change-Id: Ie3bb7285eed09f3f13facf9d142ea9eb83796eec
Revert "Themes: Build icon cache when applying icons"

This reverts commit 7bb802a478faaac295ccd8b98a3573701edd9b1e.

This is not thread safe.  It is possible for an icon to be in the
middle of being composed when another process requests it.  That
process would not be able to load the image.  In Trebuchet, the
icon would be displayed as the standard "android" icon since it
would not be able to load the icon.

Change-Id: Id9bc38296cc02c376f9ea66565babc00e8dbf634
UsbSettings: Add UMS mode support

Android only supports MTP and PTP mode in UsbSettings screen, this change
is to add USB mass storage mode.

Change-Id: If7e49ae022c187063d30316b6a017d6089d97713
ThemeManager: Synchronize access to listeners

If the Set of listeners is modified while iterating we will get
a ConcurentModificationException so we need to synchronize access
to avoid this.

Change-Id: Ib521ad86a665316d707463200c16c1bcdcfac362
Factory reset: Allow passing wipe_media to recovery

Change-Id: I3b6e224064055b2eef8c2909c7d36f9a76014d70
Keyguard: Recycle previous keyguard bitmap prior to caching new one.

Change-Id: I96f6c7073de1084cf106e67f2395eb4f1a209402
Keyguard: Remove redundant null pointer check

Change-Id: I296db71ff2ff64b7d65300fd51ae1f9d92facbd4
Fix build, RecoverySystem.

Change-Id: I8c7fd35e1f352990c3d8e65cf8a0a30ab0a06297
Themes: Handle processing themes in separate thread

If themes are being processed and the user attempts to apply a theme
they will be forced to wait for themes to finish processing before
the theme is applied.  This patch moves processing of theme resources
into a separate handler/thread.

Change-Id: Ib30a1be75915364c2867df04d63700be63c9f2c5
FB: Heads Up background color && transparency [2/2]

    PS: manual rebase

    PS: fix my retardedness

    PS: fix heads up TRDS background resources

    PS: clear content holder background prior to setting TRDS
            drawable so that correct drawable for TRDS state
            is set

    PS: revert non-TRDS background to AOSP gray (default
            system notification background color)

    PS: clean up some unused code

    PS: add capability to set custom heads up text color
    Change-Id: I3942c0ce178491e3429e5ae7eb24b43ba07a1f40

Change-Id: I1f7c115cf72e647e3639b77c24ceb05aa75cb9a8

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Frameworks: clean up heads up text color code

Change-Id: I5998876f3abd3e928d6cf263b3b9dbebd7511182