51 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
2677d0da34 LocationManager: Fix a Javadoc comment.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-12 09:22:21 -04: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
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
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
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
Mike Lockwood
275555c8eb location: Add support for location providers outside of the system process.
Also added new permissions android.permission.INSTALL_LOCATION_PROVIDER
and android.permission.INSTALL_LOCATION_COLLECTOR to the public API.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-01 15:06:31 -04:00
Mike Lockwood
15e3d0f082 location: Use ILocationProvider Binder interface for all location providers.
This change eliminates the LocationProviderImpl class which had been used
for location providers running in the system process.
Now the LocationProvider base class is only used to implement the
LocationManager.createProvider() method for retrieving provider information.
Added a new IGpsStatusProvider interface for providers that serve GPS status.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-05-01 08:24:47 -04:00
Mike Lockwood
662ea09a71 location: Optimize use of mProviders ArrayList.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-28 21:38:06 -04:00
Mike Lockwood
b8526bfe09 gps: Don't crash if no XTRA servers are specified.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-28 19:04:08 -04:00
Mike Lockwood
b8adcad61d location: Remove obsolete fake provider support.
Now that we have GPS support in the emulator and public APIs for mock providers,
the fake provider support is no longer needed.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-28 13:23:57 -04:00
Mike Lockwood
79762a3ee3 location: Move DummyLocationProvider.java and LocationProviderImpl.java to the internal package.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-28 12:42:08 -04:00
Mike Lockwood
eedf815a2b location: Remove redundant mLocationTracking field from GpsLocationProvider
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-28 11:17:23 -04:00
Mike Lockwood
48f1751822 location: Location Manager wakelock cleanup, phase 2
Remove two second timeout for wakelock when broadcasting events to
location listeners. Instead, hold wakelock until receipt of the event
is acknowledged, either via a Binder call or the
PendingIntent.OnFinished interface.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-23 19:27:41 -07:00
Jean-Baptiste Queru
cddff7c3ce Merge commit 'goog/readonly-p4-donut' into HEAD
Conflicts:
	location/java/android/location/Geocoder.java
2009-04-22 12:09:59 -07:00
Xavier Ducrohet
4193558f23 AI 147294: am: CL 147290 Update Geocoder javadoc to reflect the need for a backend service.
Original author: xav
  Merged from: //branches/cupcake/...

Automated import of CL 147294
2009-04-21 18:47:12 -07:00
Android (Google) Code Review
22b8f5e4b7 Merge change 387 into donut
* changes:
  Geocoder: Document behavior when no backend service is available.
2009-04-21 17:31:01 -07:00
Mike Lockwood
71fd04616b Geocoder: Document behavior when no backend service is available.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-21 16:45:33 -07:00
Mike Lockwood
375cbb47ff gps: Check for null APN name when receiving telephony notifications.
Fixes bug b/1800584

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-21 15:49:38 -07:00
Mike Lockwood
e2b44c5aaf location: Location Manager wakelock cleanup, phase 1
Move cell and wifi lock from LocationManagerService to NetworkLocationProvider

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-21 09:38:18 -07:00
Mike Lockwood
98cb667974 More Location Manager cleanup:
Move LocationCollector support out of GpsLocationProvider.
Don't disable GPS when screen is off.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-17 18:06:18 -04:00
Mike Lockwood
2f82c4eb0b location: Generalize support for location provider usage tracking.
This replaces two different mechanisms that were used for GPS and Netork
location provider tracking.
Move BatteryStats logging of GPS usage from LocationManagerService to
GpsLocationProvider.
Clean up tracking of location listeners in LocationManagerService and remove
some HashMaps that are no longer needed.

Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-17 17:00:32 -04:00
Mike Lockwood
a55c321329 location: Move geocoding support from ILocationProvider to a new interface.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-15 11:17:37 -04:00
Mike Lockwood
58bda98766 gps: Add support for bringing up a GSM data connection on demand for SUPL.
Signed-off-by: Mike Lockwood <lockwood@android.com>
2009-04-14 16:25:07 -04:00
Mike Lockwood
e932f7f2a4 AI 144663: Use Binder interfaces between NetworkLocationManager and LocationManagerService.
This fixes a hack that was added when NetworkLocationManager was moved out of the framework.
  This also lays the groundwork for supporting location providers outside of the system process.
  BUG=1729031

