• Home
  • History
  • Annotate
  • only in /frameworks/base/location/java/android/location/
History log of /frameworks/base/location/java/android/location/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7ab7f538924371a9dd4be7a27a6ae3b4c04b301c 30-Oct-2012 Laurent Tu <laurentt@google.com> Hide new location APIs and undeprecate old ones

Hide all new location APIs related to LocationRequest/Geofence and
undeprecate all deprecated APIs consequently to the LocationRequest and
Geofence introduction. Also introduce LocationRequestUnbundled for
LocationProviders to use.

Change-Id: I5b116c7d342041f45b341c88a4b6813571118018
riteria.java
eofence.java
ocation.java
ocationManager.java
ocationProvider.java
ocationRequest.java
1e701979a031f42ee0fa0a07b151f6c61314e2e4 01-Nov-2012 Victoria Lease <violets@google.com> Merge "fix NLP for COARSE applications, build FLP with SDK" into jb-mr1-dev
779b77455fc51382ecafa210b8a805d2a616da55 31-Oct-2012 Victoria Lease <violets@google.com> fix NLP for COARSE applications, build FLP with SDK

In this commit, we provide a means for unbundled location providers
to attach an EXTRA_NO_GPS_LOCATION to the Locations that they report.

We also build FusedLocation against the SDK rather than the internal
tree.

Used in conjunction with I394ded497b8de40d1f85618bff282553cdf378cb
to fix NLP for applications with only ACCESS_COARSE_LOCATION
permission.

Bug: 7453355
Change-Id: Ie696f7abff9ef5237740ab87fe9f537a1c812c54
ocation.java
8761e143c987fc48d854818988cde44700c9f602 30-Oct-2012 Scott Main <smain@google.com> docs: Clarify the callback mechanisms for LocationRequest
and clarify horizontal geofencing

Change-Id: I8ff264d7a12c8ec3c79854e008aeeb5f922ad459
eofence.java
ocationManager.java
b17223b6f5c4d894530c6412fc5dac2d6be403dc 24-Oct-2012 Victoria Lease <violets@google.com> revise android.location.Geofence documentation

Bug: 7172696
Change-Id: Ib1a104ee4a97c51996200b8d456face66178115f
eofence.java
2291ca47c763d9c292865ada1450d3a094918882 22-Oct-2012 Victoria Lease <violets@google.com> LocationManager javadoc permission fixes

The javadoc mistakenly claimed that GPS and PASSIVE location
providers could be used with ACCESS_COARSE_LOCATION permissions.
That was incorrect, and the javadoc has been amended.

Bug: 7389249
Change-Id: I6f6489bb539679a962c67ae7263857700df33c82
ocationManager.java
37425c3475877f2fdadb78f669ec57fecf82dca7 17-Oct-2012 Victoria Lease <violets@google.com> LocationManager permissions cleanup

This commit is the result of a comprehensive permissions review for
MR1 release. It addresses a number of deviations from spec and from
MR0's behavior, bringing MR1 into sync with both.

It also cleans up the concept of "location resolution permission",
representing it internally as an enumerated access level to reduce
reliance on cumbersome string manipulation. There's a function to
convert the enum int into a permission string where needed, too.

Additionally, this confines caller-identity-sensitive calls to the
hopefully-obviously-named "getCallerAllowedResolutionLevel()". This
should make it much easier to prove correctness with respect to
accidentally calling functions that depend upon the caller's identity
after identity has already been shed by Binder.clearCallingIdentity().

Change-Id: I446169aee8fb2fde26ac6d04b479b40253782acb
ocationRequest.java
e72fe16146dd33cb218bf8c16b069f68f331fdf8 04-Oct-2012 Laurent Tu <laurentt@google.com> Prevent overflow in LocationRequest.setExpireIn()

Prevent overflow in LocationRequest.setExpireIn(), for example,
when we pass in Long.MAX_VALUE.

Bug: 7047435
Change-Id: Ie56928a59fb387173fbd3887c0ef9aede00f8152
ocationRequest.java
4118012da9a22694b3353040a485f8cdc27e2f17 26-Sep-2012 Philip Milne <pmilne@google.com> Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()

Change-Id: Ie38952bbaace080e81e41e61350cda172951d548
ocation.java
ocationManager.java
73577888ec48bcb1eb5053f8dc3ba4eb33eb6f1a 25-Sep-2012 Philip Milne <pmilne@google.com> Fix for bug: #7172778. Javadoc errors in LocationManager.

Change-Id: Iaebd4cf00c8a33bcf4fc74eaa1dfec9675032826
ocationManager.java
bc391d58c8d09bd58b57dda20dd9d2281d90db32 24-Sep-2012 Philip Milne <pmilne@google.com> Merge "Revert "Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()"" into jb-mr1-dev
53fe75677212d0eb45e256a78599d7866256bc6a 24-Sep-2012 Philip Milne <pmilne@google.com> Revert "Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()"

This reverts commit 2f6d8829524dfca3a77e9a57c3b9c3862209877d

Change-Id: Id5af767a09fc319127c4ebef837c5b7a7f75cb01
ocation.java
b00df8e929f9ba865a95a7df3f949e6169332954 24-Sep-2012 Philip Milne <pmilne@google.com> Merge "Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()" into jb-mr1-dev
17e3e9e53c5fb9c92c8972a8d92659c6bef85831 24-Sep-2012 Victoria Lease <violets@google.com> Merge "Do not use passive GPS data for COARSE only apps." into jb-mr1-dev
2f6d8829524dfca3a77e9a57c3b9c3862209877d 21-Sep-2012 Philip Milne <pmilne@google.com> Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()

