109 Commits

Author SHA1 Message Date
Mike Lockwood
2cd543aad5 Remove ILocationProvider.isEnabled() binder call and use cached value instead.
Change-Id: Id6a9f6d2e2f5cc5810a2beeb0f869f06e2d18860
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-02-01 12:18:59 -05:00
Mike Lockwood
345bf168db am 47d302a0: am bb79e5fd: Merge "Be tolerant of GPS session and engine on status messages arriving out of order." into eclair
Merge commit '47d302a001c71f90bee8dc31d868b463a47f2d51'

* commit '47d302a001c71f90bee8dc31d868b463a47f2d51':
  Be tolerant of GPS session and engine on status messages arriving out of order.
2010-01-22 17:04:47 -08:00
Mike Lockwood
cf1d8cb36f Be tolerant of GPS session and engine on status messages arriving out of order.
BUG: 2366194

Change-Id: I642dacd397202f671adba5a863394438ca62988d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-01-20 10:20:54 -05:00
Mike Lockwood
52eab1c760 Unhide LocationManager APIs needed for unbundled location providers.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-01-11 12:32:50 -05:00
Joe Onorato
f5d95cbc1a less log spew 2010-01-08 15:46:24 -05:00
Mike Lockwood
be5ed378d9 Fix broken Javadoc link.
Change-Id: Ia72dc3dccf95f95c6847eb52d8b210ed774a804b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-01-06 23:15:33 -05:00
Mike Lockwood
9d2f7a7d66 Add LocationManagerImpl class to act as a public wrapper for the ILocationProvider interface
Location providers implemented outside of the core android platform (like network location)
can subclass LocationManagerImpl to implement the location provider interface
without being bound too tightly to the location manager internals.

Change-Id: Id193d4d09f9a14bea13e81af03c914074cd37cb9
2010-01-06 22:35:46 -05:00
Mike Lockwood
34901409a4 Cleanup and add public wrapper for IGeocodeProvider interface to prepare for network location unbundling.
Change-Id: I6523d115b56dbf450121e73d48e151f200827eb4
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-01-05 23:39:29 -05:00
Paul Westbrook
7762d93621 Unbundling work
Moved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator
NumberPicker, NumberPickerButton to android-common
---
2009-12-14 09:24:09 -08:00
Mike Lockwood
dbd6fd8ebb GpsLocationProvider: Do not release wakelock until the GPS engine is fully off
Change-Id: I705b1d33af2d70aa1084cca8f6280fade9461d2c
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-12-07 18:46:55 -05:00
Mike Lockwood
03d246779e GPS: Fix problem with SUPL when SUPL APN is already active.
Use ConnectivityManager.CONNECTIVITY_ACTION broadcast in LocationManagerService
to notify GPS when SUPL connection is ready instead of TelephonyIntents.ACTION_ANY_DATA_CONNECTION_STATE_CHANGED,
which is not sent in all cases.
Expand LocationProvider.updateNetworkState() to include NetworkInfo object.

Fixes bug b/2155661

Change-Id: Iee227ace7d536b36cf7973e3e6a8b7a621ce6565
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-10-08 17:24:21 -04:00
Mike Lockwood
9aa1fa2d36 LocationManagerService: Remove caching of last known locations to flash.
Change-Id: Ibbab20a7c48823fb74c2e175824f55248f25bf8a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-09-01 07:51:15 -04:00
Danke Xie
22d1f9fb23 gps: Network initiated SUPL
Initial contribution from Qualcomm.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-27 14:18:30 -07:00
Mike Lockwood
660bbfcc54 GpsLocationProvider: Default to AGPS on if the setting is missing.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-25 16:01:37 -07:00
Mike Lockwood
640992dec9 gps: Unhide GpsStatus.NmeaListener interface for receiving NMEA sentences
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-06 19:19:45 -04:00
Mike Lockwood
b16e7800be gps: Add GpsStatus.NmeaListener interface for receiving NMEA sentences.
NMEA sentences are passed from the GPS engine to the GpsLocationProvider.
They are then sent via the IGpsStatusListener binder interface to clients
using the same path as the other GPS status information.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-08-06 15:05:07 -04:00
Mike Lockwood
734d6031a6 GPS: Don't call native_set_agps_server() until after we call native_init().
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-28 18:33:41 -07:00
Mike Lockwood
2bb99d1e2f GpsLocationProvider: remove mAgpsConfigured configured flag.
This flag was unnecessary because the lower level GPS code already checks for this
and this was causing problems for a GPS implementation that does not use /etc/gps.conf

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-17 10:56:56 -04:00
Android (Google) Code Review
334a67740c am b82759a0: Merge change 6906 into donut
Merge commit 'b82759a051f55852dabe201ad3354ea9b7b2979d'

