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
Enable unknown sources, disable package verifier

Credit @Cl3Kener

Signed-off-by: anerikg <anerikgames@gmail.com>
Frameworks: apple can do...we can do as well

incredible apple engineers speeded up the overall UI and reduced per default slightly
the animation scales. Well we do as well and reduce it from 1 to 0.75...smooth, looks well
and does not break anything

Change-Id: Icbcc889e49c8d3ab24cf2b1c10bbe0e8bf7e7637
Add dashclock widget by default
AudioService: Show safe volume panel for non-interactive volume adjustments

If safe volume is active, apps calling mp.setVolume() to adjust the
headset to a value higher than the threshold will have the operation
fail silently because no volume dialog is active to pop up the
"do you wish to override" question.
This is particularly bad for peripherals that use the audio jack
(Square readers, Jawbone bands), since they usually require levels
close to maximum for proper communication and the app isn't prepared
to deal with a silent rejection of the requested volume.

Change-Id: I2047d199506106a87841b8b680007c5ab45b527b
Signed-off-by: anerikg <anerikgames@gmail.com>

Conflicts:
	media/java/android/media/AudioService.java
base: update link ring-notifications after read user settings

Change-Id: Ib424124dc20e38243e572333e323ba97aacb1111
JIRA: CYAN-3559
Issue: https://jira.cyanogenmod.org/browse/CYAN-3559
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
MSimNetworkController: disable CHATTY logs

Change-Id: Ic9dd166aa6ac77647dc69acea31d2ebde3a87f0a
MSimNetworkController: Quiet logspam

* Most uses of Slog.d are not protected by the if (DEBUG) they should
  be. Make it so.

Change-Id: I36151113b1bfcdbe84c27abf39918441e23a8e88
Use hidden API to validate APK chains

Bug: 13678484
Change-Id: I28dedab74b0e24d47ab9f2190298156c909e9d54
tether: tethering chooses wrong upstream when mobile_dun is required

When mobile_dun is required, the default mobile type will
be deleted from upstream list, this makes wifi become
the highest priority upstream even whne wifi is not available.

Change-Id: I2c12f6cd6d52331220dce900609ad072f9ec3fbc
CRs-fixed: 671675
Provider: Add multi SIM ringtone support in SettingsProvider

This change will handle multi-sim queries in
SettingsProvider.java when openFile and
openAssetFile APIs are called by other components.
Thus, it will ensure to play the correct ringtone
corresponding to the SIM.

CRs-Fixed: 661216
Change-Id: I7b22c233b9c41669c1ad948b83a7aa2c55442af1
Remove unnecessary explicit GC in ZygoteInit.

Removes > 1s of GC time and hundreds of GC during device boot.

Zygote size before: 8388608
Zygote size after: 8388608

No increase in zygote space size due to zygote compaction.

Bug: 16398684

Change-Id: I3c6f5a0b26a207ab39bb0a952400d7488e42f00c
Signed-off-by: anerikg <anerikgames@gmail.com>

Conflicts:
	core/java/com/android/internal/os/ZygoteInit.java
hwui: Fix a sporadic crash seen during CTS runs

 * It's possible (due to race conditions) that a patch might be
   scheduled for removal twice. Just print a warning and continue
   instead of asserting and crashing.

Change-Id: I42865f6717816a743cc49ba15b839e6c3b57ed83
Signed-off-by: anerikg <anerikgames@gmail.com>

Conflicts:
	libs/hwui/PatchCache.cpp
Support for SEEK on Android

Following apis have been introduced to support
SEEK (Secure Element Evaluation Kit) on Android:
1. transmitIccLogicalChannel
2. transmitIccBasicChannel
3. openIccLogicalChannel
4. closeIccLogicalChannel
5. getLastError
6. transmitIccSimIO
7. getATR

Conflicts:
	telephony/java/com/android/internal/telephony/ITelephony.aidl

Change-Id: Idca9b47daa646902b74e37e7841d9d1506610887
MSim: Add Multi Sim support for SEEK

MSim support for the following apis has been added:
1. transmitIccLogicalChannel
2. transmitIccBasicChannel
3. openIccLogicalChannel
4. closeIccLogicalChannel
5. getLastError
6. transmitIccSimIO
7. getATR

Change-Id: I14fd1ccc08a9c89d655c7eb9f92a194c82138d3b
Allow translucent navigation bar in landscape mode.

From CM
http://review.cyanogenmod.org/#/c/68196/

Includes:

d547e9d Fix glitch appearing when using translucent system bars in landscape.

    Before: http://i.imgur.com/zJCjCvx.png
    After: http://i.imgur.com/v563Shz.png

c157db0 Fix translucent navigation bar layout on tablets in landscape.

    The status bar blocker view was visible and stretched over the whole
    navigation bar, even though it's not even needed on tablets, as the
    status bar never extends into the navigation bar there. Fix that by
    hiding the blocker view, but keep it in the layout in oder to not
    clutter the code with null checks.

    Also cleanup unneeded method override.

8d1f863 Only show status bar blocker view if nav bar is translucent.

    It's the background drawable of the translucent nav bar that makes the
    blocker view necessary (as the background creates a visual 'gap' between
    status bar and visual start of the nav bar), so if the nav bar isn't
    translucent, there's no need for the view.

Signed-off-by: Evan Anderson <evananderson@aospa.co>
Change-Id: I5388f3f8a34533624619714bacfba52f95fc6d85
On-The-Spot: Add information on how to reset preferences

Info is added to the main On-The-Spot preference dialog.
(As suggested by +Carlo Savignano)

PS 2:
* delete unneeded code

PS 3:
(https://dl.dropboxusercontent.com/u/90317107/on_the_spot_pref_helper.png)
* Unclutter OTS Dialog

Change-Id: Iaf4f67e4b03babd1d6a604c2524781a748dd8025
Signed-off-by: kajuten <julian.kaltenhofer@gmail.com>