FW: Hiding NavBar - {WIP - DO NOT MERGE}

PS8:
New Structure for Hiding NavBar

ps9 : Fix a few derps.
ps10 : more derps/Try/catch/ etc.
ps11 : Hiding NavBar now Marginall works.
       There are a lot of things that can break this right now.
       it doesn't recover well from toggling itself on/off and
       if you 'hide/show' the NavBar, it doesn't take to that kindly
       either.  One thing the seems have an effect is to change the
       height of the NavBar.  there is something that gets reset in
       PhoneWindowManager by doing the height change that helps.

ps 12 :  Reworked some of the logic.  Added visual hints to indicate where
the swipes should occur.  Also completed landscape (phone) orientation shift
for swipe.  Made several changes in the window layout formulas in
PhoneWindowManager so that NavBar is treated like a real overlay when
in AutoHide Mode.  Otherwise, certain windows and elements were
resizing when the NavBar was shown/hidden.

ps 13:  Add images (button/drag) from NitrozK

ps14:  Start implementation of longpress on handle to launch
       NavRing.  Fix press navbar resets hide timer.

ps 15: add timeout to settings observer
       make searchlight visile on lockscreen even if navbar hide enabled.
Mike and I think there no point in wasting a swipe on the lockscreen lets
just show it all the time since its our version of lockscreen targets. Only
thing thats weird is after unlock the navbar should auto time out and its not.
It wait until you touch outside then acts as it should.

ps 16: Fix hdpi image
ps 17: switched to 9patch's from nitroz
       added options for stretching draghandle/swipe area width (on tested on
              grouper might need tweaking of values)
       added option to make draghandle.invisible (right now if invisible wont
              register clicks, needs fix)

ps 18: moved constants to demins for overlays

ps 19:  Redo some of the weight calcs.  This basically works if you
	keep weight at 100.  not working otherwise
ps 20: Abandoned Weights, now setting Width of handle based on pixel
	calc.  Fixed 'Invisible' setting on Handle.

ps 21: Add quick tile ( needs images), fix crash when phones rotate,
       swap a division for a multiplication. Come on now Mike. ;-)

ps 22: change screenheight to screen width for landscape... still need something for tabs.
ps 23: added logic for phabs and tabs landscape width, set default width to 5
ps 24: add padding to the SlidingChallengeLayout if we hide the navbar

Change-Id: Ic4ad3d9dec139ebeee2ee1e81d97ec603116f5f9

Conflicts:
	packages/SystemUI/res/values/strings.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettings.java
Port PA's PieControl and PieMenu w/o Per App Color Featue (1/2)

Change-Id: I9acbd4cb2278ff3c33648b429a592594249308c2

Conflicts:
	packages/SystemUI/res/values/dimens.xml
Prevent audio players starting on startup.

Previously, (at least) Apollo was started on startup (in that it
appeared in the notification bar) because it listens to the AUDIO_BECOMING_NOISY
intent to silence itself in that case. This intent is broadcast by
AudioService when there's a user switch to silence any potential audio
players for the old user. As the system also sends around a
USER_SWITCHED intent on startup, this led to the aforementioned player
startup.
As the intent of AudioService was to act on a user backgrounding anyway,
send out AUDIO_BECOMING_NOISY as reaction to a USER_BACKGROUND intent
instead of the USER_SWITCHED intent.

Change-Id: Iba35844a1274c9dd195f104068304e6a7ffa809e
Fast Toggle : Add option to always display toggle when there are not active notification

Change-Id: If4e3247a5cf28ba7a3d9a0d1cfbd01b3db1c3ffd
Fix Notification Row Alpha Values

Change-Id: Ia22da1f81b72721bef3b0c36a5e7ccd85cff92b5
SystemUI: option to toggle dimming of the notification shade (1/2)

Allow the user to enable/disable dimming of the notification shade
pulldown. Check isHighEndGfx() to respect the default setting that
the device currently supports.

Users on low-end device may want to have this feature, while users
on high-end devices may want to disable it (possible battery life
savings and what not).

Change-Id: I730c0eea266541468d2d38ef88e136d85e1e4bfa
PIE : Gap function (1/2)

Change-Id: I8e9d408f31f7bfc82d772ea30345c195b676e163
PIE Notification (1/2)

Change-Id: Ib8ae7f98d9d586f65f514d2a2a39fc394626975e
Port PA DPI-PER-APP (2/3)

Change-Id: Ie43d1199d3c0718ce4dc5483a03ae400b81f2fa1
Pie Menu and Search Control (1/2)

Change-Id: I0b66ce8f2ef73f335c16bb129df4abbbd30c143e

Conflicts:
	core/java/android/provider/Settings.java
