• 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 >>>)
5b630af85724885d32b210e6032f1bfd79a4a568 11-May-2018 Wyatt Riley <wyattriley@google.com> Simplify Javadoc for easier parsing.

Change-Id: I48abfa8eb8ccfd031d2364ef9acfa39d4bec4cb4
Fixes: 76874150
Test: Builds & comment-only
nssStatus.java
d5a1bb621a05d414ed630643898f98081893f71b 24-Apr-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Update Java doc of GnssMeasurementEvent#STATUS_NOT_ALLOWED" into pi-dev
e048bab28104d03dffb628277f07b2d83a8dbeb9 05-Apr-2018 Yu-Han Yang <yuhany@google.com> Update Java doc of GnssMeasurementEvent#STATUS_NOT_ALLOWED

Bug: 74218424
Test: N/A
Change-Id: Icf7fae3b252ce44d3a82cdce06b4dd78026f6fb7
nssMeasurementsEvent.java
f80809ffd7b6ea8eb120ce5ccb343582c2757ea0 04-Apr-2018 Philip P. Moltmann <moltmann@google.com> Expose TestAPIs needed by GtsOsTestCases

Test: atest GtsOsTestCases on pi-dev:taimen and oc-mr1:sailfish
Bug: 77497338
Change-Id: I5de976991a857bfbed2faa943822af542601fa8b
ocationManager.java
2a9409e91457c175be5ee36d3e676a70dc52bdca 21-Mar-2018 Maggie <yiranwang@google.com> Fix test location provider bug

LocationManager.isProviderEnabled should return true for a test provider if:
1. A test provider is added through LocationManager.addTestProvider
2. The test provider is enabled through LocationManager.setTestProviderEnabled

This fix changes the logic if LocationManager.isProviderEnabled and
LocationManager.setProviderEnabledForUser to allow users get/set test
location provider status.

Bug: 72647543
Bug: 77238940
Test: Manual
Test: run cts --module CtsLocationTestCases -t android.location.cts.LocationManagerTest
Change-Id: Ib241e5b487fd873c1fa0d7ac34b82b8592fc0906
LocationManager.aidl
ocationManager.java
a106a1a6b4dbcb087ff0833f11d23300fd9bcf78 23-Mar-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Deprecating unused fields from GnssMeasurement" into pi-dev
aa8cbab151f4df89e3e2c7f3df36b005e01d8558 22-Mar-2018 Wyatt Riley <wyattriley@google.com> Merge "GNSS Model Name constant string and comment updates" into pi-dev
4d6dc48d242a643acd846b4892803c8295740b64 22-Mar-2018 TreeHugger Robot <treehugger-gerrit@google.com> Merge changes I7f413e38,I20aba7e9 into pi-dev

* changes:
Remove FlpHardwareProvider
Create the stubs lib for com.android.location.provider
b2637dac492e916c0a91982a7f2a48d84d9f7fae 21-Mar-2018 Maggie Wang <yiranwang@google.com> Merge "Fix location settings bug on non-GPS devices" into pi-dev
83e03f55597a69bf1e1f2df2cd24e83e84d21914 16-Mar-2018 Maggie <yiranwang@google.com> Fix location settings bug on non-GPS devices

The old location_mode API hardcoded gps and network location provider when it enables/disables location, without checking whether the providers exist on device.
It causes bugs when used together with the new
LocationManager.setLocationEnabled() APIs.

This fix modified LocationManager.setLocationEnabled() API when user
tries to disable location on device. Besides turning off the providers
from LocationManager.getAllProviders(), it also turns off GPS and
network provider explicitly.

To reduce times of binding to the service and chance of race condition, we also
modified SettingsProvider.updateLocationProvidersAllowedLocked() to
accept a string param with multiple location providers to be
enabled or disalbed at the same time.

Bug: 73261572
Test: Manual on chromebook
Change-Id: I2e59e0d4cf395b98cd481af5d7f3c762274d7826
ocationManager.java
4cc3a1c056f69ac4da1dc5055c36b7357e9f673c 08-Mar-2018 Jiyong Park <jiyong@google.com> Remove FlpHardwareProvider

After Treble's FLP merge into GNSS HAL, the FlpHardwareProvider is just
an empty shell. Removing FusedLocation and/or Flp + Hardware classes
altogether.

Bug: 35726697
Test: m -j
Test: Open Google Map and then walk around. The dot moves as I walk.
Change-Id: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8
FusedProvider.aidl
b640517a2e84c53753ff62b5715a7e3efdf42690 20-Mar-2018 Yu-Han Yang <yuhany@google.com> Fix docs for LocationRequest#setLowPowerMode()

Bug: 74218111
Change-Id: Ib77a58c21e2cc3601221c8b5cc13eb416dccfbc9
Fixes: 74218111
Test: N/A
ocationRequest.java
4cbcb411b1198f14fbd41a231cc7fb738c958f1b 24-Jan-2018 Wyatt Riley <wyattriley@google.com> Deprecating unused fields from GnssMeasurement

Deprecating CarrierPhase, that are redundant
with AccumualtedDeltaRange fields (that remain in place)
Adding additional enum per partner feedback

Bug: 71908529
Bug: 72405353
Test: GnssLogger on device GnssMeasurement screen & file

Change-Id: I524e47aa9420d83d87b22334378e0c9a800cf179
nssMeasurement.java
49097c0b99c0fda9f5343406d28027a726bb94ee 15-Mar-2018 Wyatt Riley <wyattriley@google.com> GNSS Model Name constant string and comment updates

Addressing API review feedback
Removed string, returning Null instead
Updated comments

Bug: 73951626
Test: Runs on device w/GnssLogger
Change-Id: I54d05a7ae000e9ff52ec1f6646f83aed7de81b94
ocationManager.java
2e17d3f4f8e8775b69cd0495ba4100e8d5e57fee 02-Mar-2018 Maggie <yiranwang@google.com> Remove javadoc for return value

LocationManager#setLocationEnabledForUser has documentation for return value even though it's void. Fix the bug by removing the return javadoc.

Bug: 73751024
Test: Manual
Change-Id: I785e9f08674f472fe0f248972d5cc6055e64412a
ocationManager.java
98af2e4fec8c417f4a674a99f4b40f6f248d6a83 16-Feb-2018 Jeff Sharkey <jsharkey@android.com> Add RequiresFeature annotation.

Certain APIs require that a device have a specific feature to operate
correctly, so start annotating them.

Test: builds, boots
Bug: 72284763
Change-Id: Ie2f30284bdfdb6acc4067f434eba3b5433837606
Exempt-From-Owner-Approval: simple annotations
ocationManager.java
9ca162532e879ee8645ba8d4485f4b1badb8f73a 08-Feb-2018 Maggie <yiranwang@google.com> Check for null LOCATION_PROVIDERS_ALLOWED value

After reading LOCATION_PROVIDERS_ALLOWED value from settings provider,
check for null first.

Bug: 72711160
Bug: 72732478
Test: Manual
Change-Id: I813e40f11f078d80c4cc20986f030fdadfe433c6
ocationManager.java
6fdf781aa78a3f9364d9f5c40039e8010fad957c 06-Feb-2018 Maggie Wang <yiranwang@google.com> Merge "LocationManager constants for footer injector"
589f038d63d848b8d131b1888a479957da91b8b8 31-Jan-2018 Maggie <yiranwang@google.com> LocationManager constants for footer injector

Add broadcast actions and metadata names in LocationManager for
injecting footers under Settings -> Security & Location -> Location.

Bug: 70350519
Test: Manual
Change-Id: I4d187a54cd87d8964d84bfef44515ac9ef77db29
ocationManager.java
c84d42e7d6eb63781d4ad7b39171554d5fa07e97 01-Feb-2018 Lifu Tang <lifu@google.com> Remove unused methods from LocationManagerService

Test: Built and Manually tested
Change-Id: I7e13d51864d86054eb9394704927dc4d449c0b13
LocationManager.aidl
7c30c68cc594e4e4d13dca6343b118f998f4eaff 26-Jan-2018 Lifu Tang <lifu@google.com> Move location-related code into client library

These first-party only methods can only be called by privileged
packages, and Settings.Secure already applies strict permission check to
them. Therefore moving the code into client library can save us from
unnecessary binder calls, and can also make checking the caller package
name much easier.

Test: Manual
Change-Id: I76a939a660357f87b01ff4ac07ec3f17093d3c41
ocationManager.java
aa080f96763a9d38f21fb33de93216cd207a5930 05-Jan-2018 Maggie <yiranwang@google.com> Deprecate location modes

1. Mark public fields as deprecated: LOCATION_MODE, LOCATION_MODE_HIGH_ACCURACY, LOCATION_MODE_SENSORS_ONLY,
LOCATION_MODE_BATTERY_SAVING, LOCATION_MODE_OFF.

2. Add new public methods to LocationManager:
setLocationEnabled(boolean)
isLocationEnabled()
setLocationProviderEnabled(String, boolean)

