Add back backlight brightness curve adjustment.

Change-Id: I58408111d6366a281303afb469d78588ae88d275

Conflicts:
	services/java/com/android/server/power/DisplayPowerController.java

Signed-off-by: travp624 <travp624@gmail.com>
Fix race condition in backlight adjustment.

When configuring the automatic backlight levels, there's a race
condition in setting the lux and brightness settings as the settings
provider doesn't allow storing multiple settings atomically. When
deleting rows, there's quite a high chance of DisplayPowerController
picking up a state where the lux values already have the lower number of
rows, but the brightness values do not, effectively leading to an
ArrayIndexOutOfBoundsException.

Fix that by
- waiting a second of cool-down time until applying the settings and
- adding a sanity check for the very unlikely case that the delay
  between writing both values is > 1 second

Change-Id: I44e41530fc5334aaefc4ab7d3a90542f78fabe0c
JIRA:CYAN-755
LockPatternUtils: isSecure: respect profile settings

When the lock screen is set to secure and overridden to insecure
by profile settings, isSecure() would return true causing confusion
to some code.

For example, attempting to use a lockscreen shortcut
to launch an activity will cause the device to soft-reboot due to
recursive calling and a stack overflow.

Change-Id: I02984671c2a047765f4da1f6a44bb19dea5bf2d3
Profile: respect DPM when overriding screen lock (1/2)

Profile currently allows the user to override the keyguard set by
device policy, which is undesired.

Change-Id: Id8d80cfdad51ca0a64dc231a77e53b104ecb9825
SystemUI: Add Expanded desktop tile to QuickSettings (2/2)

    * Patch Set 1: initial commit
    * Patch Set 2: change tile title
    * Patch Set 3: change tile title again
    * Patch Set 4: updated to suggested drawable by blunden
    * Patch Set 5: update drawables to fit to the bahavior of
                   the other icons used in QS
    * Patch Set 6: rebase
                   only display tile if feature is enabled
    * Patch Set 7: launch the proper long press activity
    * Patch Set 8: correctly hide tiles if ED or profiles are turned off
		   style fixes

Change-Id: I2273f8f0bdb726ec34f00a6fb205b1bc6e795cfa

Conflicts:
	core/java/com/android/internal/util/cm/QSUtils.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java

Signed-off-by: travp624 <travp624@gmail.com>
Fix up expanded desktop behaviour.

The expanded desktop mode had a number of issues:
- It didn't handle multi-user scenarios correctly
- In the keyguard, the status bar was shown while the navigation bar was
  hidden, which was inconsistent to the !keyguard case
- Live wallpaper sizing was incorrect when expanded desktop mode was
  enabled due wallpaper windows not being recalculated correctly after
  enabling expanded desktop

This patch should fix all of those items.

Change-Id: I976ffae3a56d411b00026f86b16efa9743a23293

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
	services/java/com/android/server/wm/WindowState.java

Signed-off-by: travp624 <travp624@gmail.com>
Bringing basic pie controls to Baked. (1/2)

Based on the multiple navigation key bar patch, this commit adds
basic pie controls to BAKED cherry picked from CM. The implementation is inspired
by Paranoid Android but is completely rewritten.
The aim was to get as little intersection with existing code as
possible and provide a farily easy interface to extent these
controls by new slices (inherited from PieSlice).

The pie controls are only active when expanded screen is turned on.

Based on this commit there is another one that adds more optimizations
for Phone UI to pie controls. And there is a seperate commit for
the settings app, too.

Patch Set 2:
* Cyanogen Code Style.
* Some simplifications in PieSysInfo.java

Patch Set 3:
* Fixed NPE when pie controls are completely deactivated
* Preserve state of menu button

Patch Set 4:
* Fix display of Wifi SSID
* Some cleanup and coding style changes

Patch Set 5:
* Fix NPE when not connected to Wifi
* Remove AM/PM from time display (overlayed the other info)
* Fix menu button handling

Patch Set 6:
* Remove trailing whitespace in 12 hour time format

Patch Set 7:
* Tune colors
* Improve battery level and operator printout
* Remove some unused imports

Patch Set 8:
* Some refactoring on pie trigger management
* Copyright fix
* Make debug on PieLayout less noisy

Patch Set 9:
* Fix NPE one devices with no GSM/CDMA/LTE
* New color proposal
* Haptic feedback now respects system setting

Patch Set 10:
* Factor out haptic feedback into separate method

Patch Set 11:
* Prepare for "always on"
* David's color scheme

Change-Id: I90de7252d8301282d396c29bc9e9943acf7f2766

Conflicts:
	core/java/android/provider/Settings.java
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java

Signed-off-by: travp624 <travp624@gmail.com>
Add pie control optimizations for Phone UI.

This commit brings some pie control tweaks to the Phone UI. These
tweaks make the pie controls react to several conditions that are
are special to the Phone UI. That means that this piece of code
is more deeply embedded within the SystemUI code.

This mostly adds the foloowing behaviour, that is Phone UI
dependent:
* Disable BOTTOM trigger when notification area is expanded
* Disable LEFT and RIGHT trigger when a keyguard is active
* Enable search light feature

Patch Set 3:
* CyanogenMod Code Style.
* setDisabledFlags now belongs to navigation bar callbacks

Patch Set 5:
* Removed duplicated .observe()

Patch Set 10:
* Fixed unintended trigger activation

Patch Set 13:
* Searchlight opens directly on the bottom (on the lock screen)

Patch Set 15:
* Fix conflict/rebase

Change-Id: I551745b69791adca75190c54282be19d85db75a9
Fix pie controls being disabled by launcher gestures.

Some launchers have gestures for expanding/collapsing the status bar
from swipe gestures which call the respective StatusBarService methods
even if the status bar isn't visible due to expanded desktop. Because of
that, the status bar code internally thinks the expansion is carried out
(even if invisible), thus disabling the bottom pie controls in the
process.
Fix that by making PhoneStatusBar aware of it being hidden by expanded
desktop and ignoring the expand call in that case.

Change-Id: If386ca953517d9b5efcb6cb9054f5c5e6a9e0bc4