frameworks: Smooth background gradient

Credit to UBER for the images

Change-Id: I3655e9917610348100fa6cb5cede66a63ca82538
BatteryService: fix FC on boot until battery stat is present

updateLightsLocked() can be called from CM's added SettingsObserver
when battery stat is not present, causing an FC and a loop until
battery stat is present.

I/SystemServer(  502): Battery Service
E/System  (  502): ******************************************
E/System  (  502): ************ Failure starting core service
E/System  (  502): java.lang.NullPointerException
E/System  (  502): 	at com.android.server.BatteryService$Led.updateLightsLocked(BatteryService.java:735)
E/System  (  502): 	at com.android.server.BatteryService.updateLedPulse(BatteryService.java:709)
E/System  (  502): 	at com.android.server.BatteryService.access$1600(BatteryService.java:86)
E/System  (  502): 	at com.android.server.BatteryService$SettingsObserver.update(BatteryService.java:860)
E/System  (  502): 	at com.android.server.BatteryService$SettingsObserver.observe(BatteryService.java:822)
E/System  (  502): 	at com.android.server.BatteryService.<init>(BatteryService.java:187)
E/System  (  502): 	at com.android.server.ServerThread.initAndLoop(SystemServer.java:328)
E/System  (  502): 	at com.android.server.SystemServer.main(SystemServer.java:1309)
E/System  (  502): 	at java.lang.reflect.Method.invokeNative(Native Method)
E/System  (  502): 	at java.lang.reflect.Method.invoke(Method.java:515)
E/System  (  502): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:781)
E/System  (  502): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
E/System  (  502): 	at dalvik.system.NativeStart.main(Native Method)

Change-Id: Ic4438fe50e98f1aa05ae1d0d26240bf9410fd92f
Framework: add back all keyboard IME features back (1/2)

this commit adds:

- ime switcher notification - thanks cm
- slims fullscreen disable on landscape
- slims force autorotation on IME
- volume button control for navigate in the message - thanks cm
- slims force to show always enter key

some fixes to the 4.2/4.3 implementations + added full multiuser
support for all this features

cheers

Change-Id: I71e93c39620cc171e658b2d7e26491bac97c651d

Conflicts:

	core/java/com/android/internal/statusbar/IStatusBar.aidl
	core/java/com/android/internal/statusbar/IStatusBarService.aidl
	core/res/res/values/slim_symbols.xml
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	services/java/com/android/server/StatusBarManagerService.java

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/mahdi_symbols.xml
	packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
Update immersive confirmation.

1. Disable panic mechanism for expanded desktop.
2. Separate confirmation for each expanded desktop style.
3. Add new layout for the case when navigation
   bar is hidden but statusbar is visible.

Change-Id: I5914d655bd5f9315ac4cc6fc7d70cc4ee45bb7b2

Conflicts:

	core/res/res/values/cm_strings.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Conflicts:
	core/res/res/values/mahdi_strings.xml
Clear the scan list when an empty list is received

When the framework receives an empty scan list from supplicant, it does
not clear the local list. So the UI will continue to show the previous
scan list even when there are no APs around. So clear the local list,
when an empty list is received.

CRs-Fixed: 552212
Change-Id: I8715bc31ce0df7bd54c96fcf7d7b73592429f12a
Frameworks: notification drawer background (1/2)

so after keyguard is mostly done let us start notification drawer
and QS. First one custom background.....either color or picture
with custom alpha and ability to set a landscape picture seperatly
(landscape phone only)

Compared to the 4.3 included version completly recoded and better
integrated. No idea what I thought 1 year ago on the old implementation

cheeers

Change-Id: Id7d0f718acd05d34fab57bb250c29ed944bdcd58

Conflicts:

	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
fb: notification transparency (1/2)

this add back notification transparency...compared to 4.3
it controlls as well the notification icon backgound transparency
which felt in the past dissplaced. As well codecleanup of the old
implementation.

largeIcon support I did not add due that google does not support it
as well at current status...it is only a placeholder in
NotificationData

Change-Id: Ic5bb8998f64cac573d70005fad909104accc9e96

Conflicts:

	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
Framework: Change stock Clock-Click Actions

Separate into two views and add:
	Date: View Today Calendar
	DateLong: New Event Today
	Clock: View Alarms
	ClockLong: New Alarm

PS2: Catch Missing Intent

Change-Id: I578df64691c0d957cc3923958abae9a0f9d02b88
systemUI: fix date and clock layout

in notification drawer after clickable actions change

Change-Id: I5979d5537e5fe3347fe7cd2bdf68786c63dc812d
Frameworks: Slims ElectronBeam get some love (1/2)

Features:
- You can select different crt off animation modes if device overlay does not disable it at all
- disabled
- always horizontal (stock behaviour)
- always vertical (screen collapse from left and right to the middle)
- orientation dependent (means portrait = horizontal animation, landscape = vertical animation)
- some minor fixes/code style improvements to 4.3 implementation

Change-Id: I02543a242f8f570438f2ab97a19b6ffe1b4dba1c

Conflicts:
	core/java/android/provider/Settings.java
fb: add scale down crt animation - thanks a ton to xploidwild

really nice idea...fits perfectly into our animation options
for CRT

Change-Id: I562ed272e7106482ef8d6b477a46eb5d81569dbb
Framework: add immersive mode to navbar/navring (1/2)
fb: fix IME switcher notification shows on reboot althoug diabled

due that it gets overwritten

Change-Id: I12311df0081481814edf7250bd4959fd70792072
InputMethodManagerService: fix npe which was causing soft reboots when activating voice
Remove the navigation camera icon in keyguard if disabled by DPM

The logic here is incorrect: the camera shortcut is/should be accessible
even with a secure lock screen. As a result, a device with the lock
screen camera disabled by DPM and an insecure lock screen would still
display the unfunctional shortcut.

Change-Id: If1d172932c6c2af596c38e623521c992fdf95402
SystemUI: Add double tap to sleep gesture

Change-Id: I4c54718e8ec8774677d13917b3a7ffa3b4b18cb5
Fix indention.

Change-Id: Ibbac20f4b8d14aaf753c463293bc4caa6c64cb91
Option to enable Notification Light when screen is on (1/2)

This makes possible to enable the Notification LED even when the screen is on

Conflicts:
	services/java/com/android/server/NotificationManagerService.java
Fix Icon size in DocumentsUI

For XXHDPI devices if you go into Settings/Display and Notification light and select a custom value (application) you will see a GIANT icon.

Before - http://i.imgur.com/DRkua3T.png

After - http://i.imgur.com/f7xW4tY.png

Change-Id: Ia355bddc515906134c8b3b4e67d381aaacceec78
Quicksettings: add never sleep option to screen timeout tile (1/2)

Thanks to @kufikugel

Conflicts:
	packages/SystemUI/src/com/android/systemui/quicksettings/ScreenTimeoutTile.java