Lockscreen Targets : Make multi-user compatible

Use getStringForUser instead of getString since the framework always run as root user (0)

Change-Id: Ibe8b69cf4c4ad123ca8e68cd8fadcb7eb467b5be
Camera: add additional ISO modes (2/2)

Change-Id: I3460c3de4cbef467430673146a9ddb2fdc8f5032
PowerManagerService: Implement setButtonBrightnessOverrideFromWindowManager method

Differs from Android 4.1 (and earlier) implementation in that the
overridden button light still turns off after BUTTON_ON_DURATION instead of
staying on until screen off.  However, button lights are annoying, and
really the purpose of this is to allow apps (e.g., Screen Filter) to
_disable_ the button lights altogether.
QuickSettings: fix GPS graphic state logic

Current logic shows the gps_off icon once the requesting
app has terminated (inUse = false). expected graphic is
gps_on. To reproduce:
1. Start with the GPS off. Tile has gps_off graphic and
   off text.
2. Tap the tile, graphic turns to gps_on, text turns to on
   (this is the idle state where GPS is on and available,
   but does not acquire satellites).
3. Start Google-Maps, once GPS is locked, graphic changes
   to gps_locked.
4. Now stop Google-Maps. Graphic will change to gps_off
   though you would expect it to return to state (2) above.

Change-Id: Id044635016a848bb6bc02032b87e977ba0782f06
bugfix against missing search agent

Change-Id: I5551bef056dbdeb2fcc623770af4477d62d402fd
Expanded Desktop Enhancement : switch to show statusbar or not (1/2)

Change-Id: I1c90275aa94e19642310579030c73dcf5d0b923d
Pie Control comes up according to Desktop State (1/2)

Change-Id: I41ce36b794b2a8d8b542f91b7073a47129caf2ef
Squashed commit of GPS changes from CodeAurora

GpsLocationProvider: ipv6 support

AGPS calls to accept ipv6 addresses

Change-Id: If9187b8fd9e0ba22cd01722d5c04aabccebad38b

GPS Provider changes

Added support to delete aiding data test feature.
Added more data catagories, to now at the total of 21

Change-Id: Icb15d21b8204323021c47eac5249cde128e38246

GPS provider - AGPS Dual APN support

To support either SUPL or any WWAN connection - allow connction
type at open request API; FW's support to dual AGPS connections

Change-Id: Iecb07f31a99353f75c1a0c000bb6e39ef007f6bf

Supporting IPv4v6 and IPv6 bearer types for ATL

Change-Id: Ife8c72d9975ac58b9e4091cb95ad5a9763e01c3f

gps: determine ip protocol type from telephony.db

Instead of determining the ip protocol type from the
type of ip address we have, the ip protocol type is
looked up in telephony.db based on the carrier and apn.

Change-Id: Ib0d76354515fb44f570668d5a4a42cccfa6fe78a
CRs-Fixed: 376537

gps: get apn when supl is already active

When supl is already active, get the apn and bearer and
try to connect, instead of reporting failure.
CRs-fixed: 401408

Change-Id: I2eed11e0a34a55d1b62d37f0a6c97b1f3f2fecae

gps: allow xta data over default mobile connection

If the default mobile data connection is up and
connected, use that connection to download xta data.

Change-Id: Ic5ff5422ac9baf83ac923faeb1f8b4fc9186c184
CRs-fixed: 399721

GpsLocationProvider: Support type wifi in i/F request.

Add support in GpsLocationProvider for wifi type for
i/F request.

Change-Id: I44463e72857c06ae24626b8f3cd482ddac7c278b

Conflicts:

	services/java/com/android/server/location/GpsLocationProvider.java

gps: adding net_raw gid for IPC permission

for AFW to have permission to call loc api

Change-Id: Ifc7451659431fa1c1998f5d75bfa5f2018a5d054

gps: fixed singleshot session that doesn't stop

When a single shot location is requested and a
location is returned, the location request is
not stopped and so it continues even when the
requestor has stopped listening. This can cause
gps tracking to continue in the backgroud and eat
up battery.

This is fixed by stoping the provider if there
are no more update record associated with it
when a location is returned.

Change-Id: Ie437732ff06231a46724843af30e21ca3a1694ab

gps: return dummy apn instead of null

This change was missed during merge, which
can cause exception(crash) if apn is returned
as null.

Change-Id: I15160c8f2f512cc75bbe1b7b7ef4695c201112d8
PackageManager: Restrict system packages to protected storage

Don't allow packages signed with the platform key to be
installed into user (or app) controlled storage

Change-Id: I7390b3bdf5289411f7a335c69635bed9f74bbfb3