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
Profile: disable triggers when profiles are disabled

Change-Id: Ic25bd90deb1979f2a7f21a5b588e5f1e18834864
QS: make dynamic tiles configurable (1/2)

instead of using a bunch of provider settings var
like it was on 4.3 and almost all other roms are doing
use one and split like we do for the normal tiles. This
is more consistent and saves us to observe a bunch of values
As well this is integrated into the one layout screen we have. So
all QS related is easy and logical usable for the user on one
screen

Change-Id: Ic1b8d021f4bf418257df268262b7eff9474d4819

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java
QS: enable haptic feedback and change Alarm tile longpress

nice idea from xploid to have haptic feedback on the tiles
just a bit to complicated to do on every tile

so activate it centralized

as well change the longressbehaviour of alarm tile to the
normal onClick behaviour

Change-Id: I48d4129c63ea6396b2a176bee9d6df02d414d28a
Frameworks: Slim Shortcuts

PS2: Screenshot, Reboot, Last-App
PS3: Forgot earlier derp fixed elsewhere.
PS4: Clean-up
PS5: No change.  Create Dependant.
PS6: Fix blank activities sometimes.

Change-Id: I9c5e7dbdeaa727fca9a7317c3546ff9aa67ef4bf

Conflicts:
	packages/SystemUI/res/values/slim_strings.xml
base: Remove duplicated key handling

Change-Id: Ifd8ecac2b3758f0c6a4dbaa39350831af0b145a0
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>