3. Remove LOCATION_PREVIOUS_MODE and constant
LOCATION_MODE_PREVIOUS. Refactor code that references
LOCATION_MODE_PREVIOUS to use LocationManager.setLocationEnabled or
LOCATION_MODE_HIGH_ACCURACY.

4. Mark deprecated fields and methods as removed: LOCATION_PROVIDERS_ALLOWED, setLocationProviderEnabled(), isLocationProviderEnabled()

5. Refactor logic in Settings app and Quick Settings to call
LocationManager.setLocationEnabled() instead of setting location mode.

Bug: 70990911
Test: Manual
Change-Id: Ia49b385f8b6a358b62291983eb0146af0ecf8e02
LocationManager.aidl
ocationManager.java
8671feab630c1938691f44502ff7be9c7b03e7c4 09-Dec-2017 Ram Periathiruvadi <ramperry@google.com> Add a hidden API to inject location.

New API allows system clients with LOCATION_HARDWARE and
ACCESS_FINE_LOCATION to inject a location to the Location Manager. This
is useful in products like Auto, where the location needs to be cached
across reboots.

Bug: b/64125396
Test: Foll. were tested:
1. location can be injected when lastLocation is not available
2. location cannot be injected when lastLocation is already available
Also, tested location availability on different devices for sanity.
Change-Id: I1fd060caafed0431074ae64439ac52e99e0d6032
LocationManager.aidl
ocationManager.java
d87cf9176237bd3233edded7dbb9276226d764dc 05-Dec-2017 Wyatt Riley <wyattriley@google.com> Providing GNSS Model Name & Year

GNSS Model Year moves from a TestApi to public
GNSS Model Name is connected from a new .hal to public

Bug: 38003769
Test: Builds, works with CTS & Test App on Pixel 2
Change-Id: I3e0a56c60e1a4d298e120df11ffd37b06ecea050
LocationManager.aidl
ocationManager.java
48f1a647655f3479bc655d2c3c4873c6aa9b712c 11-Nov-2017 gomo <gomo@google.com> Duty Cycling and Low Power Mode GNSS feature implementations

Implementaion of 2 GNSS Android-P features:
- The Duty Cycling API to enable high accuracy applications development
- The Low Power Mode GNSS API to save power when indoor

Bug: 64009176
Test: Existing unit tests still pass.
Change-Id: I3ba3b86a635a54927c694fdd66a038757e843937
nssMeasurementsEvent.java
ocalListenerHelper.java
ocationRequest.java
fab2e2cbaab77d85c708ede54029b46d938f8e66 21-Nov-2017 Maggie <yiranwang@google.com> Send MODE_CHANGING broadcast before location mode change.

When location mode is about to change in Settings app, send
MODE_CHANGING broadcast.

Fixes: 28057031
Test: manual
Test: robotests
Change-Id: Id26325520211a8934c1670dfcd12e8d339766308
ocationManager.java
bb6468ba73b76863d16108fb91010b2254649f30 01-Nov-2017 TreeHugger Robot <treehugger-gerrit@google.com> Merge "Fixing javadoc typo from gerrit 3027804"
818347f0564467b24324d8d79b0cc21fd7a95dec 31-Oct-2017 Wyatt Riley <wyattriley@google.com> Fixing javadoc typo from gerrit 3027804

Bug: 65369254
Test: Automated build/sanity only - just a comment change
Change-Id: I819b2f11f91454719269927ae93382253170938e
ocation.java
e10c61a5f7e18ac9b1dccb3df27e4983b1a4b0ea 23-Oct-2017 Wyatt Riley <wyattriley@google.com> Clarifying GnssClock field

Based on partner feedback

Test: Doc only - build-check
Change-Id: I30ba539f5baad69aeb6973167067265b22964cc4
nssClock.java
252e0908bd729eaf41c6d53af0ea8111bd9464d7 06-Oct-2017 Wyatt Riley <wyattriley@google.com> Location & GNSS Measurement Documetation Fixes

Clarifying documenation of SNR, Vertical Accuracy, and
Accumulated Delta Range.

Change-Id: I2684c57e0f4aff2925549e01cbe4f546910f93e0
Fixes: 65369254
Test: Builds (comments only)
nssMeasurement.java
ocation.java
70e34ce4c57f0bce498bb05b91d6a45cb87a8c7b 25-Aug-2017 Wyatt Riley <wyattriley@google.com> Correcting Speed and Bearing Uncertainty Doc

Test: Build by treehugger, code review as comments only.
Change-Id: Ib072bf42c51af8e91ae7554097e839316956dea1
ocation.java
43336af356148a22c85066d666d2a037b771b9df 09-Aug-2017 Wyatt Riley <wyattriley@google.com> Remove misleading Location Accuracy comment

Test: Treehugger to verify build (comment only)
Change-Id: Iea3c473219e21a58b01e613d14700d6972f5cce6
ocation.java
7f2cfed525e806efd7a9ba658b54583579f27fe5 28-Jun-2017 Wyatt Riley <wyattriley@google.com> Ensure complete GnssStatus construction

Using volatile reference & final member pattern.

Bug: 37517406
Test: basic GNSS & GPS Status output works
Change-Id: I5650149e0a3f63a52734c8f044d38f3956819921
nssStatus.java
ocationManager.java
28f6dc951223a017f9abc90599662cb3f4995ad1 06-Jun-2017 Jeff Sharkey <jsharkey@google.com> Merge "Give Doclava our manifest; more permission docs." into oc-dev am: 65d4cbba37
am: 67cb5f5210

Change-Id: Ic4c30cdb8bbfda5b3703eb3c7c36c1bf8ab3a216
ec68b46bc85b2317053da7e2933876fc6e51ac2f 06-Jun-2017 Jeff Sharkey <jsharkey@google.com> Merge "Annotate @SystemApi with required permissions." into oc-dev am: c1406978a4
am: 7a2e4a8486

Change-Id: Ib629e25dbf047c110feaf03e4ff744b5c6df9aeb
bfc4fcde9f756337fc8d0867ff04549b08688fff 06-Jun-2017 Jeff Sharkey <jsharkey@android.com> Give Doclava our manifest; more permission docs.

We've seen some @SystemApi methods protected with non-system
permissions, so give Doclava the platform AndroidManifest.xml so it
can parse the actual permission protection levels to look for APIs
that are letting in non-system apps.

Also document more @SystemApi permissions.

This is purely a docs change; no logic changes are being made.

Test: make -j32 update-api
Bug: 62263906
Change-Id: Ie0f0a5fb0033817bcc95060f2183a52ae4ae7b06
ocationManager.java
d86b8fea43ebb6e5c31691b44d8ceb0d8d3c9072 03-Jun-2017 Jeff Sharkey <jsharkey@android.com> Annotate @SystemApi with required permissions.

Most @SystemApi methods should be protected with system (or higher)
permissions, so annotate common methods with @RequiresPermission to
make automatic verification easier.

Verification is really only relevant when calling into system
services (where permissions checking can happen on the other side of
a Binder call), so annotate managers with the new @SystemService
annotation, which is now automatically documented.

This is purely a docs change; no logic changes are being made.

Test: make -j32 update-api && make -j32 offline-sdk-docs
Bug: 62263906
Change-Id: I2554227202d84465676aa4ab0dd336b5c45fc651
ountryDetector.java
ocationManager.java
455c3037c14b3fc4693c75b87cc57423cc8318c9 11-May-2017 Wyatt Riley <wyattriley@google.com> Fix typo in Galileo TOW flag

Test: Builds, code inspect it's just comments.
Change-Id: I014f9a418f8d2845fbdc83f79298fe9f604e5f80
nssMeasurement.java
2171781a7ca12f6a8c9093a682210d0eb489b628 28-Apr-2017 Yipeng Cao <tccyp@google.com> Fixed the hasCarrierFrequency flag in GnssStatus (part1)

Bug: 37757180
Fixes: 37757180
Test: 1. built img locally and flash the device
make -j 40
vendor/google/tools/flashall
2. run cts
cts-tradefed run cts -m CtsLocationTestCases --test
android.location.cts.GnssStatusTest

Change-Id: I5046dbe28518812192de20daca91a8511a1558c0
nssStatus.java
b87243cb43753c6f90d54afd3bc0839882742942 19-Apr-2017 Yu Liu <yudiliu@google.com> Remove newly added remove methods in Location and deprecate the old ones, this is the request from the android API council
Test: Existing unit tests still pass.
BUG: 36552859

Change-Id: Ib4cdcef90be3d5b3be329dd780bcb40275b89ef4
ocation.java
0e342e1fdb892529b9fbc073dbe18c8704af0355 29-Mar-2017 Yu Liu <yudiliu@google.com> Fix some issues came up from the reviews of the newly added APIs
Test: Existing unit tests still pass.
BUG: 36554361
Change-Id: I6c2dab2e0df7f8578f92c70907f45aa69909892c
nssMeasurement.java
nssStatus.java
681d71120041b769fb2ca3938f4016239ed744fe 24-Feb-2017 Soonil Nagarkar <sooniln@google.com> Throttle GNSS measurements and GNSS navigation
messages in background (completely).