Change-Id: I71c24ea10093ece07a0780e97bc641ff548c1a44
ocation.java
09016ab4dd056a16809419d612cb865a14980880 16-Sep-2012 Victoria Lease <violets@google.com> Do not use passive GPS data for COARSE only apps.

FusionEngine now attaches a secondary location that has never seen
GPS data to its result. LocationFudger uses the GPS-less location so
that COARSE apps never see data from the GPS provider.

When the previous location is updated, the previous GPS-less location
is carried over if the location update was GPS-only.

Additionally, apps without FINE permission are not notified when GPS
location changes, and any attempt to use GPS_PROVIDER without FINE
permission is met by a stern SecurityException.

Bug: 7153659
Change-Id: I12f26725782892038ce1133561e1908d91378a4a
ocation.java
ocationRequest.java
8a624ef0fe5e86031f15f4120205c869e34f6637 21-Sep-2012 Romain Guy <romainguy@google.com> API REVIEW: Undeprecate Location.dump()
Bug #7173109

Change-Id: Ia2f4a5b6255dae7ace4702f7d66ec30a077c9c79
ocation.java
4fab68b5324e1f9b6765cdc33e66d1f074623dc2 13-Sep-2012 Victoria Lease <violets@google.com> Require ACCESS_FINE_LOCATION for Geofence use.

Bug: 7153226
Change-Id: I49236379e739fcda66bbc9a31cfdca9a87122aec
ocationManager.java
5584b497b7fcd8660cc49cfc8ab4dd0c6dad1060 20-Aug-2012 Nick Pelly <npelly@google.com> Print timestamp (instead of age) in Location#toString()

Age was a bad idea, since it depends when toString() was called

Change-Id: Ica0b6bfa9a93b5a452ba3def5fbb2b0a0194c401
ocation.java
4035f5a7c191a68bc9a5912ce44c43c82e9e5dbf 17-Aug-2012 Nick Pelly <npelly@google.com> Port location blacklist code to MR1.

I had to re-do this change for MR1 because LocationManagerService changed
so much. Here is the original change description:

Add package-name-prefix blacklist for location updates.

The Settings.Secure value locationPackagePrefixBlacklist and
locationPackagePrefixWhitelist contains comma seperated package-name
prefixes.

Location & geo-fence updates are silently dropped if the receiving
package name has a prefix on the blacklist. Status updates are
not affected. All other API's work as before.

A content observer is used so run-time updates to the blacklist
apply immediately. There is both a blacklist and a whitelist.
The blacklist applies first, and then exemptions are allowed
from the whitelist. In other words, if your package name prefix
matches both the black AND white list, then it is allowed.

Bug: 6986553
Change-Id: I1e151e08bd7143e47db005bc3fe9795076398df7
LocationManager.aidl
ocationManager.java
4e31c4fffbc42b4c2b5dca6431cfeef9e078f5b4 14-Aug-2012 Nick Pelly <npelly@google.com> Add javadoc for new location API's.

Change-Id: If15024ee88421c07ba3a174747774fc451fd002e
riteria.java
eofence.java
ocation.java
ocationManager.java
ocationRequest.java
74fa7eabda3d0c1a85e0b568e3fc4230ed4fe7a4 14-Aug-2012 Nick Pelly <npelly@google.com> Improve coarse locations.

Fix a couple of bugs, and modify the behavior of the random offset.

The random offset now slowly changes over time, to mitigate against
applications averaging out the offset over time while at a
grid boundary.

Change-Id: Iecffff29145b8c2b30d1eca1662cf9d3e8cff756
ocationRequest.java
3914e4b7d12b014f73085cd6e34b6fd69ea26226 11-Aug-2012 Nick Pelly <npelly@google.com> Remove LocationManager#getLastKnownLocation(Criteria).

This was never a public API, so we don't need to follow
an orderly deprecation. And it breaks a CTS test:

cts/tests/tests/location/src/android/location/cts/LocationManagerTest.java:521: reference to getLastKnownLocation is ambiguous, both method getLastKnownLocation(java.lang.String) in android.location.LocationManager and method getLastKnownLocation(android.location.Criteria) in android.location.LocationManager match
mManager.getLastKnownLocation(null);
^

Change-Id: I503267e4fa577ce4bf684239da777f11b0e511f5
ocationManager.java
6fa9ad4afcd762aea519ff61811386c23d18ddb2 16-Jul-2012 Nick Pelly <npelly@google.com> Location overhaul, major commit.

Themes: Fused Location, Geofencing, LocationRequest.

