Themes: Support applying components from multiple themes [1/3]

The current implementation assumes the components being passed
into the ThemeService belong to the same theme.  This patch uses
a Map instead of a List to pass in a mapping of components to
package names, allowing us to apply several components from
different themes.

Requesting a theme change now takes a Map<String, String> which
maps components to the theme package name they will be applied
from.
Example:
    Map<String, String> componentMap = new HashMap<String,String>();
    componentMap.add(ThemesColumns.MODIFIES_ICONS, "com.mytheme.blue");
    componentMap.add(ThemesColumns.MODIFIES_OVERLAYS, "com.mytheme.red");

    ThemeManager tm = (ThemeManager) contex.getSystemService(Context.THEME_SERVICE);
    tm.requestThemeChange(componentMap);

Conflicts:

	services/java/com/android/server/ThemeService.java

Change-Id: I114f3c26f66eac457f838da3251237dcde925671
Fix systemui crash on boot

The process com.android.systemui would crash after phone booting with a
java.lang.NullPointerException when the signal status style is set to text

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

Change-Id: I43b33f035497c2d43c688b408f10fb8b348b3b96
Merge "Fix systemui crash on boot" into kitkat3
IconPackHelper: Respect the original size of bitmap icons

When use icon packs on low-resolution devices, for example, my HDPI
phone, it seems that using the size returned by
getLauncherLargeIconSize() will cause a blurness on
some icons that are not included in the icon pack because of the compose
function.

This patch respects the original size of the icon if the icon is an
instance of BitmapDrawable but use the size returned by
getLauncherLargeIconSize() if the icon is an instance of PaintDrawable.
This will remove icon blurness on low-resolution devices.

Change-Id: Ifcb39020d934a9c7cb409e1206a179d64f99aa37
Merge pull request #1 from LiquidSmooth/kitkat3

source is uptodate