Test: manual
Change-Id: I32e3572c5ce32cd39b22e62f6b3499d292e1badc
LocationManager.aidl
cf879db3666523404ff7e15e77b11434732b4a06 12-Jan-2017 Wyatt Riley <wyattriley@google.com> GNSS Batching - Default Implementation

Connections from .hal layer, through to
Location Manager System APIs

Bug: 31974439
Test: builds, boots, ordinary GNSS & new GNSS batching
basic functional checks on Marlin
Change-Id: If75118c27b5ed34cfc16c9f817b60a3be5485095
atchedLocationCallback.java
atchedLocationCallbackTransport.java
nssNavigationMessage.java
BatchedLocationCallback.aidl
LocationManager.aidl
ocationManager.java
d1e856cb9e664c6167141b97e0aa0830c898083a 20-Jan-2017 gomo <gomo@google.com> Make the comments of some of the raw GNSS measurements more clear.

Test: Existing unit tests still pass.

Change-Id: I8c0a506b2c9f7979f8cdb33c9e65db53ff1c4b2b
nssMeasurement.java
nssStatus.java
127ba323d9ae2107ed58039f24ffade2c27ff7c9 16-Jan-2017 gomo <gomo@google.com> Unhide public methods for API Council review.
Test: Existing unit tests still pass.
Change-Id: I49b81f99e4e8d8300fbc6b3d74f336d4f291d171
nssMeasurement.java
nssStatus.java
ocation.java
4402af6be9de4782d218170203033618f079551d 11-Jan-2017 gomo <gomo@google.com> GNSS O Features according to go/o-gps-hal

Added "Tow Known" as a possible gnss measurement state. As well added Automatic Gain Control (AGC)
to allow jammer detection. Also added the GNSS carrier frequeny to SV status. Also added vertical
GPS position uncertainty, speed uncertainty and bearing uncertainty. Also propagate locaton new
fields to geofence engine.
Test: Existing unit tests still pass.

Change-Id: I472b2fd2516cb7614877dea4bb054a34f50844dc
nssMeasurement.java
nssStatus.java
GnssStatusListener.aidl
ocation.java
ocationManager.java
a2bbfbcf8920ecec5700c1824b0436118cada5be 20-Dec-2016 Wyatt Riley <wyattriley@google.com> Removing @removed methods and constants

Several methods, plus a few hashmaps,
helper classes, and some constants
existed for an early builds
of NYC, and were marked @removed, and are
here finally removed.

Bug: 28208055
Change-Id: If650d83c0dc573e922342d09360ecf9a5bb0c98a
Fixes: 28208055
Test: GMaps, AndroiTS GPS Test, GnssLogger & CtsVerifier
All run fine on a Pixel
nssMeasurement.java
nssMeasurementsEvent.java
nssNavigationMessageEvent.aidl
nssNavigationMessageEvent.java
nssNmeaListener.java
nssStatus.java
nssStatusCallback.java
ocationManager.java
850c83e6da3b34a4eab804133420247fc9dbb8a1 09-Nov-2016 Jeff Sharkey <jsharkey@android.com> Move dump() to dumpAsync(), more oneway calls.

When calling out to dump services hosted by external apps, use
dumpAsync() to avoid hanging if the remote process is wedged.

Test: builds, boots, runs with minimal logs triggered
Bug: 32715088
Change-Id: I70aa2666ae21dae8f09ded2063bed359c0b210c5
FusedProvider.aidl
0a17db1cc5942ea000ca87bb72853de57a15ec64 04-Nov-2016 Jeff Sharkey <jsharkey@android.com> Detect non-oneway calls leaving system_server.

To protect system stability, any Binder calls leaving the
system_server must carefully be performed using FLAG_ONEWAY (or
the 'oneway' verb in AIDL) which prevents the call from blocking
indefinitely on the remote process.

In this CL, the system_server uses the new Binder.setWarnOnBlocking()
method to enable detection by default for all remote Binder
interfaces. It can also use Binder.allowBlocking() to allow
blocking calls on certain remote interfaces that have been
determined to be safe.

This CL adds the 'oneway' verb to several interfaces and methods
where it should have been added, and marks a handful of system
ContentProviders as being safe to call into. Also, we assume that
any services obtained from ServiceManager are part of the core
OS, and are okay to make blocking calls to.

Test: builds, boots, runs with minimal logs triggered
Bug: 32715088
Change-Id: Ide476e120cb40436a94b7faf7615c943d691f4c0
GeofenceProvider.aidl
4e82fe51207bbd8ceaec356b4215e338ec63a31e 24-Oct-2016 Lifu Tang <lifu@google.com> Fix GNSS status delivery to the callbacks

Bug: 32357457
Change-Id: I8f2b8dae5472cb81313417e85c092dca0aae5bd9
ocationManager.java
eed2c7d6614e21adaa0539cbf31c90c7a2ae4eb1 27-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed misspelling in "Address" class overview.
am: b10a6dc963

Change-Id: I226f72cd0618166e61a95d95598c95a037e0b670
b10a6dc963245dff04177223d956105a31b31d9d 23-Sep-2016 Kevin Hufnagle <khufnagle@google.com> docs: Fixed misspelling in "Address" class overview.

Bug: 30608455
Change-Id: Ic7d8492b15eeffe32393c018f3512101d5f0bcae
ddress.java
30fe9229c50229a77ce2baaffca508a15bda3b6c 07-Jul-2016 David Christie <dnchrist@google.com> Fix issue where GnssMeasurements wouldn't allow empty measurements.

Bug: 29966456

Change-Id: Ie74ed921d4ebe43e3ec086ef8fb96d54f992fa38
nssMeasurementsEvent.java
98ad88811c76f7334c285cc970a4107f7a716b5a 01-Jun-2016 Gina Dimino <gdimino@google.com> Docs: Suppress errors in SystemApi Build
Bug: 28427390

Change-Id: Ifea85bf7b1fcdd30a3d7f61bd17d0efba6368aa4
ocationManager.java
f6527aebbce5e2b6b771fa42ae499c2e7584bd26 24-May-2016 Wyatt Riley <wyattriley@google.com> Adding SBAS offset to Gps/Gnss SvStatus converter

Opposite sign of Glonass & BDS offsets. Noticed after screenshot search & further testing.

Bug: 28623392
Change-Id: I6a7c98f455ee7df278eed985ba57ec1c12d888e0
psStatus.java
49d9891c573f8c4994841b24f8d90690c342e8ae 18-May-2016 Wyatt Riley <wyattriley@google.com> Mapping up/down of legacy Gps vs. Gnss Status

- Maps incoming (from HAL) GpsSvStatus for Glonass, Beidou, SBAS, and QZSS
from defacto (NMEA-like) numbers to internal platform with detected constellation.
- Maps outgoing (to Java API) GpsStatus getSatellite info back into the de-facto
overloaded (beyond 32) "GPS" ID numbers.
- Simplifies Glonass ID definition for N (comments only.)
- This enables GPS/GNSS Test apps a non-degrading upgrade path.

Bug: 28623392
Change-Id: I9a19db1f11267032c6927daed767df5afa51c770
nssStatus.java
psStatus.java
e50607efab69c62d1a7b5ba9bb3dff47449483c9 08-Apr-2016 Lifu Tang <lifu@google.com> Fixed the sign error in GnssClock

Bug: 28068514
Change-Id: I71b68acb70d4139f94f3829bd4a280d926e251de
nssClock.java
e8abe8e5ad830bd130b258c6801d75f6542200b5 01-Apr-2016 Lifu Tang <lifu@google.com> Addressed API review comments and updated JavaDoc

Bug: 27274532
Bug: 27948390
Change-Id: I0255d2511deab788dcab9815def9c1287a50b7f9
nssClock.java
nssMeasurement.java
nssMeasurementsEvent.java
nssNavigationMessage.aidl
nssNavigationMessage.java
nssNavigationMessageCallbackTransport.java
nssNavigationMessageEvent.java
nssNmeaListener.java
nssStatus.java
nssStatusCallback.java
psSatellite.java
psStatus.java
GnssNavigationMessageListener.aidl
ocationManager.java
nNmeaMessageListener.java
e296ab692a661500969dedd3675d9d9f0f58e389 30-Mar-2016 Lifu Tang <lifu@google.com> Merge "Returns the correct elevation in GnssStatus" into nyc-dev
0f5e32d8eb869e11aae626a61dcc353adac77b20 30-Mar-2016 Glenn Kasten <gkasten@google.com> Merge "Fix CRLF" into nyc-dev
4fb5dc1e4aad0d7df0f6af03560a340e81bf1f7c 29-Mar-2016 Lifu Tang <lifu@google.com> Returns the correct elevation in GnssStatus

Bug: 27902867
Change-Id: I57ea191e531305268d4a87f9d444425f20ef7f8e
nssStatus.java
a89a392aef5ca24093d54e005e58c18f206cd5f6 28-Mar-2016 Lifu Tang <lifu@google.com> Merge "Added missing constants to GnssMeasurement" into nyc-dev
047b05ea6e290997f1bcc29fd6c4ec5f81708f9f 23-Mar-2016 Lifu Tang <lifu@google.com> Added missing constants to GnssMeasurement