API changes
o Fused location is always returned when asking for location by Criteria.
o Fused location is never returned as a LocationProvider object, nor returned
as a provider String. This wouldn't make sense because the current API
design assumes that LocationProvider's have fixed properties (accuracy, power
etc).
o The fused location engine will tune itself based on the criteria passed
by applications.
o Deprecate LocationProvider. Apps should use fused location (via Criteria
class), instead of enumerating through LocationProvider objects. It is
also over-engineered: designed for a world with a plethora of location
providers that never materialized.
o The Criteria class is also over-engineered, with many methods that aren't
currently used, but for now we won't deprecate them since they may have
value in the future. It is now used to tune the fused location engine.
o Deprecate getBestProvider() and getProvider().
o Add getLastKnownLocation(Criteria), so we can return last known
fused locations.
o Apps with only ACCESS_COARSE_LOCATION _can_ now use the GPS, but the location
they receive will be fudged to a 1km radius. They can also use NETWORK
and fused locatoins, which are fudged in the same way if necessary.
o Totally deprecate Criteria, in favor of LocationRequest.
Criteria was designed to map QOS to a location provider. What we
really need is to map QOS to _locations_.
The death knell was the conflicting ACCURACY_ constants on
Criteria, with values 1, 2, 3, 1, 2. Yes not a typo.
o Totally deprecate LocationProvider.
o Deprecate test/mock provider support. They require a named provider,
which is a concept we are moving away from. We do not yet have a
replacement, but I think its ok to deprecate since you also
need to have 'allow mock locations' checked in developer settings.
They will continue to work.
o Deprecate event codes associated with provider status. The fused
provider is _always_ available.
o Introduce Geofence data object to provide an easier path fowards
for polygons etc.

Implementation changes
o Fused implementation: incoming (GPS and NLP) location fixes are given
a weight, that exponentially decays with respect to age and accuracy.
The half-life of age is ~60 seconds, and the half-life of accuracy is
~20 meters. The fixes are weighted and combined to output a fused
location.
o Move Fused Location impl into
frameworks/base/packages/FusedLocation
o Refactor Fused Location behind the IProvider AIDL interface. This allow us
to distribute newer versions of Fused Location in a new APK, at run-time.
o Introduce ServiceWatcher.java, to refactor code used for run-time upgrades of
Fused Location, and the NLP.
o Fused Location is by default run in the system server (but can be moved to
any process or pacakge, even at run-time).
o Plumb the Criteria requirements through to the Fused Location provider via
ILocation.sendExtraCommand(). I re-used this interface to avoid modifying the
ILocation interface, which would have broken run-time upgradability of the
NLP.
o Switch the geofence manager to using fused location.
o Clean up 'adb shell dumpsys location' output.
o Introduce config_locationProviderPackageNames and
config_overlay_locationProviderPackageNames to configure the default
and overlay package names for Geocoder, NLP and FLP.
o Lots of misc cleanup.
o Improve location fudging. Apply random vector then quantize.
o Hide internal POJO's from clients of com.android.location.provider.jar
(NLP and FLP). Introduce wrappers ProviderRequestUnbundled and
ProviderPropertiesUnbundled.
o Introduce ProviderProperties to collapse all the provider accuracy/
bearing/altitude/power plumbing (that is deprecated anyway).
o DELETE lots of code: DummyLocationProvider,
o Rename the (internal) LocationProvider to LocationProviderBase.
o Plumb pid, uid and packageName throughout
LocationManagerService#Receiver to support future features.

TODO: The FLP and Geofencer have a lot of room to be more intelligent
TODO: Documentation
TODO: test test test

Change-Id: Iacefd2f176ed40ce1e23b090a164792aa8819c55
riteria.java
eofence.aidl
eofence.java
LocationManager.aidl
LocationProvider.aidl
ocation.java
ocationManager.java
ocationProvider.java
ocationRequest.aidl
ocationRequest.java
2eeeec248a38ff33999c83f4b8d5bab7d50e79d2 18-Jul-2012 Nick Pelly <npelly@google.com> Improve Location object.

Add getElapsedRealtimeNano():

Currently Location just has getTime() and setTime() based on UTC time.
This is entirely unreliable since it is not guaranteed monotonic.
There is a lot of code that compares fix age based on deltas -
and it is all broken in the case of a system clock change. System
clock can change when switching cellular networks (and in some
cases when switching towers).

Document the meaning of getAccuracy():
It is the horizontal, 95% confidence radius.

Make some fields mandatory if they are reported by a LocationProvider:

All Locations returned by a LocationProvider must include at the
minimum a lat, long, timestamps, and accuracy. This is necessary
to perform fused location. There are no public API's for applications
to feed locations into a location provider so this should not cause
any breakage.

If a LocationProvider does not fill in enough fields on a Location
object then it is dropped, and logged.

Bug: 4305998
Change-Id: I7df77125d8a64e174d7bc8c2708661b4f33461ea
ocation.java
ocationManager.java
e0fd693c6098f59004f9e96ad75c058e26c337b0 11-Jul-2012 Nick Pelly <npelly@google.com> Improve geofencing: throttle location updates with distance to fence.

Previously any geofence (proximity alert) would turn the GPS on at full rate.
Now, we modify the GPS interval with the distance to the nearest geofence.
A speed of 100m/s is assumed to calculate the next GPS update.

Also
o Major refactor of geofencing code, to make it easier to continue to improve.
o Discard proximity alerts when an app is removed.
o Misc cleanup of nearby code. There are other upcoming changes
that make this a good time for some house-keeping.

TODO:
The new geofencing heuristics are much better than before, but still
relatively naive. The next steps could be:
- Improve boundary detection
- Improve update thottling for large geofences
- Consider velocity when throttling

Change-Id: Ie6e23d2cb2b931eba5d2a2fc759543bb96e2f7d0
LocationManager.aidl
ocationManager.java
9be0105fbc56eb1b1813bb7c5fe258a144867a43 22-Jun-2012 Scott Main <smain@google.com> docs: fix several links

Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
ackage.html
f1be6861daea57ba0a1595739a899d05229d6d15 15-May-2012 Nick Pelly <npelly@google.com> Enforce the minTime parameter in LocationManager#requestLocationUpdates

There is a long history in Android, on both GED and non GED devices
of GPS providers ignoring the minTime parameter making location updates
every second. The problem is usually poor GPS drivers that claim to
do scheduling but then do not.

