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
Settings: Forward port Performance settings

Settings: Forward port Change behavior when back pressed in PerformanceSettings

When back key pressed, finish this activity if user does NOT accept 'Ok'
in warning dialog rather than show it.
Id: Ied763db4f76a3a2a36f134bd93a0f18047c6cf5c

Change-Id: I07d41d43d00e4fb42ad526d27ee9188d830906ea

Performance profiles

This changes adds support for custom performance profiles through overlays. Supported
devices should define config_perf_profile_prop with the proper system property to be set
and fill an init.rc file with the appropiate handlers for every defined performance profile..
Patchset 2: Rebased
            New simplified strings
Patchset 3: Fix build
Patchset 4: Rebased

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

Settings: QS performance profiles tile

Requires http://review.cyanogenmod.org/#/c/51776/

Patchset 2: Fix not null comparation
Patchset 3: Added suggestions
Patchset 4: Fix string
Patchset 5: Rebased
Patchset 6: Rebased
            Move setCurrentValue() inside mPerfProfilePref null check

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

Brings performance settings up-to-date with cm-10.2

Includes the following cm-10.2 commits:
http://review.cyanogenmod.org/30667 Performance: BootReceiver: set CPU min/max freqs before CPU governor
http://review.cyanogenmod.org/31886 Adding configurability of frequency cap (min/max) files' path.
http://review.cyanogenmod.org/48007 Cleanup: remove useless checks.
http://review.cyanogenmod.org/51295 Cleanup performance settings strings

Change-Id: If94d02745606e9bdca92a89ea7129a44878226a2

Fix confusing warning dialog behaviour.

The settings app closing when pressing back while the dialog is shown or
clicking outside of the dialog was confusing for the user. Instead, make
sure the user has to acknowledge the dialog.

Change-Id: I8ffdf6a2ede8b67176fd22a13d7046a707b52b89

add option to force high-end graphics on low memory devices

Change-Id: I34e0d7381615485b58385abed743e01f7272772d

settings: Cleanup and add auto power profiles option

 * Add categories for all items
 * Add helper class for Settings.Secure

Change-Id: I9d8fd6720516e7fa321c05744ada81415cbf8aaa

Performance: Allow enabling KSM by default

Allow device maintainers to enable KSM by default.
Set ro.ksm.default=1 to enable.

Change-Id: Ib432be4937dff63891e641b2f14ab223c2d245df

settings: performance: Update get current values in Processor view

Some users have been complaining about min/max frequency being
set incorrectly on some CM builds.

One way that they could be seeing this is by using the Processor
Performance information in Settings which seems to load the values
for min/max frequency and governor once and then never reloads
them unless you change the actual setting.

This is easy to see by changing the values yourself by modifying
the /sys files directly.

With this commit, changing the /sys files will cause the
Performance view to show the correct values, not the cache values.

Change-Id: I96719e4f40081cb8d2c9b1fd63a32332823cf77d

Settings: Apply Processor settings to all cpus

QCOMs multicore implementation allows for different governors
and min/max values per cpu. Let the Settings app live up to the
user's assumed expectation and keep values synced across all
available cpus.

While this can be easily accomplished with a root-app, there are
a few prerequisites for our application: This patch requires
ueventd rules for cpu*/cpufreq/scaling_* files and write perms
to cpu*/online for the SYSTEM user in init.${ro.hardware}.rc.

Change-Id: Ic9349977f02282649a11319758dd7f546538f149

Don't try to restore Set on Boot settings before decrypting

If encryption is enabled, BootReceiver will not be able to find
the performance preferences and set sys.{cpufreq,iosched}.restored
to true, inhibiting the second invocation after decryption from
doing so (because it thinks that the settings were already restored).
This patch fixes that by not attempting to restore settings while
/data is not yet decrypted.

Change-Id: I8bfe1cda856f344995e5528ebfb9c894701b395e