Bug: 27816668
Change-Id: Ib1638f5ac3941c4b6d9babca0acdc80df498e0af
nssMeasurement.java
145ff558adb3fa946c792f7d5d49e8f9e746e331 23-Mar-2016 Lifu Tang <lifu@google.com> Merge "A few changes to the measurement implementation" into nyc-dev
17350f925f5ee4d4df92c768c92e442179b1a420 22-Mar-2016 Lifu Tang <lifu@google.com> A few changes to the measurement implementation

- Fixed the device crashing bug in JNI code
- Fixed a typo ('lock' => 'clock')
- Added hardware clock discontinuity count in toString()

(cherry picked from commit 3a21b02ee2dc8f2c6c879109757d89a2be5d720a)

Change-Id: I6dbda85abda20da0240ac08b22b81729eae7b6f0
nssClock.java
620a28bad2b1ddabddf2d78b5a20a762ebc29205 18-Mar-2016 Jeff Sharkey <jsharkey@google.com> Merge "Mark more Bundles as being defusable." into nyc-dev
77e645123f3ab9d290b588c5806162054ff0c161 18-Mar-2016 Julius D'souza <jdsouza@google.com> Merge "CTS: Add @hide annotations to several @IntDef elements" into nyc-dev
ff7c8b9e9d28fa4fb4a5cd43ffc4ffae9b23706e 18-Mar-2016 Glenn Kasten <gkasten@google.com> Fix CRLF

Change-Id: I6740b5fefae2f16d0ce247ff78e7cb5a6f3f8642
NetInitiatedListener.aidl
2b67c07d82f59f9b776414576c21dd31ed9dac48 18-Mar-2016 Julius D'souza <jdsouza@google.com> CTS: Add @hide annotations to several @IntDef elements

Bug: 27232186

Change-Id: Idd70359e22606a5ff21dfaffd119528cedd08b5a
nssMeasurement.java
nssMeasurementsEvent.java
nssNavigationMessage.java
nssNavigationMessageEvent.java
nssStatus.java
a04c7a7c6442b8c6f87f5dd11fc5659cdb92decc 18-Mar-2016 Jeff Sharkey <jsharkey@android.com> Mark more Bundles as being defusable.

They're destined for the system, so they're okay to look inside.

Bug: 27726127
Change-Id: Ic85c308a8efe6f9b8652952717c72b3c663d328a
ocation.java
275b4499bc7c57acf6b038a930579494cb83a70b 17-Mar-2016 Lifu Tang <lifu@google.com> Merge "Removed unused methods from GnssMeasurement" into nyc-dev
1778b030f7e372d6211ea2f374e89289bc8e8ac3 17-Mar-2016 Lifu Tang <lifu@google.com> Fixed bugs in serialization and object cloning

Bug: 27621461
Change-Id: I52cbf874d506cc5f6dee73d1a14b5dc07f87bd39
nssNavigationMessage.java
b9048f88ce6e9073f94139f4d1b709cf2149d9e9 14-Mar-2016 Lifu Tang <lifu@google.com> Removed unused methods from GnssMeasurement

Bug: 27633183
Change-Id: I6304a431b75aaa338b6f22e6d213cd5f4f10cd60
nssMeasurement.java
0f1ab04516d3e9a72eda22c998910f49f2bd40bb 08-Mar-2016 Lifu Tang <lifu@google.com> Modified the API to make coverage test possible

Bug: 27462840
Change-Id: Idfd2c3c108b25f8be9046fd4bb72dbc57edc24bd
nssClock.java
nssMeasurement.java
nssNavigationMessage.java
76a620f0482ba54a4921c7c7e7eeb8ea87c12d3e 27-Feb-2016 Lifu Tang <lifu@google.com> Addressed the review comments from API Council

Following are the review comments from API Council:

(Places below that reference "s/foo/bar/" below are suggesting that "foo" be
replaced with "bar".)

GnssClock
-- Class docs should not refer to "GPS" at the top level
-- s/InNs/Nanos/
-- s/Sec/Second/

GnssMeasurement
-- s/In// for "InUnitname"
-- s/Sec/Second/
-- s/Ms/Millis/
-- s/Deg/Degrees/
-- STATUS_GPS_LOCATION_DISABLED -> STATUS_GNSS_LOCATION_DISABLED

GnssMeasurementsEvent.Callback
-- "returns" -> "reports" in the method docs as the methods return void

LocationManager
-- register/unregisterGnssMeasurementEventCallback ->
register/unregisterGnssMeasurementsEventCallback (plural)

GnssNavigationMessage
-- MESSAGE_TYPE_ constants -> change to just TYPE_; the "MESSAGE" is redundant
with the class name
-- is a signed byte/short ok based on the standard here? If not consider using
int in the public api

GnssStatus
-- Make sure @IntDef exists for the constellation type
-- Please append unit types for values returned to match GnssMeasurement methods

GnssStatusCallback
-- Please document time base/units for the time parameter of onFirstFix

Bug: 27385557
Change-Id: Ifed6a2eca3fd7ba89b3ded6964a70376235af8f4
nssClock.java
nssMeasurement.java
nssMeasurementsEvent.java
nssNavigationMessage.java
nssNavigationMessageEvent.java
nssStatus.java
nssStatusCallback.java
psStatus.java
GnssStatusListener.aidl
ocationManager.java
f8880561e67e1da246970b49b14285efd4164ab1 26-Feb-2016 Jeff Sharkey <jsharkey@android.com> When system server goes down, crash apps more.

Similar to first patch, but now using new "rethrowFromSystemServer()"
method which internally translates DeadObjectException into
DeadSystemException. New logic over in Log.printlns() now
suppresses the DeadSystemException stack traces, since they're
misleading and just added pressure to the precious log buffer space.

Add some extra RuntimeInit checks to suppress logging-about-logging
when the system server is dead.

Bug: 27364859
Change-Id: I05316b3e8e42416b30a56a76c09cd3113a018123
ocationManager.java
38bce7925c58fe585144f25ea6c954bab4f5da42 25-Feb-2016 Lifu Tang <lifu@google.com> Removed clock type from GnssClock

Bug: 27341583
Change-Id: I5ffd891737c3ddf83d9c6a78aa36c94858591199
nssClock.java
nssMeasurement.java
9363b949a104786c87cd2cd18f206ff3c1957e5e 17-Feb-2016 Lifu Tang <lifu@google.com> Finalized GPS=>GNSS changes with documents

Bug: 27098594
Change-Id: I24529e60d8eb9b48b644cf01e5efc684e6f04839
nssClock.java
nssMeasurement.java
nssNavigationMessage.java
nssStatus.java
psStatus.java
LocationManager.aidl
ocationManager.java
120480f17ae18bbe8c6fa7ec4854281fdf349b59 08-Feb-2016 Lifu Tang <lifu@google.com> Optimized the memory consumption and renamed PRN

Bug: 27058251
Change-Id: I2309943b1a4e7565868ed0f247b84edc631fbd59
nssMeasurement.java
nssNavigationMessage.java
nssStatus.java
psStatus.java
GnssStatusListener.aidl
ocationManager.java
d46d308562b78af6a06d014e17cb67a6e3103b30 03-Feb-2016 Lifu Tang <lifu@google.com> Worked around the crash caused by API renaming

Bug: 26885642
Change-Id: I1f1ad76d18444d5f250397ef491e1dd4858f0a1d
psClock.java
psMeasurement.java
psMeasurementsEvent.java
psNavigationMessage.java
psNavigationMessageEvent.java
ocationManager.java
818aa2c2c46addae934fb6cd42f889affc9ef747 01-Feb-2016 Lifu Tang <lifu@google.com> Rename Gps to Gnss for measurement-related APIs

Bug: 26895757
Change-Id: I12d89dc251e356cf976a4bcd3589a8925a8ad745
nssClock.java
nssMeasurement.java
nssMeasurementCallbackTransport.java
nssMeasurementsEvent.aidl
nssMeasurementsEvent.java
nssNavigationMessage.java
nssNavigationMessageCallbackTransport.java
nssNavigationMessageEvent.aidl
nssNavigationMessageEvent.java
psClock.java
psMeasurement.java
psMeasurementCallbackTransport.java
psMeasurementsEvent.aidl
psMeasurementsEvent.java
psNavigationMessage.java
psNavigationMessageCallbackTransport.java
psNavigationMessageEvent.aidl
psNavigationMessageEvent.java
GnssMeasurementsListener.aidl
GnssNavigationMessageListener.aidl
GpsMeasurementsListener.aidl
GpsNavigationMessageListener.aidl
LocationManager.aidl
ocationManager.java
e5a0e21b6fcba32e6d7486c5e7736d7d0348d55c 26-Jan-2016 Lifu Tang <lifu@google.com> Framework support to read newly added fields

