Bringing basic pie controls. (1/2)

Based on the multiple navigation key bar patch, this commit adds
basic pie controls. 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:
* Better 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

Signed-off-by: Paul Beeler <sparksco@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:
* Better 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

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java

Signed-off-by: Paul Beeler <sparksco@gmail.com>
SystemUI: Remove the dark pixel artifacts from the back arrow drawable

The arrow had some mostly transparent pixels that made it look
kind of like the device had defective pixels. Found by Cyril Mottier.

Change-Id: Ia78453868ebe7e3291d01c96b9beafc78ea3cdcc
Framework: Add Advanced reboot (2 of 2)

This commit responds to a setting in Development settings for including
options in the power menu for rebooting into recovery or bootloader. It
is defauled to off.

When enabled, the Advanced reboot options will only be available once the
device is unlocked.

Change-Id: I675f31de1f82c344c7923e953fd4a6e26dd036da
Feature : Volume adjust sound preference 1/2

This patch allows the users to choose if they want the audible tone when adjusting the volume

The new preference is in
Settings | Sound
    Volume adjust sound
        Play sound when adjusting volume with hard keys
The Checkbox is defaulted to ON (1 in defaults.xml)

Look for 2/2 for the Settings, Sound Panel Change

Change-Id: I705c23065706317760ba60efc1a71f3ba6082bbd

Conflicts:
	core/java/android/view/VolumePanel.java

Signed-off-by: Paul Beeler <sparksco@gmail.com>
Fix reboot window texts

PS2: move assignment of titleResourceId into the condition and
only query longPressBehavior when it's needed.

Change-Id: I00c3940c2b5472434177e94ab7c72d5fecc61b2e
Framework: Show the Advanced reboot menu only for the primary user

Change-Id: I73f82eade26f268e2b4608fa23cabcf0bb8fc862
LockscreenPattern : Toggle dots/error pattern visibility (1/2)

Give user ability to hide error pattern / dots.

Part 2 : http://review.cyanogenmod.org/#/c/33004/

Patchset 2 : Minor formatting
Patchset 3 : Cleanup commit msg

Change-Id: I2af7403b0f72c72e13dd1dec73f8d335ff4029bf
LockscreenPattern : missing public @hide

Change-Id: Ia2a22154352fc080db6e96666a4a0bef241c787b
Swap volume buttons when the screen is rotated (1/2)

See: http://review.cyanogenmod.org/#/c/14530/

Patch Set 8: Invert the orientation interpretations on tablets

Change-Id: I201febc2827e6fbd347cb0e3f8d3347ad1bc487b

Conflicts:
	core/java/android/provider/Settings.java
	media/java/android/media/AudioManager.java

Signed-off-by: Paul Beeler <sparksco@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

Signed-off-by: Paul Beeler <sparksco@gmail.com>
Fix resource leak: When call MediaMetadataRetriever.setDataSource or getFrameAtTime should ensure call release in finally to avoid resource leak
                   Patch set 2: Remove unnecessary white spaces

Change-Id: I49a7f2fb99dc8b9560e7c17421125356e45a87ac
[HTML5] Implementation of WebSockets (framework).

Added binding to android port for Html5 WebSockets.
Added external API for enabling\disabling from browser.
SSL Web Sockets are not implemented in the current version.

Change-Id: I8b7a42780410cb9f043e1f16570ea50db68e00ea
Revert "makefile changes for gcm javadocs"

This reverts commit 5f9922d7c3bce158e4c7a58929d4075e7c91e32e.
am: Allow more hidden apps on devices with lots of RAM

 * If more than 1.5GB is present, allow up to 40 hidden apps.
 * Number is somewhat arbitrary, but was found to work well on D2.
 * Also look at the sys.mem.max_hidden_apps value if given.

Change-Id: I2d3cf6e0dad1bc0b482cc37bf9c61ed2f2b4be51