* commit 'b82759a051f55852dabe201ad3354ea9b7b2979d':
  location: Add sub-locality, sub-thoroughfare and premises fields to Address class
2009-07-14 12:54:41 -07:00
Mike Lockwood
8cd1084ed1 location: Add sub-locality, sub-thoroughfare and premises fields to Address class
This is required for fully describing locations in Japan.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-07-14 14:41:22 -04:00
Kenny Root
55ed4914de Fix typo in Javadoc for LocationManager.GPS_PROVIDER 2009-07-07 12:42:51 -07:00
Android (Google) Code Review
0d0012ef16 am 54af78a3: Merge change 5950 into donut
Merge commit '54af78a3f7064e04d7ebd64c985d4149f9f7b05c'

* commit '54af78a3f7064e04d7ebd64c985d4149f9f7b05c':
  Fix memory leaks in system_server
2009-07-02 15:23:56 -07:00
Suchi Amalapurapu
fff2fda019 Fix memory leaks in system_server
unlink DeathRecipients in a whole bunch of places to avoid memory leaks
2009-07-01 12:55:30 -07:00
Mike Lockwood
bcab8df83e Settings: Add preference to enable/disable assisted GPS.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-06-25 17:15:32 -04:00
Dianne Hackborn
3618160a1a am 2e418428: Possibly fix an issue where we thought an app was always using GPS.
Merge commit '2e418428987132ea66533cbc05f9c526eb59519a'

* commit '2e418428987132ea66533cbc05f9c526eb59519a':
  Possibly fix an issue where we thought an app was always using GPS.
2009-06-23 13:08:40 -07:00
Dianne Hackborn
2e41842898 Possibly fix an issue where we thought an app was always using GPS.
There may be some race conditions in the gps provider where it can cause a uid
to be double booked for gps usage and never released.  Address this by tweaking
some locking (so mLocation and the uid array are protected by a lock both when
reading and writing).  Also add some code to log a warning if someone tries to
note a particular uid multiple times, since the code will break in that case.

Finally, fix a problem in the battery stats where we weren't allowing a new Uid
structure to be created in many cases for calls coming in.
2009-06-23 12:51:06 -07:00
Android (Google) Code Review
15d748659d am cde13e6b: Merge change 4954 into donut
Merge commit 'cde13e6bfa6465d5770755892e2ee234a1f85d5c'

* commit 'cde13e6bfa6465d5770755892e2ee234a1f85d5c':
  gps: Check for null APN name to avoid a runtime restart.
2009-06-22 13:24:50 -07:00
Mike Lockwood
b362a9ab91 gps: Check for null APN name to avoid a runtime restart.
We still need to figure out how the APN name is getting set to empty string
by the telephony code.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-06-22 16:20:39 -04:00
Android (Google) Code Review
84c4335f86 am f781b39c: Merge change 4786 into donut
Merge commit 'f781b39cb89dc19e6ad090bd3eb1bedbe7928429'

* commit 'f781b39cb89dc19e6ad090bd3eb1bedbe7928429':
  gps: Set SUPL server via hostname rather than IP address.
2009-06-19 12:12:18 -07:00
Mike Lockwood
a9e546169b gps: Set SUPL server via hostname rather than IP address.
The GPS engine needs the hostname for the secure SUPL case
and deferring the DNS lookup to the HAL might be helpful in the future
if the SUPL server is on a carrier's private network.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-06-19 14:54:42 -04:00
Android (Google) Code Review
989895e43f am fa699ea2: Merge change 3899 into donut
Merge commit 'fa699ea22a13a92694de75ef948a81da23e71642'

* commit 'fa699ea22a13a92694de75ef948a81da23e71642':
  GpsLocationProvider: Add hooks for GPS location injection.
2009-06-11 11:41:38 -07:00
Mike Lockwood
d26ce0d903 GpsLocationProvider: Add hooks for GPS location injection.
This will allow injecting cell ID location to the GPS
(not implemented yet).

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-06-11 12:42:25 -04:00
Android (Google) Code Review
9b1e1400df am 8c690ea9: Merge change 2182 into donut
Merge commit '8c690ea9976d644db3c96eddbbbd2d50eac56913'

* commit '8c690ea9976d644db3c96eddbbbd2d50eac56913':
  location: Replace ILocationCollector interface with new ILocationProvider method
2009-05-21 09:42:38 -07:00
Mike Lockwood
fd6e5f0dda location: Replace ILocationCollector interface with new ILocationProvider method
This change replaces ILocationCollector with a more general mechanism that
passes locations received from a provider to all other providers.
The network location provider now uses this to implement the location collector.
In the future, this could be used to inject network locations to the GPS
as aiding data.