Change-Id: Ie43395addd102656a4dbf9c25111ac50ec9afe41
psClock.java
psMeasurement.java
82f893d6df236d257ab2142dd63e72865a5e4f00 22-Jan-2016 Lifu Tang <lifu@google.com> Added an API to query GPS hardware version info

Change-Id: Ic45357d30da350759f56c9d061e60196acb3255b
LocationManager.aidl
ocationManager.java
a8b7bb5a50d8ad197c6f32eb308919c11b52ce74 26-Jan-2016 Lifu Tang <lifu@google.com> GPS Measurement and Navigation APIs go public

Those APIs are already used by first-party Apps for a while. We now make them
available to third-party Apps as well.

Change-Id: I87d9f0dbb04831fc849228d7df03a2686e2eb383
psClock.java
psMeasurement.java
psMeasurementCallbackTransport.java
psMeasurementListenerTransport.java
psMeasurementsEvent.java
psNavigationMessage.java
psNavigationMessageCallbackTransport.java
psNavigationMessageEvent.java
psNavigationMessageListenerTransport.java
ocalListenerHelper.java
ocationManager.java
30f95a7d67870c28d2aaa88ee989c099f5670225 08-Jan-2016 Lifu Tang <lifu@google.com> Supported GNSS multi-constellation in frameworks

Change-Id: I82574afd3697c47e806d2cfaedc33756d0353b73
nssNmeaListener.java
nssStatus.java
nssStatusCallback.java
psStatus.java
GnssStatusListener.aidl
GnssStatusProvider.aidl
GpsStatusListener.aidl
GpsStatusProvider.aidl
LocationManager.aidl
ocationManager.java
923b2602583021b97ac7a8dcbca8395e309b938e 28-Oct-2015 David Christie <dnchrist@google.com> Make Location objects take less memory.

-Use bitmask for has*** methods.
-Use ThreadLocal for caching intermediate computations
rather than preallocating memory in every Location

Change-Id: If2fa17bfd59511ec0b809f4b7d7cd8028360c340
ocation.java
5575ddfcc1a1a7873d493ad6bbc522a9652d4ffc 27-Oct-2015 David Christie <dnchrist@google.com> Correct range checking for location strings during conversion

Minute values in the range [0, 59] are valid if seconds are
present. If seconds are not present then minute values are
valid in the range [0, <60]

Second values are valid in the range [0, <60]

Examples:
50:59:59.99999 is valid
50:59.99999 is valid
50:59.1:1 is not valid

Patch taken from Motorola: partner gerrit 137210

Bug: 17958582
Change-Id: I0d1265534092157883af564119f723984362d436
Issues: 2667 and 2668
ocation.java
b870dbf86bd47c750d2a5350a83ec245396578ee 22-Jun-2015 David Christie <dnchrist@google.com> Fix privacy leaks in LocationManager

-Register for listener for permission changes and stop
request immediately if client loses permission.
-Also remove permission requirement to remove geofences
and clean up permission annotations.

Bug: 21903866
Change-Id: I7e028b6b2ca5b21f25fcbba5de86dfb55caff872
ocationManager.java
b71218aec133981126b0f916fc1f731fdbb04b1b 17-Jun-2015 Jason Monk <jmonk@google.com> Add way to get the network location provider package

Bug: 21805447
Change-Id: Ie9fd35a69d8808ae4346927b30b77e9fd733b569
LocationManager.aidl
a4db6473f7890326330f951ec11bae9adb661221 22-May-2015 Makoto Onuki <omakoto@google.com> CountryDetector no longer requires location permissions.

Country information is already available elsewhere (MNC/MCC), so there's no
point enforcing these permissions.

It wasn't properly enforcing the permissions anyway, since the code path in
question was sometimes executed on a handler thread.

Bug 20927020

Change-Id: Ia090664917f7b694e80dd55934db442633bab1d8
ountryDetector.java
f7e9cf4fb48ea80cbc5088204ac3f898109623f7 13-May-2015 Svet Ganov <svetoslavganov@google.com> Access mock location is no longer a runtime permission - framework

The access mock location is no longer a runtime permission. It is a
signature protected one that apps cannot get but the fact they request
it means they want to inject location into the system. Now the user
gets to choose the current mock location app in developer options from
the apps that request the mock location permission. The access to mock
location is no longer guarded by the permisson but from a new app op
which is off by default and the settiings UI sets it to enabled only
for the currently selected mock location app.

bug:21078873

Change-Id: I19e3f9dc7c7de82eab46b30fec1abfbca54a0e59
LocationManager.aidl
ocationManager.java
cbba357159fdd2db94052addb14d989df39ccd97 29-Apr-2015 destradaa <destradaa@google.com> am 2c160c1a: am bdf9ffdd: am c0667853: Merge "Add SystemApis in GpsMeasurements APIs to reflect changes in GPS HAL. b/19938206" into mnc-dev

* commit '2c160c1a64a696dcb6261311ca0a406a07231d33':
Add SystemApis in GpsMeasurements APIs to reflect changes in GPS HAL. b/19938206
d593bf272d1e8bbbb1326fff74910f8f4774d921 16-Apr-2015 destradaa <destradaa@google.com> Add SystemApis in GpsMeasurements APIs to reflect changes in GPS HAL.
b/19938206

Change-Id: I91fd65b29e091b600ee4982a16321308e4d55aef
psMeasurement.java
psNavigationMessage.java
c347ec6763f621165e1cb3da235d540967a7922a 08-Apr-2015 Tor Norbye <tnorbye@google.com> Add permission annotations on the LocationManager API

Change-Id: I244e8da8a91bba05e5437b9b386caf4e5cf7b125
ocationManager.java
5e72118f193258259912c0a51688bd4434c8896e 14-Apr-2015 destradaa <destradaa@google.com> Update GpsMeasurements APIs to reflect changes in GPS HAL.
b/19938206

All new introduced APIs are hidden.

GpsMeasurement#isPseudorangeRateCorrected() is need to properly identify different types
of data provided by different partners. Given the nature of each GPS engine, this change is
required to accomodate the data that can be provided by many partners.
GpsNavigationMessage#getStatus() is required to ensure that the Location process is aware
if the state of the messages, and can act depending on it.

Change-Id: Ie34b1e69bf26a1bde86931ce61168421429bf8f8
psMeasurement.java
psNavigationMessage.java
295a93b99f1773638553a0d00898824dc7ba79e5 09-Apr-2015 David Christie <dnchrist@google.com> Add smallest displacement field to FLP HAL

Change-Id: I4d857256c035c65185be3be8401bec8d45091aaf
usedBatchOptions.java
c91ac688295e3d64ad1dd7539a713f5de60fea05 09-Feb-2015 destradaa <destradaa@google.com> Update handling of enum/flag fields in GPS data structures.

It fixes cases when flags where filtered in the platform, because they were
checked as enums.
It also simplies handling of future values in enums/flags.

Change-Id: I83a0f82cc4562749081bf7e279ea52e2d5ba1f7c
psClock.java
psMeasurement.java
psNavigationMessage.java
6bde4683ae1f70f7b5e53f853b6a7479bcebd5d5 31-Jan-2015 destradaa <destradaa@google.com> Reduce memory usage of GpsStatus objects.

A simple GpsStatus object uses 9K of space, given that it initializes an array
of 255 GpsSatellite objects.
This change reduces the memory footprint in the average case, and keeps the
semantics of the API and its GpsSatellite sibling objects without any changes.
In a best case scenario it brings the memory usage per object to 1K.
It's likely in most cases that only 20-50 satellites will be in view. So the
usage should not exceeed half of the original memory usage.
It was considered to keep the internal array but a SparseArray provided bigger
memory savings in the test scenario of ~700B.

Change-Id: Ie2d2144d776a74d4904a08c0d6c5aec6d3bba7cc
psSatellite.java
psStatus.java
4b1b8e4c44daf97e48f0fb21a74486072a505815 02-Feb-2015 destradaa <destradaa@google.com> Revert API breaking change in System API.

Change introduced in ag/616521

Change-Id: Ia95982b051496e123b4a179746aea15c6a0b8a65
psNavigationMessageEvent.java
22287fe7c20f0382ce3e5ae5b480a3f18b625094 02-Feb-2015 destradaa <destradaa@google.com> Merge "Fix race condition generating READY and NOT_SUPPORTED statuses."
71f0cd45eff088d26309564d6766003bb788a04b 30-Jan-2015 Soonil Nagarkar <sooniln@google.com> Update Location.convert() javadocs to reflect their inconsistency with locales.

The Location.convert() methods do not invert each other as might be
expected. Changing this would introduce breaking changes, so I've
updated the javadocs to make this clearer.

Bug: 13280976
Change-Id: If4bd3c83d5fb67915450849ca471aabc27544dac
ocation.java
13a60b0d41c740448ea39ca19842c7b193c61efd 16-Jan-2015 destradaa <destradaa@google.com> Fix race condition generating READY and NOT_SUPPORTED statuses.