By making the minTime parameter strict (instead of a hint) we can add
a CTS test to ensure that udpates to not occur too frequently. I believe
this is the desired behavior from apps. If apps want to take advantage
of more frequent updates when another application asks for those updates
then it can use the passive provider.

The CTS test for GPS has already been submitted (as part of CTS Verifier).

Bug: 6424983
Change-Id: I163b9e44ea7ab71530b86fc2282614e0150e90f1
ocationManager.java
3aef8e1d1b2f0b87d470bcccf37ba4ebb6560c45 20-Dec-2011 Joe Fernandez <joefernandez@google.com> docs: Add developer guide cross-references, Project ACRE, round 4

Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
ocationListener.java
ocationManager.java
ackage.html
d73b79bb314dde86cf8ff9300fefc133b31841d1 13-Dec-2011 Makoto Onuki <omakoto@google.com> Cherry-picking Id45abeba and Ia065dec6 for MR1

-------------------------------------------------------
MCC detection fixes for CountryDetector

- Don't get and cache phone tpe at the initialization time. At this point
TelephonyManager is probably not ready yet.

- Refresh MCC whenever we get the service state changed callback, even when
the state hasn't actually changed, in order to make sure we get refresh
country properly when MCC changes.

- Also remove the initialization of mPhoneStateListener, which prevented us from
registering phone state listener properly.

- Also fix tests which were already failing.

Bug 5670680

-------------------------------------------------------
Add logging to country detector logic

This is for debugging purposes to verify the effects of
change Id45abeba1b1e843053ac2c946861b439ca568de4.

Bug: 5670680
Change-Id: I238d953484e2c8135f7dac70fce8662c8300a286
ountry.java
3746f2d91425e24b23ddf34f2b9afef3f3efc3e2 25-Jun-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use upper case country codes in Country.java

Previously external/libphonenumber accepted lower case
country codes (e.g. "us") but now it doesn't for performance reason.
Actually ISO 3166-1 doesn't allow lower cases, so we should not rely
on them.

Need to fix unit tests for PhoneNumberUtils, as it implicitly
relies on the previous behavior.

See also I3a3e6db84ed0d24290b1be19651fa9a82de4cc39

Bug: 4941319
Change-Id: If16f6531f274a0faf5e28724854409ca9b00a669
ountry.java
a550bdc84af70babb48091197bfb1b93d3671664 27-Apr-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use passive provider for location based country detection

Bug: 4345419
Change-Id: Ia3e071b97c6971538ea994fdee6029db928201d6
ocationManager.java
e23fc8ee13605dace4a7abcdf85caec639407786 29-Mar-2011 Amith Yamasani <yamasani@google.com> Fix the javadoc for LocationManager.requestSingleUpdate()

It was saying the same thing as requestLocationUpdates(), but it only provides a single update.

Change-Id: Ib677d40e050a82332df539a823cc677de1fcb4fd
ocationManager.java
f4f05b8f24183b9e0d6959fe8b71fb88543edd9b 07-Jan-2011 Scott Main <smain@google.com> Update package descriptions with editorial revisions.
Notably, this removes exessive info about resources
from the content package, because it's not a good location
and the info is avilable in the dev guide, but also
added some of the info to the Resources class description.

Change-Id: Ie78af26c9cec66314deb98e53078f48e16c08e70
ackage.html
2a32c493cead3913bc3cb50ff22c4af2b87dbfef 29-Sep-2010 Dianne Hackborn <hackbod@google.com> am cb51c0c7: am 3e94b94f: Merge "Remove old location classes." into gingerbread

Merge commit 'cb51c0c7b155a5141a51fc4d3e57792da7e89cc4'

* commit 'cb51c0c7b155a5141a51fc4d3e57792da7e89cc4':
Remove old location classes.
0f5eee0bf8fbdc7c770301f04a69bcf26864f951 29-Sep-2010 Dianne Hackborn <hackbod@google.com> Remove old location classes.

Change-Id: Ib7e883c64996a8bfaaa755d88b855e17e3442e26
rovider/GeocodeProvider.java
rovider/LocationProvider.java
537ce32c71284f7bef40371778926f34d41f277e 21-Sep-2010 Mike Lockwood <lockwood@android.com> am 24956d36: am 307aef01: Merge "LocationManager: Hide location provider and geocode provider APIs." into gingerbread

Merge commit '24956d36f46dd7be0b029a7b2b43c1020ae8a4c5'

* commit '24956d36f46dd7be0b029a7b2b43c1020ae8a4c5':
LocationManager: Hide location provider and geocode provider APIs.
e15735a9e0c0b1448b68f2d6b3247404fc1df417 20-Sep-2010 Mike Lockwood <lockwood@android.com> LocationManager: Hide location provider and geocode provider APIs.

Also rename Geocoder.isImplemented() to Geocoder.isPresent()

BUG: 3000738
BUG: 3001413

Change-Id: I56bb4e9a9c59f8b79de585eeb168f74c3ff1a853
Signed-off-by: Mike Lockwood <lockwood@android.com>
eocoder.java
eocoderParams.java
LocationManager.aidl
rovider/GeocodeProvider.java
rovider/LocationProvider.java
e746f03c6c8b8d0897d322ab524d545ace200fcd 14-Sep-2010 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of 53686433 to master