This change also removes the now obsolete permission INSTALL_LOCATION_COLLECTOR.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-21 11:28:20 -04:00
Android (Google) Code Review
0376fe43e6 am 2d10ba33: Merge change 2111 into donut
Merge commit '2d10ba33190c2ff1b24d6c48dd621c55a25bf2cc'

* commit '2d10ba33190c2ff1b24d6c48dd621c55a25bf2cc':
  GPS: Add support for forcing NTP time and XTRA data injection.
2009-05-20 14:11:34 -07:00
Mike Lockwood
93bc44d721 GPS: Add support for forcing NTP time and XTRA data injection.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-20 16:58:22 -04:00
Android (Google) Code Review
2848954530 am 02c1c46f: Merge change 1674 into donut
Merge commit '02c1c46fff22490f884f05520d58eadae1442db8'

* commit '02c1c46fff22490f884f05520d58eadae1442db8':
  gps: Time out after 1 minute if we are unable to get a fix and our fix interval is long.
2009-05-14 14:53:34 -07:00
Mike Lockwood
0632ca7bbe gps: Time out after 1 minute if we are unable to get a fix and our fix interval is long.
This will prevent us from keeping the processor awake indefinitely if a
background service is requesting periodic updates and we are unable to get a fix.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-14 15:51:03 -04:00
Mike Lockwood
9e5d5d6fac am 3681f26: LocationManager: Recover if process containing NetworkLocat
Merge commit '3681f2614fa8c10560c790f6b4287f65d6fd2663'

* commit '3681f2614fa8c10560c790f6b4287f65d6fd2663':
  LocationManager:  Recover if process containing NetworkLocation provider crashes
2009-05-12 07:58:55 -07:00
Mike Lockwood
3681f2614f LocationManager: Recover if process containing NetworkLocation provider crashes
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-12 10:52:03 -04:00
Mike Lockwood
9e35560672 am 2677d0d: LocationManager: Fix a Javadoc comment.
Merge commit '2677d0da34acad93cd7f164d587ccc30c46facc6'

* commit '2677d0da34acad93cd7f164d587ccc30c46facc6':
  LocationManager: Fix a Javadoc comment.
2009-05-12 06:26:37 -07:00
Mike Lockwood
2677d0da34 LocationManager: Fix a Javadoc comment.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-12 09:22:21 -04:00
Android (Google) Code Review
22a262f09d am 5e1d8ae: Merge change 1355 into donut
Merge commit '5e1d8aed4a557a7c055aa4c19875df75d7e41ae6'

* commit '5e1d8aed4a557a7c055aa4c19875df75d7e41ae6':
  GPS: Generalize SUPL support to include AGPS for CDMA
2009-05-11 10:37:20 -07:00
Mike Lockwood
e3635c9693 GPS: Generalize SUPL support to include AGPS for CDMA
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-11 11:02:45 -04:00
Android (Google) Code Review
158b2129cf am f792fc5: Merge change 1150 into donut
Merge commit 'f792fc59c18aa470eb44cc596d5774115e2d9d02'

* commit 'f792fc59c18aa470eb44cc596d5774115e2d9d02':
  location: Location Manager wakelock cleanup
2009-05-07 08:24:05 -07:00
Mike Lockwood
0528b9b26a location: Location Manager wakelock cleanup
Location Providers are now responsible for their own wakelocks and scheduling.

Also fixed a deadlock in LocationManagerService in the code for releasing
wakelocks after client notifications have been received.
The fix is to use the Receiver object and mWakeLock for synchronization
 instead of the global mLock lock.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-07 11:02:22 -04:00
Android (Google) Code Review
54f2422b48 am fd445d3: Merge change 1095 into donut
Merge commit 'fd445d3510cddc7a67cf7720935626684a2f3011'

* commit 'fd445d3510cddc7a67cf7720935626684a2f3011':
  gps: Move GPS scheduling from libgps to GpsLocationProvider.
2009-05-06 15:48:58 -07:00
Mike Lockwood
29c84340a1 gps: Move GPS scheduling from libgps to GpsLocationProvider.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-06 14:52:25 -04:00
Android (Google) Code Review
f431b4b3ee am c770ed8: Merge change 1069 into donut
Merge commit 'c770ed8a6bb7614ed4a85a672e4e6830bed19a95'

* commit 'c770ed8a6bb7614ed4a85a672e4e6830bed19a95':
  GpsStatus: Increase NUM_SATELLITES to 255 for future compatibility.
2009-05-06 08:20:03 -07:00
Mike Lockwood
b7c4ae91d9 GpsStatus: Increase NUM_SATELLITES to 255 for future compatibility.
64 satellties are required for NavStar, WAAS, EGNOS, and GLONASS satellites.
Increasing to 255 allows for future compatibility with Galileo.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-06 10:48:30 -04:00