The race condition only affects when the client registers for several (all) location listeners.
And the side efects are benign: only the measurement and navigation message status are incurrectly
being sent to the application, but there are no crashes or any real data from GPS being
misscommunicated.
Also:
- cache the last reported status to filter sending notifications when no changes have occurred
- do some cleanup and refactoring in the code changed

Change-Id: I0692e6b70847dc1ee092d7a05a2c6ba3cd9fa147
psNavigationMessageEvent.java
4d72e3e07e23fb13d4ba7f97f4c088948fef3e64 30-Dec-2014 Narayan Kamath <narayan@google.com> am a4c40c37: am 72d33849: Merge "Missing break in switch statement"

* commit 'a4c40c373477983622622186946d21802400876e':
Missing break in switch statement
72d33849fea5de45087bfa79e645fa282ce8fcef 30-Dec-2014 Narayan Kamath <narayan@google.com> Merge "Missing break in switch statement"
ffa2b14d6f22d7ba2c6ca0ca392aa927009ac54b 07-Nov-2014 destradaa <destradaa@google.com> am 00916297: am 3546c9a5: Merge "Mark Gps Raw related APIs as System APIs. b/16727892" into lmp-mr1-dev

* commit '0091629788e883222ad358fa70e2cdfb3d71a296':
Mark Gps Raw related APIs as System APIs. b/16727892
3546c9a5821fc8a754e05593d314c49cd6bca0d0 07-Nov-2014 destradaa <destradaa@google.com> Merge "Mark Gps Raw related APIs as System APIs. b/16727892" into lmp-mr1-dev
031550a31e56bb8300ba9d1225004581ec156777 07-Nov-2014 destradaa <destradaa@google.com> am 9ed36c42: Merge "Add support for GPS measurement/navigation message capabilities. b/16727892 b/16815124" into lmp-mr1-dev automerge: 992b9aa

* commit '9ed36c42d8c3731b8ca631292881110eb8897cec':
Add support for GPS measurement/navigation message capabilities. b/16727892 b/16815124
91c962ad9c90e79b8dbbf7aaaaf2d827adf7cc16 07-Nov-2014 destradaa <destradaa@google.com> am a084d357: Merge "Fix reference leak in GPS measurement JNI layer. b/16727892 b/17075171" into lmp-mr1-dev automerge: c3e5599

* commit 'a084d357d3fd0a5696998e786aeb10ff394f24d5':
Fix reference leak in GPS measurement JNI layer. b/16727892 b/17075171
992b9aa37b0b7dba45505593cc4715d5be5aecbb 07-Nov-2014 destradaa <destradaa@google.com> Merge "Add support for GPS measurement/navigation message capabilities. b/16727892 b/16815124" into lmp-mr1-dev
a62050d42c7d76d57ae555ffcb6d8efc5cf79de1 23-Oct-2014 destradaa <destradaa@google.com> Mark Gps Raw related APIs as System APIs.
b/16727892

Change-Id: I29d78d45aef7829c3321ae4e7c26549e46fa39f9
psClock.java
psMeasurement.java
psMeasurementsEvent.java
psNavigationMessage.java
psNavigationMessageEvent.java
ocationManager.java
6568d709e78d6ccaf256b7d0e4a19cdfb26deafb 27-Oct-2014 destradaa <destradaa@google.com> Add support for GPS measurement/navigation message capabilities.
b/16727892
b/16815124

The listeners are changed to receive statuses asynchronously, this is required because GPS HAL,
requires time to be notified of the capabilities it supports.

Change-Id: Ie69fdd629d8680341386a2c736bc851632dd2bda
psMeasurementListenerTransport.java
psMeasurementsEvent.java
psNavigationMessageEvent.java
psNavigationMessageListenerTransport.java
GpsMeasurementsListener.aidl
GpsNavigationMessageListener.aidl
LocationManager.aidl
ocalListenerHelper.java
ocationManager.java
df1198401101805a335535dd08231cbb0e2af500 15-Oct-2014 destradaa <destradaa@google.com> Fix reference leak in GPS measurement JNI layer.
b/16727892
b/17075171

Change-Id: I5f41c6db114078b927e56a7614fa7c09a288e2b2
psClock.java
75a6e82bcc625025c5f48dc6c33d0dd469e9ca61 10-Oct-2014 Dianne Hackborn <hackbod@google.com> am 36ae48a8: am d83e9e42: am 0761b1b5: am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev

* commit '36ae48a850bade17d485cb49dd40a3f11f667ad4':
Put in real "code" (aka marketing) name.
529b78941c20c2b45312eeedbd509d0ded4f7323 09-Oct-2014 Dianne Hackborn <hackbod@google.com> am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev

* commit '89b196958fee07475765bd3c458098464ba16f2e':
Put in real "code" (aka marketing) name.
89b196958fee07475765bd3c458098464ba16f2e 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Merge "Put in real "code" (aka marketing) name." into lmp-dev
955d8d69ea6caabce1461dc25b339b9bf9dc61a6 08-Oct-2014 Dianne Hackborn <hackbod@google.com> Put in real "code" (aka marketing) name.

Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
ocationManager.java
786037ee25b1e8119af73df72b265f70df726651 08-Oct-2014 Quddus Chong <quddusc@google.com> am 11735a0b: am 61e6d40b: am 5b5bc109: am 6ec5a256: am 4be6fdeb: am ba2199fa: Merge "docs: Modified the notice in the android.location package file to strongly encourage developers to migrate to the Google Play Services Location API." into klp-modular-docs

* commit '11735a0b759b79e6737b512f69f2efa0603d4e3f':
docs: Modified the notice in the android.location package file to strongly encourage developers to migrate to the Google Play Services Location API.
3f5184c3947386e7a9944470faa896c190d5d1ad 08-Oct-2014 Quddus Chong <quddusc@google.com> am 6ec5a256: am 4be6fdeb: am ba2199fa: Merge "docs: Modified the notice in the android.location package file to strongly encourage developers to migrate to the Google Play Services Location API." into klp-modular-docs

* commit '6ec5a256d78579057e82691e4cc21ca6222e2b1f':
docs: Modified the notice in the android.location package file to strongly encourage developers to migrate to the Google Play Services Location API.
6ec5a256d78579057e82691e4cc21ca6222e2b1f 08-Oct-2014 Quddus Chong <quddusc@google.com> am 4be6fdeb: am ba2199fa: Merge "docs: Modified the notice in the android.location package file to strongly encourage developers to migrate to the Google Play Services Location API." into klp-modular-docs

* commit '4be6fdebdd386dc18159c5557db91936a62f42ab':
docs: Modified the notice in the android.location package file to strongly encourage developers to migrate to the Google Play Services Location API.
380dde32a742a993a42cfad9643499da207ff95e 12-Sep-2014 Quddus Chong <quddusc@google.com> docs: Modified the notice in the android.location package file to strongly
encourage developers to migrate to the Google Play Services Location API.

Change-Id: I9c2602daa7198eca38841582865c6a973f5acec8
ackage.html
ea1653a774b70f0eef7f90ef95935e7172ba4ac1 18-Sep-2014 David Christie <dnchrist@google.com> am 8601ffdd: am 9f115938: am 4233ee4b: am b2e91428: Merge "Add @SystemApi to LocationManager methods used by GmsCore (with reflection). Bug: 17515515" into lmp-dev

* commit '8601ffdd4c0cf864ef3bb95cdd355512a2654656':
Add @SystemApi to LocationManager methods used by GmsCore (with reflection). Bug: 17515515
6c65c49f31f6a618e05c23b89ed659f5d4abbe94 17-Sep-2014 David Christie <dnchrist@google.com> am ef52db95: am b2e91428: Merge "Add @SystemApi to LocationManager methods used by GmsCore (with reflection). Bug: 17515515" into lmp-dev

* commit 'ef52db9536b0aef77a1543ca3a97a4ad43a70e9a':
Add @SystemApi to LocationManager methods used by GmsCore (with reflection). Bug: 17515515
61ee1eda0afb78c4ded09ac516f58283191e38df 17-Sep-2014 David Christie <dnchrist@google.com> Merge "Add @SystemApi to LocationManager methods used by GmsCore (with reflection). Bug: 17515515" into lmp-dev
4bd34887324b90478ee89358697c543dca9cf4dc 16-Sep-2014 David Christie <dnchrist@google.com> Add @SystemApi to LocationManager methods used by GmsCore (with reflection).
Bug: 17515515

Change-Id: I005871c721868bc52a3057839949eb342181b7b8
ocationManager.java
4656e69bf36d42a35c9290ab79eeb33b4cca1d5c 08-Sep-2014 Elliott Hughes <enh@google.com> resolved conflicts for merge of 2008cff7 to lmp-dev-plus-aosp

Change-Id: I5148eda624e8504f12dbc1288cd4a7a5b7c10850
bc3095139e9b8c7640fe6cebb4fc527af916d1be 08-Sep-2014 Tom O'Neill <tomo@google.com> Fix a STOPSHIP