Automated import of CL 144663
2009-04-06 10:51:26 -07:00
Mike Lockwood
53566b140f AI 144625: Remove unnecessary callback interface from INetworkLocationProvider.
BUG=1729031

Automated import of CL 144625
2009-04-06 06:01:47 -07:00
Mike Lockwood
f113fbe67b AI 144620: Clean up interface between NetworkLocationProvider and LocationManagerService (part 1)
Move broadcast receivers for wifi scan results and battery status
  from LocationManagerService to NetworkLocationProvider
  Add a Service for the NetworkLocationProvider, so we can install it from its
  own thread rather than from BOOT_COMPLETED or callback from LocationManagerService.
  (this Service was also required for receiving Intents in NetworkLocationProvider)
  BUG=1729031

Automated import of CL 144620
2009-04-06 05:17:28 -07:00
Mike Lockwood
66eb4acb89 AI 144599: Location Manager cleanup:
Move PhoneStateListener for listening to cell location changes from LocationManagerService
  to the NetworkLocationProvider.
  Move CellState class out of the core framework to the NetworkLocationProvider service.
  NetworkLocationManager now notifies the collector of its state, rather than LocationManagerService.
  BUG=1729031

Automated import of CL 144599
2009-04-05 14:50:22 -07:00
Mike Lockwood
4e50b78bda AI 144452: More Location Manager cleanup:
Remove 1 Hz "heartbeat" polling of location providers from LocationManagerService.
  Now location providers report their location to LocationManagerService via
  LocationManager.setLocation() rather than waiting to be polled.
  This reduces GPS fix latency by up to one second.
  Remove LocationProvderImpl.getLocation().
  Since we are no longer polling, this method is no longer necessary.
  BUG=1729031

Automated import of CL 144452
2009-04-03 08:24:43 -07:00
Mike Lockwood
9637d47489 AI 144372: Cleanup Settings support for enabling and disabling location providers:
LocationManagerService now listens for changes to settings,
  making LocationManager.updateProviders() unnecessary.
  Removed LocationManager.updateProviders()
  Added Settings.Secure.setLocationProviderEnabled(), which is a thread-safe way
  of enabling or disabling a single location provider.
  This is safer than reading, modifying and writing the LOCATION_PROVIDERS_ALLOWED directly.
  BUG=1729031

Automated import of CL 144372
2009-04-02 21:41:57 -07:00
Wink Saville
767a662ecd AI 144185: Integrate cdma into the main code base.
Automated import of CL 144185
2009-04-02 01:37:02 -07:00
Mike Lockwood
d654f9f727 AI 143616: Fix ANR that could occur when disabling GPS in Settings while the GPS is active.
Exit from GpsEventThread immediately when the GPS is disabled instead of
  waiting for the GPS to shut down fully.
  BUG=1729031

Automated import of CL 143616
2009-03-31 08:59:58 -07:00
Mike Lockwood
7ec434e2e1 AI 143095: Location Manager cleanup: move MockProvider to a separate file.
BUG=1729031

Automated import of CL 143095
2009-03-27 07:46:48 -07:00
The Android Open Source Project
105925376f auto import from //branches/cupcake_rel/...@140373 2009-03-18 17:39:46 -07:00
The Android Open Source Project
9066cfe988 auto import from //depot/cupcake/@135843 2009-03-03 19:31:44 -08:00
The Android Open Source Project
d83a98f4ce auto import from //depot/cupcake/@135843 2009-03-03 18:28:45 -08:00
The Android Open Source Project
076357b856 auto import from //depot/cupcake/@132589 2009-03-03 14:04:24 -08:00
The Android Open Source Project
3dec7d563a auto import from //depot/cupcake/@137055 2009-03-02 22:54:33 -08:00
The Android Open Source Project
3001a03543 auto import from //branches/cupcake/...@132276 2009-02-19 10:57:31 -08:00
The Android Open Source Project
da996f390e auto import from //branches/cupcake/...@131421 2009-02-13 12:57:50 -08:00
The Android Open Source Project
d24b8183b9 auto import from //branches/cupcake/...@130745 2009-02-10 15:44:00 -08:00
The Android Open Source Project
f1e484acb5 auto import from //branches/cupcake/...@127436 2009-01-22 00:13:42 -08:00
The Android Open Source Project
b798689749 auto import from //branches/cupcake/...@125939 2009-01-09 17:51:23 -08:00
The Android Open Source Project
f013e1afd1 Code drop from //branches/cupcake/...@124589 2008-12-17 18:05:43 -08:00