SystemUI: Fix Quick Settings appear when disabled

If you tap the clock on the status bar, then the next time you pull down the status bar on the
right side it will show the quick settings. Even if the user disabled quick pulldown.

Bug: https://paranoidandroid.atlassian.net/browse/AOSPA-59

PS2: fixed spacing

Change-Id: Ibb2efd27a96898ff11640c7a58c0686e2fefc75f
Signed-off-by: Parthipan Ramesh <parthipan.ramesh@gmail.com>
On-The-Spot: Add clear all recents button to user preferences.

PS3: Add proper drawable thanks to / by Dani Rosenkamp @DaNi--
     Fix wrong change id (from abandoned commit)
PS4: More logic drawable

Signed-off-by: Carlo Savignano <stevewatersy@gmail.com>
Change-Id: I632730bee6b409072689e07fb1084ceaca5b1d49
[TEMP] PIE: fix a freezing bug

How to reproduce:
- Enable PIE;
- Toggle between on/of;
- Without close expanded status bar click any tile that use one of this methods -> private void startSettingsActivity(String action) or private void startSettingsActivity(Intent intent);
- System will freez for some seconds and soft reboot;

Solution:
- When deteced PIE mode enabled use a runnable with a less time possible to give time to system colapse panels and perform needed actions

Change-Id: Idc5f112873aa7a31993e7a3c82a1760bb45f8b9b
SystemUI: Fix Removed USB Storage Notification

If you have connected a OTG USB Storage to your device an disconnect it
the Notification "Removed USB Storage" appears. But you can't swipe it
off, because the Notification intent is set with FLAG_ONGOING_EVENT and
not with FLAG_AUTO_CANCEL!
In my fix I changed the boolean function variable 'dismissable' from
"false" to "true" and so the Notofication will gets the flag
FLAG_AUTO_CANCEL, now the Notification can be swiped off.

Bug: https://paranoidandroid.atlassian.net/browse/AOSPA-191

Change-Id: I01713dbcbc025d0dd2df3e6d4359507e0e31a23f
Signed-off-by: Matthias Freund <matthias88freund@gmail.com>
PIE: Disable orientation sensor when we don't need it

Orientation sensor always enabled causing some device keep awake and
battery drain. This commit fix this issue.

  * Disable/Enable orientation listener when screen turn off/on if PIE
is enabled.
  * If PIE is disabled, recycle it.

Change-Id: I6bda168b3fd62d9f7047ffc3a3c6bfd08e655543
fix WRITE_SETTINGS to be "dangerous"

(see http://www.fireeye.com/blog/technical/2014/04/occupy_your_icons_silently_on_android.html for an explanation why this is dangerous)

Change-Id: I8f938dc4f528aa2ccbca3d4cec235feb0299c0bd
Fix very long app_name crash.

http://ibrahimbalic.com/2014/android-os-memory-corruption-bug/ found an stack overflow bug.
The very long app_name make libandroid_runtime allocate a very large array on stack, the stack may overflow to other data areas in this situation.
This patch allocate large array on heap instead of on stack to avoid segment fault when doing memcpy.

Change-Id: I99999569b852d43a9c7a6eb1fa80e9f1a1f4e2b2