Change-Id: I3714f1645c0a847e912cb79515fe3991960c1698
ocationManager.java
d0646dca40ff740bd49755ad60751678b0ccca52 28-Aug-2014 Mark Doliner <mark@kingant.net> Small documentation fixes across many files.

Change-Id: I3e8787ce4bc6018ea1dc9aef2a2cd4e0a8dde663
ocationRequest.java
649db7f0a5b1a2add3f68ace9d7896a76340ff78 05-Sep-2014 Tom O'Neill <tomo@google.com> Merge "Keep LMP from breaking KitKat API" into lmp-dev
17c5e79496bc1e2d53bc3c4e33bad4b39b80c36d 05-Sep-2014 Tom O'Neill <tomo@google.com> Keep LMP from breaking KitKat API

- Bug: 17390371

Change-Id: I25c1abebcc42ed24abd57bbe2834a40fb8ee834b
ettingInjectorService.java
e7baf5afc07127854e5791d93f05e6b46633bc47 04-Sep-2014 David Christie <dnchrist@google.com> Merge "Add @SystemApi annotations to methods used by GmsCore. -Currently these methods are called using reflection for location. Bug: 17371392 Change-Id: I6546f5b485415beff69164ba0d526757ee831f69" into lmp-dev
c20b795cf05b48fe5e024c19dab9c7e4b18cd10f 04-Sep-2014 David Christie <dnchrist@google.com> Add @SystemApi annotations to methods used by GmsCore.
-Currently these methods are called using reflection for location.
Bug: 17371392
Change-Id: I6546f5b485415beff69164ba0d526757ee831f69
ocation.java
ocationRequest.java
52617bbff8607cdc208ba107ec111bd1471433cb 25-Aug-2014 Tsuwei Chen <tsuwei@google.com> Reload GPS configuration after carrier info is available.
Bug: 17110478
Change-Id: I1ecb71c4ca661df3dfeaea1622d73caeacb1350e
psMeasurement.java
4b3e3931270f8e406fc806bc7fa1c2788256687d 22-Jul-2014 destradaa <destradaa@google.com> Expose Gps Navigation Messages in the platform.
b/16405976

Change-Id: Ic982ea2467d116585780c20c2fa7e974e50f8345
psMeasurementListenerTransport.java
psNavigationMessage.java
psNavigationMessageEvent.aidl
psNavigationMessageEvent.java
psNavigationMessageListenerTransport.java
GpsNavigationMessageListener.aidl
LocationManager.aidl
ocalListenerHelper.java
ocationManager.java
81cabb8a7fb5b61f16bf49c2757ccb51bc88e708 22-Jul-2014 destradaa <destradaa@google.com> Add uncertainty for GPS received TOW field.
b/16463499

Change-Id: I5dde8a2737d9345eb7f77edc64ab7286254a65e4
psMeasurement.java
2102dd725540bcf51bf324a2775fbcffe45dd32f 19-Jul-2014 destradaa <destradaa@google.com> Update GPS HAL raw measurements support.

Align the GPS framework with the GPS HAL
b/16374800

Remove localTime field from API
b/16241708

Update Property containers for measurements to use bit masks
b/16238371

Change-Id: Id4db16c3153d0020bf2edb5a67f59353662762d0
psClock.java
psMeasurement.java
ea8a8a6076f04360de2d25b3e5853cde8026cd5f 24-Jun-2014 destradaa <destradaa@google.com> Update location framework to accept raw data from GPS HAL.

Change-Id: Ib4feca004b53fa89dcece4299974ab08913455a0
psClock.java
psMeasurement.java
psMeasurementListenerTransport.java
psMeasurementsEvent.aidl
psMeasurementsEvent.java
GpsMeasurementsListener.aidl
LocationManager.aidl
ocationManager.java
43c9b107d838d2d152d243151f1728d3b39a2821 05-Jul-2014 Nick Kralevich <nnk@google.com> am 812de6f6: am dbed61c8: am ca2df286: Merge "Fix typo in the exception message."

* commit '812de6f6d75f71d1c2fd9cd319a78389c5adb703':
Fix typo in the exception message.
552bd68c2c592348b45fb823b939fb289afb4af7 17-Jun-2014 David Christie <dnchrist@google.com> Update Location documentation for altitude (WGS84 instead of sea level).

Change-Id: I9531fba75bc1fee7d0e7c1dc179e3d05fb3e8a42
ocation.java
cc972725af35284c0b571aaa0dc6873e69b15119 25-Apr-2014 destradaa <destradaa@google.com> Make sure FLP HAL statuses currently used are translated (if needed) correctly into the framework.
b/14118906

Change-Id: I4723a3b9cad99aacc70bd3b7b5b5e034aa6c033d
usedBatchOptions.java
248ada68cce2d1ab8f59ef18b869d866f4af6045 01-Mar-2014 Tom O'Neill <tomo@google.com> Injected settings no longer include summaries

- Bug: 13279850

Change-Id: I0fd1e60b2a56c45776963c29bbae6f176fdf1bea
ettingInjectorService.java
afecea18054c457cbd55d1ed9c023f2c2aa3726b 01-Mar-2014 Tom O'Neill <tomo@google.com> Seeing if a provider is enabled doesn't require special permissions

- Bug: 10696351

Change-Id: I4f1612ce10587728e71277587144fdcb59445b3f
ocationManager.java
8a985d24ce9a38f40ed88fecbdcd0e75e3a68f44 25-Feb-2014 John Spurlock <jspurlock@google.com> Tabs -> spaces in frameworks/base.

Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
ocationManager.java
405393cfe33c857e2f430ebc09c891b886c75e73 24-Oct-2013 Masaki Muranaka <monaka@monami-software.com> Fix typo in the exception message.

Change-Id: I5e8c089dfd406af40c4eb3aa76af13398c05b7e6
Signed-off-by: Masaki Muranaka <monaka@monami-software.com>
ocationManager.java
d5759437eeb3137e4a05471ff0f4681c0254e81a 11-Sep-2013 Tom O'Neill <tomo@google.com> Improve some javadoc related to isProviderEnabled() apis

- LocationManager.isProviderEnabled() no longer throws SecurityException:
the caller could already circumvent the permission check by calling
Secure.isLocationProviderEnabled()

Change-Id: I5abd04264299671ed35ce4594b5be46d86378767
ocationManager.java
cef05c28eb452810e4b79895970457ff2bdef5b4 05-Sep-2013 Tom O'Neill <tomo@google.com> Incorporate new API council comments

- Split getStatus() into onGetSummary() and onGetEnabled()

- Call them on app's UI thread

- Allow runtime exceptions to propagate up

- Make a couple of more methods final to prevent subclasses from playing
around with the intent

- Remove explicit timing requirement from javadoc

- Mention that this will be restricted to system-image apps (will be
enforced by the actual settings code)

- b/10461474

Change-Id: Id22dd7a707c05de396ae4c5810e839ca734714c0
ettingInjectorService.java
40a86c24d2601df4966c57573a5bf58b30a41990 04-Sep-2013 Tom O'Neill <tomo@google.com> Add LocationManager.MODE_CHANGED_ACTION broadcast

- Currently redundant with PROVIDERS_CHANGED_ACTION, but that may
change in the future

- Part of fix for b/10409275

Change-Id: I12daaf20e6546fd9e9dc71c599967fa0ad95e27f
ocationManager.java
546113d4c290f36bf21b1e9c7b93d1592df17fce 30-Aug-2013 Tom O'Neill <tomo@google.com> Improve constant names for settings injection API

- Add timing for getStatus() call to encourage implementors to be fast

- Affects b/10461474

Change-Id: I503cbae5cf27008c587a39ab4e60d8e09daedecc
ettingInjectorService.java
7f6f45723adea684529dd9b7465d798f10c3acbf 27-Aug-2013 Tom O'Neill <tomo@google.com> Remove or reduce visibility of deprecated methods

- Fix additional getInt() path, restores the location settings screen
functionality.

- Should fix "unresolved link" build breakages in
git_klp-dev-plus-aosp-without-vendor, which is much more persnickety than
klp-dev for some reason.

- Add warning that we may add additional location modes in the future.

- Finish fix for b/10461763 and b/10461474

Change-Id: Id7155e3a0d7526a377d446018ef3bdb057bad3a6
ettingInjectorService.java
d79b4963e2680078f963fe7afabc28636e7a25c2 27-Aug-2013 You Kim <you.kim72@gmail.com> Missing break in switch statement

Change-Id: I1b7e7a94df8d39e162050911e31e510d2ce5447e
ocationRequest.java
4a7c49c81f021ebb01c1ac06737b4e705f212783 26-Aug-2013 Tom O'Neill <tomo@google.com> Address API Review for SettingInjectorService

- Escape < and > in javadoc

- Constructor does not take log tag

- Start intent rename

- Comments for Status.summary and enabled

- Bonus fixes:

- Start renaming STATUS_KEY to SUMMARY_KEY

- Send message back even if getting the status fails so we don't have
to wait for the fetch to time out

- Add comment about setting activity being invoked when disabled

- Partial fix for b/10461474