Change-Id: I27004dc464f5771d3205ae5757c6eccc5b16854d
7e9f4eb2608148436cef36c9969bf8a599b39e72 11-Sep-2010 Dianne Hackborn <hackbod@google.com> 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
LocationProvider.aidl
rovider/LocationProvider.java
59e61354801b378c074b85f0dea0da62481298c9 28-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> am d71021cb: am 0c731f99: Merge "Send broadcast intent when configured location providers change." into gingerbread

Merge commit 'd71021cb30bd20dabd6783f4235d5f245a7bd1a3'

* commit 'd71021cb30bd20dabd6783f4235d5f245a7bd1a3':
Send broadcast intent when configured location providers change.
0c5a04014d3833c9a82772a832d3bc6410fc52ac 27-Aug-2010 Brad Fitzpatrick <bradfitz@android.com> Send broadcast intent when configured location providers change.

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
ocationManager.java
a58a8751b4c2ce457f0082a0baaee61312d56195 13-Jul-2010 Bai Tao <michaelbai@google.com> Add new system service CountryDetector

a. The CountryDetector detects the country the user is in
in order of mobile network, location, sim card or locale.
It will be used by contact and contact provider.

b. All added APIs are hidden at this stage.

Change-Id: I4ba278571ffb6ab6ded0996d4f440a18534f8ed4
ountry.aidl
ountry.java
ountryDetector.java
ountryListener.java
CountryDetector.aidl
CountryListener.aidl
f4d207b1c2212d6e9adc3e7954a8d14c6b9abc51 17-Jul-2010 Mike Lockwood <lockwood@android.com> Don't throw an exception from isProviderEnabled and getLastKnownLocation

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>
ocationManager.java
8900c32986eb9b06f30ecbe6709857fd2cc7b576 23-Jun-2010 Mike Lockwood <lockwood@android.com> andriod.location.Criteria: Simplify new location criteria APIs a bit.

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>
riteria.java
1e11e95f61510ad600b52e2b24c927cada8c2ee4 24-May-2010 Mike Lockwood <lockwood@google.com> Merge "Add Geocorder.isImplemented()" into kraken
01ac80b715881db22bde8b31633dd8a4dc375389 22-May-2010 Mark Vandevoorde <mtv@google.com> Add Geocorder.isImplemented()

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
eocoder.java
LocationManager.aidl
965b3d2b84c1ac9ed38c56f818e4f0aae9e138ac 21-May-2010 Mike Lockwood <lockwood@android.com> Fix broken Javadoc links

Change-Id: I6896d6ec16b522e9e63776c0992ef55a6db82d50
Signed-off-by: Mike Lockwood <lockwood@android.com>
rovider/GeocodeProvider.java
rovider/LocationProvider.java
71677f84e7705aa48b04829538b954a13cd11dec 21-May-2010 Mike Lockwood <lockwood@android.com> Unhide new location manager APIs:

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>
riteria.java
eocoderParams.java
ocationManager.java
rovider/GeocodeProvider.java
rovider/LocationProvider.java
03ca216ac19ea4e7afcb183c20c7c780f0d97756 01-Apr-2010 Mike Lockwood <lockwood@android.com> 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>
riteria.java
LocationManager.aidl
LocationProvider.aidl
ocationManager.java
ocationProvider.java
rovider/LocationProvider.java
e88ae544e3e54958dfb6e866d4444f7f7b5d2d68 10-May-2010 The Android Open Source Project <initial-contribution@android.com> am b6f0cbdc: merge from open-source master

Merge commit 'b6f0cbdcbb566368ebe0468f61de024f644db6e1' into kraken

* commit 'b6f0cbdcbb566368ebe0468f61de024f644db6e1':
Include the API level 4 fields in the Parcel.
b6f0cbdcbb566368ebe0468f61de024f644db6e1 10-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: Ia4cbea9d94b2ff34fc8ce97c1fe35ca5898d6c1c
a3d2d769833c7b796d073fb4002efe21142a7dc4 15-Apr-2010 Mike Lockwood <lockwood@android.com> GpsStatus: Bounds check PRN to avoid array indexing exceptions.

Change-Id: Iea8b525dd8681f32cb7ce7415dad0ec665d9016d
Signed-off-by: Mike Lockwood <lockwood@android.com>
psStatus.java
00b74270c9f136a8727c5f6cda0997a3a905f385 26-Mar-2010 Mike Lockwood <lockwood@android.com> Move files internal to LocationManagerService from framework.jar to services.jar

Change-Id: Iebbfc49b8300ab59730733efdf489ec87ea45a25
Signed-off-by: Mike Lockwood <lockwood@android.com>
ocationManager.java
ocationProviderInterface.java
3c8fbdf5dd19fad0b3006557716ee1026d7d5899 04-Jan-2010 Fred Fettinger <fred.fettinger@motorola.com> location: dump LocationProvider internal state

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>
LocationProvider.aidl
ocationProviderInterface.java
rovider/LocationProvider.java
689e449b244703335a27b076133377a192d6e36d 03-Mar-2010 Mike Lockwood <lockwood@android.com> Check for null provider in LocationManager.getProviders()

Change-Id: I294ce0b1f364cfdf956ac55260f9d40f0704b5f7
BUG: 2485977

