Fix dialog state handling.

Convert ApplicationLightPreference into a DialogPreference to correctly
manage the dialog lifecycle, e.g. when rotating the device. Also save
the user-defined color in case the dialog was open.

Change-Id: Ife00e1c4737fbf6710ccdaa1252def00f2831af3
JIRA:CYAN-914
Settings: Fix color picker ComposeShader view

The shader was not showing the proper combined gradients.  This is a
limitation of the ComposeShader in Android 3+ and has to do with the
hardware acceleration as described here:

'ComposeShader can only contain shaders of differenttypes (a BitmapShader
and a LinearGradient for instance, but not two instances of BitmapShader)'.
But, 'If your application is affected by any of these missing features or
limitations, you can turn off hardware acceleration for just the affected
portion of your application by calling:
    setLayerType(View.LAYER_TYPE_SOFTWARE, null).'

Change-Id: I8d945e37ed97c409a0cc7e9ec5570019545f0f68

Conflicts:

	src/com/android/settings/notificationlight/ColorPickerView.java
Fix dialog not opening for app-specific notification light settings.

Change-Id: I8e8d098bcc07824803b9e9931595f5c4fdbabb7b
Fix NullPointerException at RunningState

getServiceInfo returns null if you have a service defined in the
manifest as: <service android:name=".Xxx" android:exported="false" />
or and in an <application> with no label or icon.
Dont crash the Settings application because of that.

Change-Id: I6f9f69c130e610b7e4ab66426177b7bade1e1515
Check if the Activity is finishing before showDialog()

Check if the Activity is going through its finishing phase before
displaying the Dialog, because Showing dialog once the activity
is no longer in context will cause BadTokenException.

Change-Id: I58940e694f61cd79536abe2df60a0b745a7b806f