CM11 Themes: Add support for composed icons [1/2]

If an icon pack includes background, mask, and/or foreground
images and an icon is not included for a given app, an icon
will be generated using the background, mask and foreground.

Icon packs can include the following items into their
appfilter.xml
    <!-- Set deafult scale factor for the icons -->
    <scale factor="1.0" />

    <!-- Set back image for composed icons -->
    <iconback img="iconback" />

    <!-- Set the mask image for composed icons
         Original icon will be masked off using this mask -->
    <iconmask img="iconmask" />

    <!-- Set foreground image for composed icons -->
    <iconupon img="iconupon" />

Note: Mutliple iconback images can be used as follows
    <iconback img1="iconback1" img2="iconback2" img3="iconback3" />

Change-Id: I0f5fd7de4f0eae485139cbcd282c1d1e1663952f
Fix can't change airplane mode from GlobalActions.

A PhoneStateListener is registered in the constructor of
GlobalActions which, on rare occasions, leads to a callback being
received immediately. In these cases because mHasTelephony has not
been initialized, airplane mode is not refreshed in the callback
which disables the option to set airplane mode from GlobalActions.

To fix this issue mHasTelephony has to be set before registering
the listener.

Change-Id: If117a879d3244414b369a1711bf46526b7a5ae24
Framework: fix disable screen-off animation

This line got lost in "Merge tag 'android-4.4.3_r1' into HEAD" and it's not possible to disable screen-off animation.

Change-Id: I050647afb30fae4547db561a2d3e212213e12873
Themes: PhoneWindowManager UI context on demand

Creating the UI context in init causes some elements
like the power menu to not theme correctly. This solution follows
the same pattern as VolumePanel.

Change-Id: I5c12f9a3bc8f5fe8d96ef2775b840926a6c35e28
listview: ensure active views are filled prior than scrap views

The internal Recycler#fillActiveViews should be called prior to add any view
to the scrapViews queue, so it can be use safely without detaching views
because out of sync.

Change-Id: Ie119ad871a89e0a3fa1e07e955fcd5ca7b171f46
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
hwui: Always enable the scissor while composing layer

Due to scissor optimization feature added in KK, scissor was disabled
all the time. Hence the undefined areas/region of textures are not
masking properly with GL_LINEAR filter mode.

Change-Id: Ifbbde2c67a4c01e45eda07ada709e066255fffcb
CRs-fixed: 645077
Core: DE translation

fix mistake introduced here: https://github.com/CyanogenMod/android_frameworks_base/commit/aae5fb42cc825c3f8b496459de59aa45e3f35c81#diff-33af748df9221ad8074392556276ec26

Change-Id: I4efb3fa95ed06b3b04751ebc11e773bf32f66b7f
Themes: Don't set icons for iconpack that is applied.

Change-Id: I3cffade2c12ae1dbc1f75e43f1a74609ff0d7135
Themes: Don't kill launchers that handle the theme change

Change-Id: I5e3a7ea2455a4c407928bb5c90b7fc4e5906aa73
Themes: Add categories to theme change intent.

The following categories are available:

org.cyanogenmod.intent.category.MODS_HOMESCREEN
org.cyanogenmod.intent.category.MODS_LOCKSCREEN
org.cyanogenmod.intent.category.MODS_ICONS
org.cyanogenmod.intent.category.MODS_FONTS
org.cyanogenmod.intent.category.MODS_BOOTANIM
org.cyanogenmod.intent.category.MODS_NOTIFICATIONS
org.cyanogenmod.intent.category.MODS_ALARMS
org.cyanogenmod.intent.category.MODS_RINGTONES
org.cyanogenmod.intent.category.MODS_OVERLAYS

Change-Id: Ic444278d1d712cb6207bb10574a471524a8fed41
Themes: Get resources with an explicit theme attached.

Change-Id: If04e82a13250f520d70b58991586c8ce38f0ecb1
Don't log an error if we cannot open icon hash

The icons will end up being processed if we cannot access the hash
so let's just fail gracefully and silently.

Change-Id: I6368ee9bb47a9d52351fff22283ffac2de625b71