Signed-off-by: Mike Lockwood <lockwood@android.com>
ocationManager.java
8754be5cac3aca54f83e2eb2c199bc01e934034e 03-Mar-2010 Mike Lockwood <lockwood@android.com> Hide GeocoderParams class from public API.

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>
eocoderParams.java
a4903f254b4711c8fc0ac5f7e3d605f4dce34f35 17-Feb-2010 Mike Lockwood <lockwood@android.com> Add passive location provider.

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>
LocationManager.aidl
ocationManager.java
ocationProvider.java
rovider/LocationProvider.java
d03ff94fe58045b5bd1dd783fb98026778a4265d 09-Feb-2010 Mike Lockwood <lockwood@android.com> Clean up interface between LocationManagerService and the location providers:

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>
LocationManager.aidl
LocationProvider.aidl
ocationProviderInterface.java
628fd6d9c11ed9806abebf34bc986247c106328f 26-Jan-2010 Mike Lockwood <lockwood@android.com> Network Location unbundling:

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>
LocationManager.aidl
ocationManager.java
ocationProviderImpl.java
rovider/GeocodeProvider.java
rovider/LocationProvider.java
56fcd69b14610e5ae7fc08f285c7b57585723c5a 01-Feb-2010 Mike Lockwood <lockwood@android.com> Remove unused method LocationProviderImpl.isEnabled().

This should have been removed in my previous change.

Change-Id: I3a080888f995e77a61e3ebf1c194ccd65686af1e
Signed-off-by: Mike Lockwood <lockwood@android.com>
ocationProviderImpl.java
2cd543aad5cc38fb3e7158f1cc5080c7e9ff5d24 01-Feb-2010 Mike Lockwood <lockwood@android.com> Remove ILocationProvider.isEnabled() binder call and use cached value instead.

Change-Id: Id6a9f6d2e2f5cc5810a2beeb0f869f06e2d18860
Signed-off-by: Mike Lockwood <lockwood@android.com>
LocationProvider.aidl
ocationProviderImpl.java
e6ec57727e2da14a9027293858d97a84b08768b1 20-Jan-2010 Paul Watts <paulcwatts@gmail.com> Include the API level 4 fields in the Parcel.
ddress.java
52eab1c7601862d94c90366878088e072b1c6017 11-Jan-2010 Mike Lockwood <lockwood@android.com> Unhide LocationManager APIs needed for unbundled location providers.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ocationManager.java
f5d95cbc1a6974afeb4d3155bdaa8dae55722a39 08-Jan-2010 Joe Onorato <joeo@android.com> less log spew
ocationManager.java
be5ed378d94d9df6ab7588da13a004849cffe03b 07-Jan-2010 Mike Lockwood <lockwood@android.com> Fix broken Javadoc link.

Change-Id: Ia72dc3dccf95f95c6847eb52d8b210ed774a804b
Signed-off-by: Mike Lockwood <lockwood@android.com>
ocationProviderImpl.java
9d2f7a7d66d1802f2f25ad6a556063ea9340f8c8 06-Jan-2010 Mike Lockwood <lockwood@android.com> 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
ocationManager.java
ocationProviderImpl.java
34901409a404c8c66914c5a8ad0f29b1bcde0e78 04-Jan-2010 Mike Lockwood <lockwood@android.com> 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>
eocoder.java
eocoderParams.aidl
eocoderParams.java
GeocodeProvider.aidl
LocationManager.aidl
ocationManager.java
9db3d07b9620b4269ab33f78604a36327e536ce1 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
eocoder.java
psStatus.java
GpsStatusListener.aidl
LocationManager.aidl
LocationProvider.aidl
NetInitiatedListener.aidl
ocationManager.java
03d246779ea65fc2bd10d0b4f32620f45211133a 08-Oct-2009 Mike Lockwood <lockwood@android.com> 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>
LocationProvider.aidl
9aa1fa2d3612d1d8ffeae6552d65669f4ca194d9 01-Sep-2009 Mike Lockwood <lockwood@android.com> LocationManagerService: Remove caching of last known locations to flash.

Change-Id: Ibbab20a7c48823fb74c2e175824f55248f25bf8a
Signed-off-by: Mike Lockwood <lockwood@android.com>
ocationManager.java
22d1f9fb23015471de6af1a70e40fb5c82ecb665 19-Aug-2009 Danke Xie <dankex@qualcomm.com> gps: Network initiated SUPL

Initial contribution from Qualcomm.

Signed-off-by: Mike Lockwood <lockwood@android.com>
LocationManager.aidl
NetInitiatedListener.aidl
ocationManager.java
640992dec96fa88f0bbd42c6a02902640a000b35 06-Aug-2009 Mike Lockwood <lockwood@android.com> gps: Unhide GpsStatus.NmeaListener interface for receiving NMEA sentences

Signed-off-by: Mike Lockwood <lockwood@android.com>
psStatus.java
ocationManager.java
b16e7800be4f879135f239f1f8f586f3712df01e 06-Aug-2009 Mike Lockwood <lockwood@android.com> 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>
psStatus.java
GpsStatusListener.aidl
ocationManager.java
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ddress.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
LocationCollector.aidl
LocationManager.aidl
LocationProvider.aidl
ocationManager.java
334a67740c9f7f35fa9ee93cf0f8051d41ce2d7a 14-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am b82759a0: Merge change 6906 into donut

Merge commit 'b82759a051f55852dabe201ad3354ea9b7b2979d'

* commit 'b82759a051f55852dabe201ad3354ea9b7b2979d':
location: Add sub-locality, sub-thoroughfare and premises fields to Address class
8cd1084ed1138b9c8b7ff5370ab404c8bb559dd2 13-Jul-2009 Mike Lockwood <lockwood@android.com> 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>
ddress.java
55ed4914de69f30c1067bf1894b193f89dfd53b3 09-Jun-2009 Kenny Root <kenny@the-b.org> Fix typo in Javadoc for LocationManager.GPS_PROVIDER
ocationManager.java
9b1e1400df4c6c4b69985f164097f0c842dd796f 21-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 8c690ea9: Merge change 2182 into donut

