Lockscreen Notifications [1/2]

My try on making notifications easily accessable from lockscreen.
Credits to ChameleonOS, I got the notification listener permission and some small other stuff from their ActiveDisplay implementation.

Lockscreen Notifications allow you to manage all your notifications directly on the lockscreen.

Features:
- Pocket mode turn screen on when phone is pulled out of pocket and turn it off when phone gets back in pocket
- Hide low priority notifications
- Hide non-clearable notifications
- Allow dismissing even non-clearable notifications from lockscreen
- Just turn screen on when there's currently a notification pending
- Toggle between expanded and normal notification view by longpressing
- Wake on new notification
- Configure notification count displayed at once
- Privacy Mode: disable showing notification content.
- Blacklist apps - thanks to ChameleonOS for the original implementation and @Der-Schubi for bringing it to lockscreen notifications

This should still be considered as beta, even if it seems to work very well for me.

Change-Id: I4d72de71d36dc2f66ad7e3ce7a4442a931cf2982

Conflicts:
	core/java/android/provider/Settings.java
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
	services/java/com/android/server/NotificationManagerService.java
Lockscreen Notifications: Fix NPE

E/AndroidRuntime( 3778): java.lang.NullPointerException
E/AndroidRuntime( 3778): 	at com.android.keyguard.NotificationViewManager.onScreenTurnedOn(NotificationViewManager.java:286)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewManager.onScreenTurnedOn(KeyguardViewManager.java:825)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewMediator.handleNotifyScreenOn(KeyguardViewMediator.java:1416)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewMediator.access$2300(KeyguardViewMediator.java:104)
E/AndroidRuntime( 3778): 	at com.android.keyguard.KeyguardViewMediator$4.handleMessage(KeyguardViewMediator.java:1131)
E/AndroidRuntime( 3778): 	at android.os.Handler.dispatchMessage(Handler.java:102)

Fix NPE on first boot

Change-Id: I6aa4f62ffbc00be15aa98ee3a137bb0d6add6610
Lockscreen Notifications: make dynamic width a device overlay setting

dynamic width is disabled by default, to enable it for a specific device, add
<bool name="config_lnDynamicWidth">true</bool>
to yourdevicetree/overlay/frameworks/base/packages/Keyguard/res/values/config.xml
Lockscreen Notifications: rewrite add notification logic

There were some problems with notifications getting replaced while the user was currently dragging them.
This commit should fix that by always waiting until animations and user input are finished before replacing a notification view.

Change-Id: I53d5da164e9189a2ea12c02e7d24fd603985a2d1
Lockscreen Notifications: dismiss all button, improve animations, cleanup

Change-Id: I408b69a39d9551d00ebc8aa54fb4ef7377fe818b

Conflicts:
	packages/Keyguard/src/com/android/keyguard/KeyguardViewManager.java
	packages/SystemUI/res/layout/navigation_bar.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardTouchDelegate.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
Lockscreen Notifications: fix show/hide of show all button

& fix endless SystemUI FC when SystemUI is killed

Change-Id: Ie46ef525f72b7ce575dacfb1f05e46a140c87cc5
Lockscreen Notifications: fix NPE
Lockscreen Notifications: Custom background color [1/2]

Change-Id: Ibbf333c86303bb5575c9e8d4f890e42a423422f5
Lockscreen Notifications: try to fix occasionally SystemUI FC on boot
Port OnClick Fliptile animation. (1/2)

credits to: TeamBAMF for the original work.

Change-Id: I27cfd3871e45b8265e16fe15e4f4c1e964a18688

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/quicksettings/RebootTile.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/quicksettings/ExpandedDesktopTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/GPSTile.java

Conflicts:
	core/java/android/provider/Settings.java
Improve scrolling cache

Scrolling cache helps make short scrolls/flings smooth but will
cause stutter when long flings are made. This patch disables
scrolling cache when long flings are made.

This patch also fixes a related bug where scrolling cache will
not be enabled properly when transitioning from flinging to scrolling.

Patch Set 2: Calculate threshold based on maximum velocity (Sang Tae Park)

Credits: Pawit Pornkitprasan

Change-Id: I1fdbaad92263c9f983a32900e74eba1f0367902b
Signed-off-by: Arham Jamal <arhamjamal@gmail.com>
App sidebar [1/2]

Change-Id: I600a21fd780587ef84c8e1994adbaccc6098254d

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/cm_strings.xml
Frameworks: speed up statubar/notification drawer

a lot user complain about slow statusbar pull down introduced
with jb 4.2....this speed it up

thanks to IceColdJelly

Change-Id: Iae108f5680b25ea995168a505a30e06bef0185d3
RAM bar (1/2)

- This commit includes small re-sizes to fit transparency in new launcher

Thanks to @kufikugel for hole code ported from 4.3

Change-Id: If1341c1ad5614a1adca07358910a4df85c919966

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/cr_strings.xml
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/cm_strings.xml
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
Quick Settings: Option to use floating window (1/2)

Allows the option of launching preferences from the quicksettings menu in a
floating window

Change-Id: Ie54545a4dc423484b6106a540f106467c25d8c49
Signed-off-by: Evan Anderson <evan1124@gmail.com>

Conflicts:
	core/java/android/provider/Settings.java