Buttons: Prevent toggling disable hardware keys too quickly

* Apparently the phone window manager _really_ doesn't like it when you
  do toggle this too quickly.

Change-Id: I936c6554927ffcdc7c78edaf25f71aedba497ac8
Keydisabler: fix button light restore logic

Do not assign default button brightness if backup key is not found.
Instead do nothing. This will prevent brightness being reset to default
on boot when navbar is disabled.

If backup key is not found when actually toggling navbar then we've got
bigger problems.

Change-Id: I649bf1480a42f2cbe94d0a47a0c6055c934b4f56
Fix exception being thrown if CMHW is not installed.

Happens during debugging when mmp'ing the app.

Change-Id: Ief84a812696ef3f2515701790f96649cbde0f7d9
Settings: Change 'Model Number' to 'Model Name'

Most devices have the Model Number set to something like 'One' rather
than 'PN072', therefore they are using the Model Name not the Model
Number. Therefore, either every device should update to properly refer
to the Model Number, or we should update Settings to correctly state
that it is the Model Name.

Change-Id: I70981d3a46e7a7e26f4bfcb6c5d768a00314e3b9
[2/2] Forward port power connect/disconnect notification support

Original commit info:

    [2/2] Power connect/disconnect notification support

    part 1/2: frameworks/base PowerUI and Settings
    http://review.cyanogenmod.org/#/c/35241/

    part 2/2: packages/apps/Settings Sound settings
    http://review.cyanogenmod.org/#/c/35242/

    Change-Id: I7ddd8a47ae4f9a62c586023d151ac42bbe8424c7

    Power sound notifications: fix ringtone picker title

    Change-Id: Ied0a08ec1607b778324e69a7b40bac056235bebf

    Settings: Rename 'Power sounds' to 'Charging sounds' and add summary

    VOld_Change-Id: I1cb872917e2d03f0a1c77c25c27f2a0496f9bc05

Old_Change-Id: Ibde52fcd6fd0fabc9eeefc7e6f5a3971527285d7

Change-Id: If247c184c5ea2a1e13dd22ef121cbc9d5d542fd5
Signed-off-by: STELIX <ssspinni@gmail.com>
Settings: Add screen color settings

Add "Screen Color" item in settings.
This function support set Hue, Saturation, Contrast and Intensity value,
and screen color will be changed by this settings.

Change-Id: If6f6e7ee7f28862476a8b955cd3252175fefa2a1

Settings : Fix CustomScreenColor when picking an image

Change-Id: I510b562eb0e9fb9b558380db5c5d6e818ba17d12

Settings: Start service as explicit intent

Needed for API level 21. Add some ressource bits, set text color to
white.

Change-Id: I9c4a9139be69fa5c6d6c74055b5475f0d930c93a
Forward port button/keyboard backlight options

Change-Id: Ica02fad15392201b719144c4b911407d5b370cee
Development settings: Checkboxes to switches

Change-Id: I6f323e43d3c6c90052d6c364d5859812e15ca0d4
Settings: Move quickboot preference under advanced reboot

Change-Id: I8739768cdef9a8d2b07769bba15356de567ac114
Forward port 'Swap volume buttons' (3/3)

Change-Id: I44a2b37b95848fff24c53c4c3561a3c000c487a1
Settings : date and Time - Checkbox --> Switches

Changes Date & Time Settings from checkboxes to on/off switches, as
recommended: http://developer.android.com/design/building-blocks/switches.html
This also adds some more design consistency.

Change-Id: I1e7848ae46859161f45a3a952e5a8d06ad52a023
add Voice Wakeup switch

 * Requires CYNGN package to do the actual work.

Change-Id: I1c129adf1104dd95d3afb76224af4c9ba2b5db96