Merge commit '8c690ea9976d644db3c96eddbbbd2d50eac56913'

* commit '8c690ea9976d644db3c96eddbbbd2d50eac56913':
location: Replace ILocationCollector interface with new ILocationProvider method
fd6e5f0dda50e113db4ccc55338b6c4f09da37a4 21-May-2009 Mike Lockwood <lockwood@android.com> 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>
LocationCollector.aidl
LocationManager.aidl
LocationProvider.aidl
ocationManager.java
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ummyLocationProvider.java
eocoder.java
psStatus.java
GeocodeProvider.aidl
GpsStatusProvider.aidl
LocationCollector.aidl
LocationManager.aidl
LocationProvider.aidl
ocationManager.java
ocationProvider.java
ocationProviderImpl.java
9e355606720858edf72c16cef4dbef8c15814d7a 12-May-2009 Mike Lockwood <lockwood@android.com> am 2677d0d: LocationManager: Fix a Javadoc comment.

Merge commit '2677d0da34acad93cd7f164d587ccc30c46facc6'

* commit '2677d0da34acad93cd7f164d587ccc30c46facc6':
LocationManager: Fix a Javadoc comment.
2677d0da34acad93cd7f164d587ccc30c46facc6 12-May-2009 Mike Lockwood <lockwood@android.com> LocationManager: Fix a Javadoc comment.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ocationManager.java
158b2129cfd50105305ca0c170163d59e9804106 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> am f792fc5: Merge change 1150 into donut

Merge commit 'f792fc59c18aa470eb44cc596d5774115e2d9d02'

* commit 'f792fc59c18aa470eb44cc596d5774115e2d9d02':
location: Location Manager wakelock cleanup
0528b9b26a9d64ba43acd0e334638303d514b8eb 07-May-2009 Mike Lockwood <lockwood@android.com> 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>
LocationProvider.aidl
f431b4b3ee636a0ba62f462fa51fc3e5ce09c734 06-May-2009 Android (Google) Code Review <android-gerrit@google.com> am c770ed8: Merge change 1069 into donut

Merge commit 'c770ed8a6bb7614ed4a85a672e4e6830bed19a95'

* commit 'c770ed8a6bb7614ed4a85a672e4e6830bed19a95':
GpsStatus: Increase NUM_SATELLITES to 255 for future compatibility.
b7c4ae91d95cfdb9a87eca1f543ddb2fa38a7c45 06-May-2009 Mike Lockwood <lockwood@android.com> 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>
psStatus.java
e90c0da675a945a86ac06098c1f5694ddc4efb23 01-May-2009 Mike Lockwood <lockwood@android.com> am 275555c: location: Add support for location providers outside of the

Merge commit '275555c8eb3fb5df6e7320873b88b77cdde85a9e'

* commit '275555c8eb3fb5df6e7320873b88b77cdde85a9e':
location: Add support for location providers outside of the system process.
275555c8eb3fb5df6e7320873b88b77cdde85a9e 01-May-2009 Mike Lockwood <lockwood@android.com> 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>
LocationManager.aidl
ocationManager.java
ac7a3de471da65ae3111560a1404c12985c8741f 01-May-2009 Mike Lockwood <lockwood@android.com> am 15e3d0f: location: Use ILocationProvider Binder interface for all loc

Merge commit '15e3d0f082d551f8819fbe4b0d502cc108627876'

* commit '15e3d0f082d551f8819fbe4b0d502cc108627876':
location: Use ILocationProvider Binder interface for all location providers.
15e3d0f082d551f8819fbe4b0d502cc108627876 01-May-2009 Mike Lockwood <lockwood@android.com> 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>
GpsStatusProvider.aidl
LocationProvider.aidl
73ee32d41b4874f650be20f2f3e3c0c7d172e33c 29-Apr-2009 Mike Lockwood <lockwood@android.com> am b8adcad: location: Remove obsolete fake provider support.

Merge commit 'b8adcad61d9225ecdabde1a01b73455f484cbed7'

* commit 'b8adcad61d9225ecdabde1a01b73455f484cbed7':
location: Remove obsolete fake provider support.
05d024329604bb92dca02f1ecdff4876d6d7b28c 29-Apr-2009 Mike Lockwood <lockwood@android.com> am 79762a3: location: Move DummyLocationProvider.java and LocationProvid

Merge commit '79762a3ee34eb8be5549bcb183af844b6f19c266'

* commit '79762a3ee34eb8be5549bcb183af844b6f19c266':
location: Move DummyLocationProvider.java and LocationProviderImpl.java to the internal package.
093dda9dec68029278cdf28b2a2d92bc5cdedcbc 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 5fa1533: Merge change 482 into donut

Merge commit '5fa153302c1c7f179bfd6ddd301e7526b8c06de5'