Change-Id: I025e7e0782c2873a4eda20ab4793bc6145daf8db
ettingInjectorService.java
c8211ea1cc65560938c31263edce6fcb87016acb 22-Aug-2013 Tom O'Neill <tomo@google.com> Add a little comment about the enabled value

Change-Id: I4ac0b864f55992242b6a3b0d8ffb328f23f6b645
ettingInjectorService.java
184e75146cb17f8695dffba69e0ca8d80b350af3 19-Aug-2013 Tom O'Neill <tomo@google.com> Warn that SettingInjectorService must be fast

- Move UPDATE_INTENT to SettingInjectorSErvice

Change-Id: I9c8f8dc0878647a051cb852721b3436e9d55b391
ettingInjectorService.java
3e32bdd41832d383b03f928cfd2341b9693dc78b 17-Aug-2013 David Christie <dnchrist@google.com> Add comments to new hidden API in LocationRequest.
Document their purpose and permissions required in case
this is unhidden in a different code line.

Change-Id: I42f6f950157f488cf51b361e3411861ff98794e8
ocationRequest.java
d0d554579b244d8d98e63e866be19333a8aa8b2e 17-Aug-2013 David Christie <dnchrist@google.com> Merge "Use default class loader when creating a LocationRequest from Parcel. This seems to be the standard usage, and there are rare reports of requestLocationUpdates giving NullPointerExceptions on the first call to requestLocationUpdates but not on subsequent calls (b/10207898)." into klp-dev
6de10472786ee17106b096eddbb603ab735c11a7 16-Aug-2013 David Christie <dnchrist@google.com> Ensure LocationRequest's worksource defaults to null
Helps to make sure the service doesn't throw a
SecurityException for not having the UPDATE_DEVICE_STATS
permission.

Change-Id: I9be0302f1378d2c4441e6b7d5ce472ed0d5fbd80
ocationRequest.java
def20a3350ce239b929ef0ebbbf913cc0b42cf5f 16-Aug-2013 David Christie <dnchrist@google.com> Use default class loader when creating a LocationRequest from Parcel.
This seems to be the standard usage, and there are rare reports of
requestLocationUpdates giving NullPointerExceptions on the first call
to requestLocationUpdates but not on subsequent calls (b/10207898).

Change-Id: If7a873fba5a2cd77b836ff3fda89105da20104ac
ocationRequest.java
95b2299dc476f4dbd50b8da8e0debff4b5ccba50 14-Aug-2013 Tom O'Neill <tomo@google.com> Merge "API for location settings injection" into klp-dev
0682809ad08db284d7110aab44108d5e9c310e6b 13-Aug-2013 destradaa <destradaa@google.com> Add support in the platform for Flp Geofencing.

Change-Id: I0fb0e276d3a06322697bb5d46323779aca1f78c5
FusedGeofenceHardware.aidl
fa2992c412c08f76331a3f58ca57cf8cf04e7b84 13-Aug-2013 Tom O'Neill <tomo@google.com> API for location settings injection

- Partial fix for b/10287745

Change-Id: Ie998ce0a7b350e4183fce5753bfac3eb51238ff4
ettingInjectorService.java
1af4b0280af406cfc7eb46810f6b76e57b983e11 13-Jul-2013 destradaa <destradaa@google.com> Add FlpHal layer to support Location Batching.

Change-Id: Ia3a57d869dfb3f067a1b95fa66d54f311ddcfdc3
usedBatchOptions.aidl
usedBatchOptions.java
FusedGeofenceHardware.aidl
FusedProvider.aidl
c750c1fb83fbdec895e236dda7207db4da14ec49 08-Aug-2013 David Christie <dnchrist@google.com> Update gps status icon to be a "high power" location icon.
Move icon to right side of the screen and synchronize status with
AppOpsManager.OP_MONITOR_HIGH_POWER_LOCATION.

Change-Id: Iea2570501cb18be0489669fd4ea240dc63f9567a
ocationManager.java
40e5782f5c79ea660b98b8875086f592367bc1d2 30-Jul-2013 David Christie <dnchrist@google.com> Allow a particular LocationRequest to be excluded from
AppOps monitoring as long as the client as the appropriate
permission (UPDATE_DEVICE_STATS).

Change-Id: I7223a53bc1551e6498302a22eb310c8c5b5684b0
ocationRequest.java
82edc9b3482307a8e93655aadabb4f9ad24efe46 19-Jul-2013 David Christie <dnchrist@google.com> Add WorkSource capability to LocationManager

Change-Id: I0fbbad0879b87ecc75a503bf7963356595bf4b96
ocationRequest.java
89cded957cee206287ff8da00cf6450c31967702 14-May-2013 Joe Malin <jmalin@google.com> am 39069b6e: am efb3726c: am 2b8f3734: am e3c549fc: am cd70c873: Merge "Android U: Making Apps Location-Aware" into jb-mr1.1-docs

* commit '39069b6e82fa848608d56b4efc8f28785816fe27':
Android U: Making Apps Location-Aware
39069b6e82fa848608d56b4efc8f28785816fe27 14-May-2013 Joe Malin <jmalin@google.com> am efb3726c: am 2b8f3734: am e3c549fc: am cd70c873: Merge "Android U: Making Apps Location-Aware" into jb-mr1.1-docs

* commit 'efb3726c226001149c92d48fa50da7031c231490':
Android U: Making Apps Location-Aware
3ddba7ee37c02c071b6b7580cc21ad8007861ec9 04-Mar-2013 Joe Malin <jmalin@google.com> Android U: Making Apps Location-Aware

Change-Id: I8f44c6ca6d797ceb8ada5b2c723a8cca0081cf0a
ackage.html
8ce470dd4ba0608abb6b5eae117cefca927af96b 03-Apr-2013 Jaikumar Ganesh <jaikumar@google.com> GPS Hardware geofencing.

Add support for doing geofencing in hardware.

Change-Id: I6d5015190e8d84e1f4beb1010ed977a71c1622d0
GeofenceProvider.aidl
GpsGeofenceHardware.aidl
54ca7aef2e12b240caa6fb1a1e65abd234bea337 08-Jan-2013 Victoria Lease <violets@google.com> Annotate Locations coming from mock providers

LocationManagerService now annotates incoming Location objects that
have come from mock location providers. The new isFromMockProvider()
method can be called on any Location to determine whether the
provider that supplied the Location was a mock location provider.

Bug: 6813235
Change-Id: Ib5140e93ea427f2e0b0036151047f87a02b4d23a
ocation.java
ocationManager.java
a06de0f29b58df9246779cc4bfd8f06f7205ddb6 12-Dec-2012 Dianne Hackborn <hackbod@google.com> New "app ops" service.

Initial implementation, tracking use of the vibrator, GPS,
and location reports.

Also includes an update to battery stats to also keep track of
vibrator usage (since I had to be in the vibrator code anyway
to instrument it).

The service itself is only half-done. Currently no API to
retrieve the data (which once there will allow us to show you
which apps are currently causing the GPS to run and who has
recently accessed your location), it doesn't persist its data
like it should, and no way to tell it to reject app requests
for various operations.

But hey, it's a start!

Change-Id: I05b8d76cc4a4f7f37bc758c1701f51f9e0550e15
LocationManager.aidl
ocationManager.java
a5fa049562333ad154c38e47d0ec7845941d6c21 29-Nov-2012 Victoria Lease <violets@google.com> am 4b77660b: am 7023b3b0: Merge "clarify Geofence.createCircle() param ranges" into jb-mr1.1-dev

* commit '4b77660b38cfff2ffb67c15db4c9e20adaac41d7':
clarify Geofence.createCircle() param ranges
3dffb8cb691ccd3187cec193223d53b32339ed8b 30-Oct-2012 Victoria Lease <violets@google.com> clarify Geofence.createCircle() param ranges

This commit adds the valid ranges to the latitude/longitude
parameters in Geofence.createCircle()'s javadoc.

Bug: 7172696
Change-Id: Iff6e3c3723d3fd9b6393bbc827ec5755c0d034af
eofence.java
58ed5d748c0b9b64845975ef5844ad313de7c3f6 07-Nov-2012 Kenny Root <kroot@google.com> am 768d9e1a: Merge "Correct executable bit for source files"

* commit '768d9e1a72ceee7d4a5f608776b87b62d6ce4a04':
Correct executable bit for source files
3a084af2e90849aaa8beb3a610189e3399c63ea0 07-Nov-2012 Kenny Root <kroot@google.com> Correct executable bit for source files

Many media files and source code files were marked as executable in Git.
Remove those.

Also a shell script and python script were not marked as executable.

Change-Id: Ieb51bafb46c895a21d2e83696f5a901ba752b2c5
ountry.java
NetInitiatedListener.aidl
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
48c5eb018b1731bd47caccd43cda2cd36ebc271f 30-Jul-2012 Nick Pelly <npelly@google.com> DO NOT MERGE. 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.

Change-Id: I4ea2ad56fa6bd75d32151bc250ac25c26a5777c4
LocationManager.aidl
ocationManager.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