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: 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
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
fb: fix and pimp custom lockscreen handle (1/2)

problem on current implementation is that it is not
multiDpi compatible. As well it looks a bit weird if
the user set a square image always. This commit does

- introduce central circleimage method to get circle image crops
- before it was assumed that the height of the handle image is
  108px (mdpi base) which is correct but the original handle
  has a lot unused space around to fit better into the view.
  Whatever after messurment of the real height 68px is correct
  of course calculated against the current density
- both above combined results into a always nice looking
  custom circle icon on the lockscreen dpi and device undependent
- saved file in settings calculates the needed image size
  base on the current density.

Patchset:
- use for custom bitmap our colorize methods due that
  the result looks way nicer then the usual colorfilter

Patchset:
- use AntiAlias

Change-Id: Id0321e0e9176f8f765980f69b412658dbb929ef3
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