Themes: Only process themes that are applied during boot

Currently, the PackageManagerService will process all themes and
ensure their resources are compiled and available to the system.
This is highly inefficient and can bog the system down when booting.

This patch will only process the themes that are currently applied
durring boot and lets the ThemeService take care of queuing up the
others for processing.   This reduces boot time considerably,
especially when the user has many themes installed.

Change-Id: I52168a1751ad3bfc458048dd1558ad71cc16317a

Conflicts:
	core/java/android/app/ApplicationPackageManager.java
	core/java/android/content/pm/IPackageManager.aidl
	core/java/android/content/pm/PackageManager.java
	services/java/com/android/server/pm/PackageManagerService.java
	test-runner/src/android/test/mock/MockPackageManager.java
SystemUI: Do not use missing status bar icons

This commit simply makes sure the status bar elements that are not
found are not interacted with. The battery indicator icons were
already partially taken care of so this commit simply provides
a more complete safeguard.

Change-Id: Ic9cd154caf29d27f93a3c5c0598a826eb31165bf
Merge "Themes: Only process themes that are applied during boot" into kitkat
Merge remote-tracking branch 'pa/kitkat' into kitkat

Conflicts:
	core/java/android/app/ApplicationPackageManager.java
	core/java/android/content/pm/IPackageManager.aidl
	core/java/android/content/pm/PackageManager.java
	services/java/com/android/server/pm/PackageManagerService.java
	test-runner/src/android/test/mock/MockPackageManager.java
On-The-Spot: Add Gif support

Now features can be explained in yummy animated goodness

GifView supports adding gifs programmatically or via xml using custom:gif=""

Change-Id: Ic1e383c11eb6b8a7a2200470fa31bb28dfc304f7
Update the volume panel color to match Hover

The volume panel slides in from the top currently making it look similar to Hove
r. As both the elements slide down from the top, there should be consistency in
terms of design.

Change-Id: Ifa4439f593b390014a3efb672bc2d00eef6fb869
Update Pie QS Icons

The current pie icons are pretty outdated and neither are they available in XXHDPI resolution. This change adds new icons in all resolutions.

Change-Id: I44d777e2976fb00b3b775ecf554fe5e0754c7197
drawable-hdpi: add missing drawables

these were missing which caused some FC for some devices

Signed-off-by: Lokesh Chamane <lokesh.c703@gmail.com>
Change-Id: I55ed396732d1c6174e71855c114e250592a90551
Merge "Update Pie QS Icons" into kitkat
SystemUI: Do not use null value animators

This commit ensures that any null value animators that are
passed out from the transition generator are handled properly.

Relates to 'Make sure AnimatorSet avoids null animations'
(change id Icfd751b1abceccf7f1177680b86d30610471810e)

Change-Id: I04357e33cfe293c2a1329a7033a5acb53bfb5c85
Merge "On-The-Spot: Add Gif support" into kitkat
Merge remote-tracking branch 'Upstream/kitkat' into aospaG
Base: Help alleviate SystemUI crashes

try and catch method toward bitmap and out of memory errors

Change-Id: Ie18faac4dce45eb2fe9ca07d628bed7cd0eafaab
systemui: Unbreak the planet

 * Not sure who to blame, but it's probably themes... :)

Change-Id: I0c534354a699f756d809aff10843ebea21f3f369
Fix crashes upon confirming On-The-Spot dialogs

This commit partially reverts "On-The-Spot: Add Gif support" with
change ID Ic1e383c11eb6b8a7a2200470fa31bb28dfc304f7 to fix crashes
related to incorrect UIDs that were taking place when the system
tried to write settings using the UI context.

Change-Id: Ie195e33cde04dd3bdf6116ae251b19269f9cc94f
Keyguard: Fix incorrect PIN entry on MSIM devices

This commit fixes a SystemUI FC caused by incorrect resource IDs that
happens on MSIM devices when the PIN code is entered incorrectly.

Change-Id: Iff82859e34018e84db1f8884019a53c3414b692b
Merge remote-tracking branch 'pa/kitkat' into kitkat
frameworks/base: Fix delay in sending AUDIO_BECOMING_NOISY intent

AUDIO_BECOMING_NOISY intent is sent as background intent which causes
delay in receiving pause event. This delay caused audio leak. By
marking the event as FLAG_RECEIVER_FOREGROUND, this intent is
received sooner by Application.

Change-Id: Ib978cf8322dcddbc01f59824f95fa7800f9c35af
CRs-Fixed: 652549
Themes: Let ThemeService handle all theme processing [1/3]

Only themes that are applied will be processed inside of the
PackageManagerService, all others will be sent off to the
ThemeService.

Change-Id: I5f2ec628e1d22a05accc6727efb0c1387455f82f
WallpaperCropper: respect max wallpaper width

Some devices with high resolution screen only support 2048px wide
wallpaper (used to be fixed in I5b25bd931db0b2610e260921f28b92d8b0966aa6)

Pre-KitKat this works as follows:

- Launcher calls WallpaperManager.suggestDesiredDimensions and we
  limit the maximum size in that function
- The wallpaper setting application calls WallpaperManager
  .getDesiredMinimumWidth and respects that size

However, after KitKat, it is all broken because WallpaperCropper
now calculate its own dimension and does respect the value set by
getDesiredMinimumWidth (and it calls suggestDesiredDimensions,
which is supposed to be reserved for Launchers!)

Attempting to restore wallpaper setting by:

- Having WallpaperCropper respect config_wallpaperMaxWidth
- Having CMWallpaper (which copy pasted code from WallpaperCropper)
  respect getDesiredMinimumWidth
- For third party applications, if they respect getDesiredMinimumWidth,
  then they will work, but if they don't (i.e. uses WallpaperCropper's
  code), then there's nothing we can do.

Change-Id: Ib7da12a1c70befbeef2f305593d3841acbc45243