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
(cherry picked from commit 4e06ea674c06c288b823fabc0256e853c541719d)

Conflicts:
	AndroidManifest.xml
	res/values/cm_strings.xml
	res/xml/dashboard_categories.xml
	src/com/android/settings/cyanogenmod/BootReceiver.java