* commit '5fa153302c1c7f179bfd6ddd301e7526b8c06de5':
location: Location Manager wakelock cleanup, phase 2
b8adcad61d9225ecdabde1a01b73455f484cbed7 28-Apr-2009 Mike Lockwood <lockwood@android.com> 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>
ocationManager.java
79762a3ee34eb8be5549bcb183af844b6f19c266 28-Apr-2009 Mike Lockwood <lockwood@android.com> location: Move DummyLocationProvider.java and LocationProviderImpl.java to the internal package.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ummyLocationProvider.java
ocationManager.java
ocationProvider.java
ocationProviderImpl.java
48f17518223a2917fd82195004fbb206cb9a05a3 23-Apr-2009 Mike Lockwood <lockwood@android.com> 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>
LocationManager.aidl
ocationManager.java
74008f608af0c567456d37e63d48643689388c74 23-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge donut into master
cddff7c3ce9ea4828f108a879b8d3a2d77076df9 22-Apr-2009 Jean-Baptiste Queru <jbq@google.com> Merge commit 'goog/readonly-p4-donut' into HEAD

Conflicts:
location/java/android/location/Geocoder.java
85ae1b1d5364c66f7dd8de26890287806bfdb63f 22-Apr-2009 Xavier Ducrohet <> AI 147295: am: CL 147294 am: CL 147290 Update Geocoder javadoc to reflect the need for a backend service.
Original author: xav
Merged from: //branches/cupcake/...
Original author: android-build

Automated import of CL 147295
eocoder.java
4193558f232c8961039b9ae6f875e3303b8e5d30 22-Apr-2009 Xavier Ducrohet <> 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
eocoder.java
71fd04616ba5b63f2ba9431e5ad5acf547f5f74d 22-Apr-2009 Mike Lockwood <lockwood@android.com> Geocoder: Document behavior when no backend service is available.

Signed-off-by: Mike Lockwood <lockwood@android.com>
eocoder.java
e2b44c5aaff312fbb00e66dd42b8444938017672 21-Apr-2009 Mike Lockwood <lockwood@android.com> location: Location Manager wakelock cleanup, phase 1

Move cell and wifi lock from LocationManagerService to NetworkLocationProvider

Signed-off-by: Mike Lockwood <lockwood@android.com>
LocationProvider.aidl
ocationProviderImpl.java
2f82c4eb0b4d315481ad79725ad6f52c5ec69685 17-Apr-2009 Mike Lockwood <lockwood@android.com> 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>
LocationProvider.aidl
ocationProviderImpl.java
a55c321329ae52a2db7a4f2bd36673a20b8f271d 15-Apr-2009 Mike Lockwood <lockwood@android.com> location: Move geocoding support from ILocationProvider to a new interface.

Signed-off-by: Mike Lockwood <lockwood@android.com>
GeocodeProvider.aidl
LocationManager.aidl
LocationProvider.aidl
c1e8aa4c448807fc3ee9d21e8b67bb886fa065aa 06-Apr-2009 Mike Lockwood <> AI 144664: am: CL 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
Original author: lockwood

Automated import of CL 144664
LocationCollector.aidl
LocationManager.aidl
LocationProvider.aidl
ocationProviderImpl.java
e932f7f2a47b770c636443d411436bd29cc4bb43 06-Apr-2009 Mike Lockwood <> 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
LocationCollector.aidl
LocationManager.aidl
LocationProvider.aidl
ocationProviderImpl.java
33aa27856f4aa1ad870de3552089973a9afad6ca 05-Apr-2009 Mike Lockwood <> AI 144600: am: CL 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
Original author: lockwood

Automated import of CL 144600
ocationProviderImpl.java
66eb4acb89a5e54bdb5b9973e9a1c1b9853d154d 05-Apr-2009 Mike Lockwood <> 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
ocationProviderImpl.java
f6f9792d44ae9242981dab5ecc1ebf40190aada6 03-Apr-2009 Mike Lockwood <> AI 144453: am: CL 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
Original author: lockwood

Automated import of CL 144453
LocationManager.aidl
ocationProviderImpl.java
4e50b78bda9cd58be61581d2886c88ff6348a1c1 03-Apr-2009 Mike Lockwood <> 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
LocationManager.aidl
ocationProviderImpl.java
bd2a7126e5b42e022228c6aac25e95b671e5263b 03-Apr-2009 Mike Lockwood <> AI 144415: am: CL 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
Original author: lockwood

Automated import of CL 144415
LocationManager.aidl
ocationManager.java
9637d474899d9725da8a41fdf92b9bd1a15d301e 03-Apr-2009 Mike Lockwood <> 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
LocationManager.aidl
ocationManager.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ddress.aidl
ddress.java
riteria.aidl
riteria.java
ummyLocationProvider.java
eocoder.java
psSatellite.java
psStatus.java
GpsStatusListener.aidl
LocationListener.aidl
LocationManager.aidl
ocation.aidl
ocation.java
ocationListener.java
ocationManager.java
ocationProvider.java
ocationProviderImpl.java
ackage.html
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ddress.aidl
ddress.java
riteria.aidl
riteria.java
ummyLocationProvider.java
eocoder.java
psSatellite.java
psStatus.java
GpsStatusListener.aidl
LocationListener.aidl
LocationManager.aidl
ocation.aidl
ocation.java
ocationListener.java
ocationManager.java
ocationProvider.java
ocationProviderImpl.java
ackage.html
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
ocation.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
eocoder.java
psSatellite.java
psStatus.java
psStatusListener.java
LocationManager.aidl
ocationManager.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ddress.aidl
ddress.java
riteria.aidl
riteria.java
ummyLocationProvider.java
eocoder.java
psStatusListener.java
GpsStatusListener.aidl
LocationListener.aidl
LocationManager.aidl
ocation.aidl
ocation.java
ocationListener.java
ocationManager.java
ocationProvider.java
ocationProviderImpl.java
ackage.html