21 Commits

Author SHA1 Message Date
Mike Lockwood
50130bbc88 GPS: Add update_network_state call to AGpsRillInterface
Change-Id: I404a7a45773f592de7dfe75a8287fef15515ea8b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-11 14:28:28 -04:00
Mike Lockwood
b6e5fa895c GPS: Do not call sGpsInterface->init() multiple times
Change-Id: I5f2b55959bd67864168690c1fe619e55edc18268
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-09 20:14:33 -04:00
Mike Lockwood
aecab79b4e Merge "Remove races in Geocoder/LocationProvider Proxy" into gingerbread 2010-10-08 11:17:17 -07:00
Mark Vandevoorde
8863c43d9e Remove races in Geocoder/LocationProvider Proxy
The proxy must ensure that enable/disable calls are not reordered when
proxied; this change adds synchronization to prevent such reordering
that could happen following an onServiceConnected() callback, and to
ensure cross-thread visibility of writes.

Also, when the package is updated, the old service instance must be
unbound and the new one bound.  This changes uses a separate
Connection object per service instance (package version) to avoid
confusing the binder objects.

Change-Id: I0907f7eed211b97ccfffa395754f1eb8ea8d8fec
2010-10-05 11:12:48 -07:00
Miguel Torroja
1e84da822e GPS: Add support for AGpsRilInterface.
Adding changes to be able to have access to missing data to SUPL
(celld, imsi, WAP_PUSH and SMS)

Change-Id: I0207f7f7ea6595ed3fd7021cb732feddf52e4cf9
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-10-05 13:15:37 -04:00
Mike Lockwood
e97ae40dff location: rebind to network location and geocoder services after package update
Change-Id: I2d7db3512b9edd7e0ba27d97442967fc2278e3b9
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-30 15:25:54 -04:00
Mike Lockwood
2acfd34ccb GpsLocationProvider: Fix race condition while bringing up APN for SUPL.
If handleUpdateNetworkState() is called before
ConnectivityManager.startUsingNetworkFeature() returns, then we will not
call native_agps_data_conn_open() to inform the GPS that the APN is up.
So we now set mAGpsDataConnectionState to AGPS_DATA_CONNECTION_OPENING
before calling ConnectivityManager.startUsingNetworkFeature() to avoid
this problem.

Change-Id: I5e1597d6494dc8ab68e608911c546a7a04f2ea07
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-09-22 12:22:26 -04:00
Dianne Hackborn
7e9f4eb260 Track client requests through location manager.
This fixes a problem where applications could ask the location
manager to do very heavy-weight things (like...  say... update
location every minute), which would get accounted against the
system instead of the application because ultimately it is the
system making the heavy calls (wake locks, etc).

To solve this, we introduce a new class WorkSource representing
the source of some work.  Wake locks and Wifi locks allow you
to set the source to use (but only if you are system code and thus
can get the permission to do so), which is what will be reported
to the battery stats until the actual caller.

For the initial implementation, the location manager keeps track
of all clients requesting periodic updates, and tells its providers
about them as a WorkSource param when setting their min update time.
The network location provider uses this to set the source on the
wake and wifi locks it acquires, when doing work because of the
update period.

This should also be used elsewhere, such as in the GPS provider,
but this is a good start.

Change-Id: I2b6ffafad9e90ecf15d7c502e2db675fd52ae3cf
2010-09-13 14:20:48 -07:00
Mike Lockwood
1a1cd3a878 GPS: Initialize XTRA support when GPS is enabled
BUG: 2923148

Change-Id: If9a643e385c6c567b30f47d4caa35fa812a2ba43
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-08-17 07:45:47 -04:00
Mike Lockwood
5723dfe8c8 GPS: Don't set XTRA download pending flag at boot time.
XTRA data downloads are now strictly on demand from the GPS engine.
Also fix typo in handleDownloadXtraData()

Change-Id: Ied1a6e2e62134add4d965326aae909c86f834682
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-08-06 10:15:15 -04:00
Mike Lockwood
8dc16c27e2 Fix typo in GPS mode logic.
MS-Assisted support should not be required for using MS-Based mode.

Change-Id: Ia6ee219674de3e9cc13190b753f8776305a4fa90
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-07-29 11:39:55 -04:00
Mike Lockwood
f602d362ba GPS: remove GpsEventThread from GpsLocationProvider
Rather than polling for events from the native code in an event thread,
we now require the GPS HAL libraries to call our callbacks from a thread
that is registered with the JVM to call directly into Java.
This eliminates a thread from our code and removes one step in the chain
of message passing from the GPS to the Location Manager client.

Change-Id: I2745a157690310ba9a699a8369f54a7366c6b1ba
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-06-22 09:26:41 -04:00
Kevin.KY Tsai
0881f4f933 Report number of satellites used in fix instead of total for GPS Location extra
Change-Id: Ibffc8d21b31b02a91c8506733002e4a778556978
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-21 15:10:39 -04:00
Mike Lockwood
03ca216ac1 New Location Manager APIs for Criteria based requests and single shot mode.
Use MS-Assisted mode for single shot GPS fixes if it is supported.

Add finer grained control over accuracy to the android.location.Criteria class
and location criteria logic from LocationManager to LocationManagerService

Change-Id: I156b1f6c6a45d255c87ff917cf3e9726a6d7a75b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-05-21 11:47:19 -04:00
The Android Open Source Project
9d164dc5c1 am f4dffd8a: merge from open-source master
Merge commit 'f4dffd8a45386b5a5f0e6de4f30facc9eaac4001' into kraken

* commit 'f4dffd8a45386b5a5f0e6de4f30facc9eaac4001':
  GpsLocationProvider: Store new Location before onGpsStatusChanged is sent
  Telephony: Add PUK MMI code support for CDMA RUIM phones
  Type Zero Sms should not be displayed/stored/notified.
2010-05-06 15:22:17 -07:00
Mike Lockwood
d53ba017ee GpsLocationProvider: Eliminate MIN_FIX_COUNT.
Now we stop after one fix rather than waiting for 10 when requesting occasional
fixes to conserve power.

Change-Id: Ic420f2d20780db983fc4db22246e0a486eecc58e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-15 20:41:26 -04:00
Mike Lockwood
1879d284bf GpsLocationProvider: Remove NTP sanity checking now that the NTP client has been fixed.
Change-Id: Iedf3f5ff333db7298de6cd6e86fface1f8421738
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-15 20:05:24 -04:00
Mike Lockwood
63aa5a6f98 clear calling identity in GpsLocationProvider.sendExtraCommand().
This fixes problems with wakelock permissions introduced in an earlier change.

Change-Id: If0f4761ac27525d1eece0613c96be62f9e370a14
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-14 19:38:26 -04:00
Mike Lockwood
04598b67a5 GPS: Support for GPS HAL managing its own scheduling
Also update to support new position mode API.

Change-Id: I00acc094d3e85bc5c0cd431af517064bfa8f2b1a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-14 19:38:26 -04:00
Mike Lockwood
98e48691f7 GpsLocationProvider: optimize wake lock usage.
Rather than holding a wake lock the entire time the GPS is active, we now
hold it only when messages are pending for GpsLocationProvider's Handler
and rely on the lower level implementation holding a wake lock when calling
into the provider.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-14 15:18:09 -04:00
Mike Lockwood
00b74270c9 Move files internal to LocationManagerService from framework.jar to services.jar
Change-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-04-04 18:44:05 -04:00