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

Conflicts:
	core/java/com/android/internal/os/ZygoteInit.java
Merge "Port from CM Bluetooth Message Access Profile (MAP)" into jb4.2
Merge "Bluetooth MAP (Message Access Profile) Upstream Changes (3/3)" into jb4.2
Framework: Enable multi-user support for Notification light

Change-Id: I72f12248a7a52774f8eb4e6035124ddbf53927af
Framework: Fix multi-user support in AudioService

Change-Id: Iddeeeac0734a237103e238bcdaa1e85806a64e4f
Framework: Enable multi-user support for Quiet Hours

Change-Id: I40e5148e40be41a5ac2cf42e21fece10ccd4ddd9
GPS fixes

 * Add gps users to ZygoteInit so QC drivers can set up their sockets.
 * Fix JNI method signature of reportAGpsStatus

Change-Id: I6686ee715ff2db72edbcf4e4daad2feb1670090a