TRDS: Fix Volume panel background

Volume panel is a bit out of the box compared to the normal theming.
Reapply the background via java code on theme change.

Change-Id: I0df41a95487f7c23d5fda5c2ec7df763c8e2f466

Conflicts:
	core/java/android/view/VolumePanel.java
	core/res/res/values/slim_symbols.xml
SlimRecents: Rework show top most task feature

recently introduced this feature needed a bit rework. Basic changes

- do not call settings provider on every preload to prevent high IO work.
  Use our observer for that
- Use internal flag logic to mark topmost task
- Move interpretation of the expanded state into the card
- Due that topmost task is always collapsed do not show expanded icon at all
- Minor cleanup

PS:
- set mFirstTask to null if it is not used

Change-Id: Ifaabc035b6b9bd2d4527d5b34a1bca9c80a74e32
SystemUI: Fix percentage charging color does not apply

How to reproduce:
Set colors to default. Try to set only charging color.

Result:
- nothing happens when you try to charge and it is out of the max and min levels

Expected behaviour
- user choosen color applies if the user charges and it is outside the max min levels

The JB style icon which was recently introduced broke the logic completely. Clean it a
bit up and apply the colors correctly depending on the choosen style.

NOTE for the future: We have since the JB style patch 2 different behaviours....text has now indication
during charge when it is outside the min max levels. All circle styles do not have this
indication. Nothing big but we are usually consistent and should think about it.

Whatever functioniallity wise it is fixed

Change-Id: I5029d09fbf1a7e4181b082ad55d9607bcf8a63cc
Fixing parcel leaks to avoid virtual memory leak

Client has to call recycle() on parcel object after its usage
otherwise native layer of binder won't clear the resources of
parcel which were allocated for IPC

Change-Id: Ib31ddcc92aa4ebd80bb66729922b9133692e9c9e
Fixed VM memory leak in AudioSystem JNI interface

The function android_media_AudioSystem_error_callback from AudioSystem
JNI interface is using FindClass function but does not delete the
reference created by VM in this function.
By doing this call, VM will add a local reference in IndirectRefTable
and it's the caller's job to delete this reference.
By not doing this, everytime this callback is called, a new reference is
added and never deleted.
The effect is crashing the VM running system_server:

E/dalvikvm( 3071): JNI ERROR (app bug): local reference table overflow (max=512)
W/dalvikvm( 3071): JNI local reference table (0x732da288) dump:
W/dalvikvm( 3071):   Last 10 entries (of 512):
W/dalvikvm( 3071):       511: 0x42a90008 java.lang.Class<android.os.Parcel>
W/dalvikvm( 3071):       510: 0x4381fd90 android.view.KeyEvent
W/dalvikvm( 3071):       509: 0x439b9808 android.view.KeyEvent
W/dalvikvm( 3071):       508: 0x42d2fe18 java.lang.Class<com.android.server.input.InputManagerService>
W/dalvikvm( 3071):       507: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       506: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       505: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       504: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       503: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):       502: 0x42ad4298 java.lang.Class<android.media.AudioSystem>
W/dalvikvm( 3071):   Summary:
W/dalvikvm( 3071):       510 of java.lang.Class (3 unique instances)
W/dalvikvm( 3071):         2 of android.view.KeyEvent (2 unique instances)
E/dalvikvm( 3071): Failed adding to JNI local ref table (has 512 entries)
...
E/dalvikvm( 3071): VM aborting

In this case, PID 3071 is system server.

Change-Id: I0c113eb72256984854d59a3ccef11a8d23f96e79
Signed-off-by: Robert Chiras <robert.chiras@intel.com>
Fix thumbnail bug

When there was no thumbnail for a given image, the getThumbNail() convenience
method could return a previously-returned thumbnail instead of null.

b/15771860
https://code.google.com/p/android/issues/detail?id=40714

Change-Id: Ibd18e048145bf347469f800afdf436247ea6b693
Halo master switch (1/2)

This commit remove halo button from status bar expanded and add a new option into halo settings allowing the user to enable or disable it using a checkbox

Change-Id: Ib3f4fbee4a2a63a02eab802cd9a5ff16b370b622

Conflicts:
	packages/SystemUI/res/drawable-hdpi/ic_notify_halo_normal.png
	packages/SystemUI/res/drawable-hdpi/ic_notify_halo_pressed.png
	packages/SystemUI/res/drawable-mdpi/ic_notify_halo_normal.png
	packages/SystemUI/res/drawable-mdpi/ic_notify_halo_pressed.png
	packages/SystemUI/res/drawable-xhdpi/ic_notify_halo_normal.png
	packages/SystemUI/res/drawable-xhdpi/ic_notify_halo_pressed.png
	packages/SystemUI/res/drawable-xxhdpi/ic_notify_halo_normal.png
	packages/SystemUI/res/drawable-xxhdpi/ic_notify_halo_pressed.png
	packages/SystemUI/res/layout/status_bar_expanded_header.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Revert "Halo: Add master switch to disable Halo (1/2)"

This reverts commit e4430d21011fd017ae979305a7a42eeb4bd9287c.

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

Change-Id: Idd341e214345b9ed16a388b3aa5520b0b03c64dc
QS: Update heads up tile icons

The bell icon for the "on" state look a bit crappy.
Update them too look more lika a bell.

Screenshot: http://goo.gl/rC1VFD

Change-Id: I9a6a54a5ee9ac0100ebf749ee3babe02eb0e2e32