summaryrefslogtreecommitdiffstats
path: root/location/java
Commit message (Collapse)AuthorAgeFilesLines
* Track client requests through location manager.Dianne Hackborn2010-09-132-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Send broadcast intent when configured location providers change.Brad Fitzpatrick2010-08-271-0/+7
| | | | | | | | | See e.g. http://code.google.com/p/android/issues/detail?id=10042 This is also needed by the power control widget, which has no reliable way otherwise of staying in-sync. Change-Id: I8f2b6b79b1843329bae952a25ea56f15e3cf92aa
* Don't throw an exception from isProviderEnabled and getLastKnownLocationMike Lockwood2010-07-171-3/+2
| | | | | | | | | | | | | if the location provider does not exist. Instead use the same behavior as if the provider were disabled in settings (return false for isProviderEnabled and null from getLastKnownLocation). This eliminates for a lot of exception handling around some simple queries to the location manager. BUG: 2841014 Change-Id: I4fbe0c088e915c90969e13083201dd3e7f4029cb Signed-off-by: Mike Lockwood <lockwood@android.com>
* andriod.location.Criteria: Simplify new location criteria APIs a bit.Mike Lockwood2010-06-231-96/+25
| | | | | | | | Remove ACCURACY_BEST and only use ACCURACY_MEDIUM for horizontal accuracy. Remove accuracy priority support, since it be difficult to implement in some cases. Change-Id: I785a781f8d8f3bf3be6693ad71d077b6eb280c31 Signed-off-by: Mike Lockwood <lockwood@android.com>
* Merge "Add Geocorder.isImplemented()" into krakenMike Lockwood2010-05-242-1/+21
|\
| * Add Geocorder.isImplemented()Mark Vandevoorde2010-05-212-1/+21
| | | | | | | | | | | | | | | | | | | | The Geocorder interface is not part of the Android core. It requires a backend service which may or may not be available on a device. The new isImplemented static method allows apps to discover whether the Geocorder is in fact available on the device. Change-Id: I2b5cf7bcc9cce4766bcbb156e91edf34b01f9296
* | Fix broken Javadoc linksMike Lockwood2010-05-212-8/+8
|/ | | | | Change-Id: I6896d6ec16b522e9e63776c0992ef55a6db82d50 Signed-off-by: Mike Lockwood <lockwood@android.com>
* Unhide new location manager APIs:Mike Lockwood2010-05-215-37/+0
| | | | | | | | | | | | | | Criteria.java LocationManager.java New APIs for criteria based location requests and single shot support. GeocoderParams.java GeocodeProvider.java LocationProvider.java APIs for network location unbundling. Change-Id: I3311fa01ce76fe4cba3537617e5b1c8d1f1d42b7 Signed-off-by: Mike Lockwood <lockwood@android.com>
* New Location Manager APIs for Criteria based requests and single shot mode.Mike Lockwood2010-05-217-310/+564
| | | | | | | | | | 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>
* am b6f0cbdc: merge from open-source masterThe Android Open Source Project2010-05-101-0/+6
|\ | | | | | | | | | | | | Merge commit 'b6f0cbdcbb566368ebe0468f61de024f644db6e1' into kraken * commit 'b6f0cbdcbb566368ebe0468f61de024f644db6e1': Include the API level 4 fields in the Parcel.
| * merge from open-source masterThe Android Open Source Project2010-05-101-0/+6
| |\ | | | | | | | | | Change-Id: Ia4cbea9d94b2ff34fc8ce97c1fe35ca5898d6c1c
| | * Merge "Include the API level 4 fields in the Parcel."Jean-Baptiste Queru2010-05-101-0/+6
| | |\
| | | * Include the API level 4 fields in the Parcel.Paul Watts2010-01-201-0/+6
| | | |
| * | | merge from open-source masterThe Android Open Source Project2010-05-061-23/+23
| |\ \ \ | | |/ / | | | | | | | | Change-Id: I4c28751bd84b41259b12b0f3e3307e11234c8b64
| | * | GpsLocationProvider: Store new Location before onGpsStatusChanged is sentHakan Gustavsson2010-04-191-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In reportLocation() the new location is now stored before the callback onGpsStatusChanged(GPS_EVENT_FIRST_FIX) is sent. This will prevent users from getting a faulty location from LocationManager.getLastKnownLocation() after receiving onGpsStatusChanged(GPS_EVENT_FIRST_FIX). Change-Id: I6c654b2acbf2e216c99058a20f068bf4721a1c7a
| | * | merge from open-source masterThe Android Open Source Project2010-02-051-0/+2
| | |\ \
| | | * | Fix for GPS engines without separate session and engine status events.Mike Lockwood2010-02-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GPS_STATUS_SESSION_BEGIN now implies GPS_STATUS_ENGINE_ON and GPS_STATUS_ENGINE_OFF now implies GPS_STATUS_SESSION_END. Change-Id: Ifeeb1d5094d1e7304974b7c3ac27dd83b1e65bca Signed-off-by: Mike Lockwood <lockwood@android.com>
| | | * | Be tolerant of GPS session and engine on status messages arriving out of order.Mike Lockwood2010-02-021-5/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BUG: 2366194 Change-Id: Iac152cc46f3647e12c9077f1bfa4183f19ac94b6 Signed-off-by: Mike Lockwood <lockwood@android.com>
| | | * | GpsLocationProvider: Do not release wakelock until the GPS engine is fully offMike Lockwood2010-02-021-36/+34
| | | |/ | | | | | | | | | | | | | | | | Change-Id: I705b1d33af2d70aa1084cca8f6280fade9461d2c Signed-off-by: Mike Lockwood <lockwood@android.com>
| | | * eclair snapshotJean-Baptiste Queru2009-11-1312-67/+826
| | | |
| | | * donut snapshotJean-Baptiste Queru2009-07-291-0/+47
| | | |
| | | * donut snapshotJean-Baptiste Queru2009-07-217-150/+134
| | | |
| | | * donut snapshotJean-Baptiste Queru2009-05-2019-1644/+1037
| | | |
* | | | GpsStatus: Bounds check PRN to avoid array indexing exceptions.Mike Lockwood2010-04-141-9/+11
| | | | | | | | | | | | | | | | | | | | Change-Id: Iea8b525dd8681f32cb7ce7415dad0ec665d9016d Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | | Move files internal to LocationManagerService from framework.jar to services.jarMike Lockwood2010-04-049-2547/+43
| | | | | | | | | | | | | | | | | | | | Change-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | | GpsNetInitiatedHandler: whitespace cleanupMike Lockwood2010-04-041-254/+254
| | | | | | | | | | | | | | | | Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | | Call LocationManager.sendNiResponse() instead of calling directly to ↵Mike Lockwood2010-04-042-11/+6
|/ / / | | | | | | | | | | | | | | | | | | GpsLocationProvider Change-Id: I6a5b47abb0519f5228d29bc3340bb2490564803e Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Wait until GpsLocationProvider is fully initialized before returning from ↵Mike Lockwood2010-03-241-13/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the constructor. Otherwise we are left with a race condition that might result in the provider being called before it is ready. BUG: 2539392 Change-Id: I05f4a2501c43d5fa95c0e68f5a963015cf9c6e8f Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | GpsLocationProvider: Do our work in a Handler running in a separate thread.Mike Lockwood2010-03-221-195/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To avoid adding a new thread to the system, we take the functionality that was in GpsNetworkThread for downloading NTP time and XTRA data and include this in the new thread as well. BUG: 2531728 Change-Id: I2a26b7f0aae0c60faceb36dc6bc29c915c039ae6 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Remove unused file NmeaParser.javaMike Lockwood2010-03-171-437/+0
| | | | | | | | | | | | | | | Change-Id: I8027b98ccf1271870243ced8a7ccc61d25a224b2 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | location: dump LocationProvider internal stateFred Fettinger2010-03-077-2/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For each location provider, call getInternalState() to see if it has any state information to include in a bugreport. If the returned string is not null, then print a header with the provided name followed by the returned string. Change-Id: I0a388d7fba14ac8cadcb80eda0a0ceb95032410b Signed-off-by: Fred Fettinger <fred.fettinger@motorola.com> Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Check for null provider in LocationManager.getProviders()Mike Lockwood2010-03-031-1/+1
| | | | | | | | | | | | | | | | | | | | | Change-Id: I294ce0b1f364cfdf956ac55260f9d40f0704b5f7 BUG: 2485977 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Hide GeocoderParams class from public API.Mike Lockwood2010-03-021-0/+2
| | | | | | | | | | | | | | | | | | | | | This does not need to be publc until we unbundle the network location provider. Change-Id: Ib4109d2392624242eee33f271a8151588e3f0c56 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Re-arrange android-common so framework no longer links with it.Dianne Hackborn2010-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | This is the framework part, moving classes around so the framework no longer needs to link to android-common. Makes some APIs public, others that didn't need to be public are private in the framework, some small things are copied.
* | | GpsLocationProvider: Be less aggressive about getting fixes in bad ↵Mike Lockwood2010-02-241-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | conditions if we have a long fix interval. Change-Id: I68bd884409ca15e584ab70e53cf142d60f318d9c BUG: 2215714 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Fix broken location extras in GpsLocationProvider.Mike Lockwood2010-02-241-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | Fixes http://code.google.com/p/android/issues/detail?id=4151 (Satellite count not being provided by Location class any more. Location.getExtras() returns null.) Change-Id: I4cf2922f4a5ed216541f8a8553523d1f6a1c1d0c Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Add passive location provider.Mike Lockwood2010-02-177-5/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | The passive location provider allows receiving location updates without actually triggering them. This allows an application to receive location updates that are being generated due to other clients of the location manager. Change-Id: Ibf7a96b089c56875d4f62d3210252ae8d9f32768 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Clean up interface between LocationManagerService and the location providers:Mike Lockwood2010-02-106-18/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LocationManagerService now uses new Java interface LocationProviderInterface rather than LocationProviderProxy to refer to location providers internally. LocationProviderProxy and the ILocationProvider binder interface are only used for location providers implemented as services (NetworkLocationProvider) Built-in location providers (GpsLocationProvider and mock providers) now just implement LocationProviderInterface rather than using a Binder interface and proxy object. Delete obsolete and unused TestLocationProvider class. Change-Id: Id800e7c1864f7c666f8e37125c05896493b9c8c4 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Network Location unbundling:Mike Lockwood2010-02-087-459/+757
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The network location and geocode provider services are now started on demand and their interfaces are now retrieved via bindService(). Remove obsolete LocationManager installLocationProvider() and installGeocodeProvider() methods. Add abstract class android.location.provider.GeocodeProvider to provide a public wrapper to the IGeocodeProvider Binder interface. Replaces the LocationManager.GeocodeProvider interface. Rename LocationProviderImpl to android.location.provider.LocationProvider. Move LocationManager.reportLocation() to android.location.provider.LocationProvider, so all methods related to external location providers are now all in one class. Avoid calling from the Location Manager Service into providers that are disabled so we do not start the network location service unnecessarily. Change-Id: If3ed2d5d62b83ba508006711d575cad09f4a0007 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Fix for GPS engines without separate session and engine status events.Mike Lockwood2010-02-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | GPS_STATUS_SESSION_BEGIN now implies GPS_STATUS_ENGINE_ON and GPS_STATUS_ENGINE_OFF now implies GPS_STATUS_SESSION_END. Change-Id: I7217dc5213ae9a5658ac81b0a14b61d3e36ca0f6 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | resolved conflicts for merge of 21875ab3 to masterMike Lockwood2010-02-021-8/+26
|\ \ \ | |/ / | | | | | | Change-Id: I447e813b3ec460bbc9050de6b95bd663bb33c86f
| * | Ignore NTP time fixes that differ from system time by more than 5 minutes.Mike Lockwood2010-01-291-8/+26
| | | | | | | | | | | | | | | | | | Change-Id: I603195f6925e25baccd18190016cf8611bb9dc1b BUG: 2402380 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Remove unused method LocationProviderImpl.isEnabled().Mike Lockwood2010-02-011-5/+0
| | | | | | | | | | | | | | | | | | | | | This should have been removed in my previous change. Change-Id: I3a080888f995e77a61e3ebf1c194ccd65686af1e Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Remove ILocationProvider.isEnabled() binder call and use cached value instead.Mike Lockwood2010-02-015-19/+4
| | | | | | | | | | | | | | | Change-Id: Id6a9f6d2e2f5cc5810a2beeb0f869f06e2d18860 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | am 47d302a0: am bb79e5fd: Merge "Be tolerant of GPS session and engine on ↵Mike Lockwood2010-01-221-5/+28
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | 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.
| * | Be tolerant of GPS session and engine on status messages arriving out of order.Mike Lockwood2010-01-201-5/+28
| | | | | | | | | | | | | | | | | | | | | BUG: 2366194 Change-Id: I642dacd397202f671adba5a863394438ca62988d Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Unhide LocationManager APIs needed for unbundled location providers.Mike Lockwood2010-01-111-4/+0
| | | | | | | | | | | | Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | less log spewJoe Onorato2010-01-082-33/+29
| | |
* | | Fix broken Javadoc link.Mike Lockwood2010-01-061-2/+2
| | | | | | | | | | | | | | | Change-Id: Ia72dc3dccf95f95c6847eb52d8b210ed774a804b Signed-off-by: Mike Lockwood <lockwood@android.com>
* | | Add LocationManagerImpl class to act as a public wrapper for the ↵Mike Lockwood2010-01-062-0/+248
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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