• Home
  • History
  • Annotate
  • only in /frameworks/base/location/
History log of /frameworks/base/location/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
3546c9a5821fc8a754e05593d314c49cd6bca0d0 07-Nov-2014 destradaa <destradaa@google.com> Merge "Mark Gps Raw related APIs as System APIs. b/16727892" into lmp-mr1-dev
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
ava/android/location/GpsClock.java
ava/android/location/GpsMeasurement.java
ava/android/location/GpsMeasurementsEvent.java
ava/android/location/GpsNavigationMessage.java
ava/android/location/GpsNavigationMessageEvent.java
ava/android/location/LocationManager.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
ava/android/location/GpsMeasurementListenerTransport.java
ava/android/location/GpsMeasurementsEvent.java
ava/android/location/GpsNavigationMessageEvent.java
ava/android/location/GpsNavigationMessageListenerTransport.java
ava/android/location/IGpsMeasurementsListener.aidl
ava/android/location/IGpsNavigationMessageListener.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/LocalListenerHelper.java
ava/android/location/LocationManager.java
df1198401101805a335535dd08231cbb0e2af500 15-Oct-2014 destradaa <destradaa@google.com> Fix reference leak in GPS measurement JNI layer.
b/16727892
b/17075171

Change-Id: I5f41c6db114078b927e56a7614fa7c09a288e2b2
ava/android/location/GpsClock.java
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
ava/android/location/LocationManager.java
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
ava/android/location/package.html
566ebfde2b3195ec5897a680c879241c46f33477 25-Sep-2014 Tsuwei Chen <tsuwei@google.com> Fix an incorrect behavior that failed AT&T privacy test.

Bug: 17278951

Change-Id: I8b8bf4ed19af8738e7cef3553c8a06f7e27c7264
ava/com/android/internal/location/GpsNetInitiatedHandler.java
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
ava/android/location/LocationManager.java
7c485bf66a2f9c2ca0ce54e624ce48d39c568b97 11-Sep-2014 Tsuwei Chen <tsuwei@google.com> Handle user privacy properly during network initiated requests.
Bug: 16131208

Change-Id: Ic6f83fcf24eef9e0e26e303bb652651f0dc2970a
ava/com/android/internal/location/GpsNetInitiatedHandler.java
ff4f6c8859ead7cc94ff0d5ce46c8b346a769523 09-Sep-2014 Tsuwei Chen <tsuwei@google.com> Merge "Manually merge QC's change for SUPL_ES." into lmp-dev
bc3095139e9b8c7640fe6cebb4fc527af916d1be 08-Sep-2014 Tom O'Neill <tomo@google.com> Fix a STOPSHIP

Change-Id: I3714f1645c0a847e912cb79515fe3991960c1698
ava/android/location/LocationManager.java
3324e954127de3db2b3200fdefca8f4d0400b7bb 07-Sep-2014 Tsuwei Chen <tsuwei@google.com> Manually merge QC's change for SUPL_ES.

Original CL: https://android-review.googlesource.com/#/c/105431

Emergency SUPL

Added emergency SUPL when UE is
in emergency mode.

Bug: 17118312


Change-Id: Id9b77add9bbab139b983a84d5a4c798c9c94df43
ava/com/android/internal/location/GpsNetInitiatedHandler.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
ava/android/location/SettingInjectorService.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
ava/android/location/Location.java
ava/android/location/LocationRequest.java
52617bbff8607cdc208ba107ec111bd1471433cb 25-Aug-2014 Tsuwei Chen <tsuwei@google.com> Reload GPS configuration after carrier info is available.
Bug: 17110478
Change-Id: I1ecb71c4ca661df3dfeaea1622d73caeacb1350e
ava/android/location/GpsMeasurement.java
255dd04271088590fedc46c8e22b2fd4ab142d39 19-Aug-2014 Selim Cinek <cinek@google.com> Added notification color to all system notifications

Bug: 17128331
Change-Id: I81a94510ef51b99916f314c0dd65852426a1fbeb
ava/com/android/internal/location/GpsNetInitiatedHandler.java
4b3e3931270f8e406fc806bc7fa1c2788256687d 22-Jul-2014 destradaa <destradaa@google.com> Expose Gps Navigation Messages in the platform.
b/16405976

Change-Id: Ic982ea2467d116585780c20c2fa7e974e50f8345
ava/android/location/GpsMeasurementListenerTransport.java
ava/android/location/GpsNavigationMessage.java
ava/android/location/GpsNavigationMessageEvent.aidl
ava/android/location/GpsNavigationMessageEvent.java
ava/android/location/GpsNavigationMessageListenerTransport.java
ava/android/location/IGpsNavigationMessageListener.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/LocalListenerHelper.java
ava/android/location/LocationManager.java
81cabb8a7fb5b61f16bf49c2757ccb51bc88e708 22-Jul-2014 destradaa <destradaa@google.com> Add uncertainty for GPS received TOW field.
b/16463499

Change-Id: I5dde8a2737d9345eb7f77edc64ab7286254a65e4
ava/android/location/GpsMeasurement.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
ava/android/location/GpsClock.java
ava/android/location/GpsMeasurement.java
3b0224dc3c2e7ffb93dc56970395003d0e387545 16-Jul-2014 destradaa <destradaa@google.com> Fix exceptions in ActivityRecognition platform stack.

b/16348349

Change-Id: I1f85283c86130b86389a1be7da49904658b0558c
ib/java/com/android/location/provider/ActivityChangedEvent.java
ib/java/com/android/location/provider/ActivityRecognitionEvent.java
a4fa3b5aa53cf677b623fe346c585cb8a0c1ce26 09-Jul-2014 destradaa <destradaa@google.com> Add support in the platform for Activity Recognition Hardware.

Change-Id: I7c4fff3526583475a5edf1f4ba8fede4e9419ead
ib/java/com/android/location/provider/ActivityChangedEvent.java
ib/java/com/android/location/provider/ActivityRecognitionEvent.java
ib/java/com/android/location/provider/ActivityRecognitionProvider.java
ib/java/com/android/location/provider/ActivityRecognitionProviderWatcher.java
ea8a8a6076f04360de2d25b3e5853cde8026cd5f 24-Jun-2014 destradaa <destradaa@google.com> Update location framework to accept raw data from GPS HAL.

Change-Id: Ib4feca004b53fa89dcece4299974ab08913455a0
ava/android/location/GpsClock.java
ava/android/location/GpsMeasurement.java
ava/android/location/GpsMeasurementListenerTransport.java
ava/android/location/GpsMeasurementsEvent.aidl
ava/android/location/GpsMeasurementsEvent.java
ava/android/location/IGpsMeasurementsListener.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.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
ava/android/location/Location.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
ava/android/location/FusedBatchOptions.java
248ada68cce2d1ab8f59ef18b869d866f4af6045 01-Mar-2014 Tom O'Neill <tomo@google.com> Injected settings no longer include summaries

- Bug: 13279850

Change-Id: I0fd1e60b2a56c45776963c29bbae6f176fdf1bea
ava/android/location/SettingInjectorService.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
ava/android/location/LocationManager.java
8a985d24ce9a38f40ed88fecbdcd0e75e3a68f44 25-Feb-2014 John Spurlock <jspurlock@google.com> Tabs -> spaces in frameworks/base.

Change-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be
ava/android/location/LocationManager.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>
ava/android/location/LocationManager.java
6090995951c6e2e4dcf38102f01793f8a94166e1 19-Nov-2013 John Spurlock <jspurlock@google.com> Remove unused imports from frameworks/base.

Change-Id: Ia1f99bd2c1105b0b0f70aa614f1f4a67b2840906
ava/com/android/internal/location/GpsNetInitiatedHandler.java
ib/java/com/android/location/provider/GeofenceProvider.java
ib/java/com/android/location/provider/LocationProviderBase.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
ava/android/location/LocationManager.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
ava/android/location/SettingInjectorService.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
ava/android/location/LocationManager.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
ava/android/location/SettingInjectorService.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
ava/android/location/SettingInjectorService.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
ava/android/location/SettingInjectorService.java
c8211ea1cc65560938c31263edce6fcb87016acb 22-Aug-2013 Tom O'Neill <tomo@google.com> Add a little comment about the enabled value

Change-Id: I4ac0b864f55992242b6a3b0d8ffb328f23f6b645
ava/android/location/SettingInjectorService.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
ava/android/location/SettingInjectorService.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
ava/android/location/LocationRequest.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
ava/android/location/LocationRequest.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
ava/android/location/LocationRequest.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
ava/android/location/IFusedGeofenceHardware.aidl
fa2992c412c08f76331a3f58ca57cf8cf04e7b84 13-Aug-2013 Tom O'Neill <tomo@google.com> API for location settings injection

- Partial fix for b/10287745

Change-Id: Ie998ce0a7b350e4183fce5753bfac3eb51238ff4
ava/android/location/SettingInjectorService.java
64be0c617f902398cbbcc2b145c86a8fbfc2feac 10-Aug-2013 destradaa <destradaa@google.com> Address Robin's code review comments in initial FlpHal submission.

Change-Id: I50889599fdc5938a19b8bff4f11e64f44bcebdbf
ib/java/com/android/location/provider/FusedLocationHardware.java
ib/java/com/android/location/provider/FusedLocationHardwareSink.java
ib/java/com/android/location/provider/FusedProvider.java
1af4b0280af406cfc7eb46810f6b76e57b983e11 13-Jul-2013 destradaa <destradaa@google.com> Add FlpHal layer to support Location Batching.

Change-Id: Ia3a57d869dfb3f067a1b95fa66d54f311ddcfdc3
ava/android/location/FusedBatchOptions.aidl
ava/android/location/FusedBatchOptions.java
ava/android/location/IFusedGeofenceHardware.aidl
ava/android/location/IFusedProvider.aidl
ib/java/com/android/location/provider/FusedLocationHardware.java
ib/java/com/android/location/provider/FusedLocationHardwareSink.java
ib/java/com/android/location/provider/FusedProvider.java
ib/java/com/android/location/provider/GmsFusedBatchOptions.java
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
ava/android/location/LocationManager.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
ava/android/location/LocationRequest.java
82edc9b3482307a8e93655aadabb4f9ad24efe46 19-Jul-2013 David Christie <dnchrist@google.com> Add WorkSource capability to LocationManager

Change-Id: I0fbbad0879b87ecc75a503bf7963356595bf4b96
ava/android/location/LocationRequest.java
8c84109b9fbbf473b225707a38261ff5f99d95fb 24-Jun-2013 Dianne Hackborn <hackbod@google.com> Use FastPrintWriter... everywhere.

One problem this turned up is, because FastPrintWriter does
its own buffering, a lot of code that used to use PrintWriter
would fail -- if it pointed to a StringWriter, there was no
buffering, so it could just immediately get the result. Now
you need to first flush the FastPrintWriter.

Also added some new constructors to specify the size of buffer
that FastPrintWriter should use.

Change-Id: If48cd28d7be0b6b3278bbb69a8357e6ce88cf54a
ib/java/com/android/location/provider/LocationProviderBase.java
0b5c30a16e48a8ac7ebe71af0240a1b0c7e43eac 21-May-2013 Ying Wang <wangying@google.com> Make com.android.location.provider visible to apps-only build.

Change-Id: Ic7983418d9577343817d5a80ebb0847804d2a1b2
ndroid.mk
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
ava/android/location/package.html
8ce470dd4ba0608abb6b5eae117cefca927af96b 03-Apr-2013 Jaikumar Ganesh <jaikumar@google.com> GPS Hardware geofencing.

Add support for doing geofencing in hardware.

Change-Id: I6d5015190e8d84e1f4beb1010ed977a71c1622d0
ava/android/location/IGeofenceProvider.aidl
ava/android/location/IGpsGeofenceHardware.aidl
ib/java/com/android/location/provider/GeofenceProvider.java
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
ava/android/location/Location.java
ava/android/location/LocationManager.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
ccb4c318aa5150ba49b7e7878d20b4787d6bf723 12-Dec-2012 Laurent Tu <laurentt@google.com> Revert "Move location provider lib to frameworks/ex - 1"

This reverts commit 578081f9da7ddb056b9b98524c639acd9194ecb6.
ib/Android.mk
ib/README.txt
ib/com.android.location.provider.xml
ib/java/com/android/location/provider/GeocodeProvider.java
ib/java/com/android/location/provider/LocationProviderBase.java
ib/java/com/android/location/provider/LocationRequestUnbundled.java
ib/java/com/android/location/provider/ProviderPropertiesUnbundled.java
ib/java/com/android/location/provider/ProviderRequestUnbundled.java
578081f9da7ddb056b9b98524c639acd9194ecb6 05-Dec-2012 Laurent Tu <laurentt@google.com> Move location provider lib to frameworks/ex - 1

Move location provider lib to frameworks/ex so it can be re-used in
GmsCore.

This is the frameworks/base part of the change (1).

Change-Id: Ifc31a6809876e9c9afb6ed841b66cf06de7e8964
ib/Android.mk
ib/README.txt
ib/com.android.location.provider.xml
ib/java/com/android/location/provider/GeocodeProvider.java
ib/java/com/android/location/provider/LocationProviderBase.java
ib/java/com/android/location/provider/LocationRequestUnbundled.java
ib/java/com/android/location/provider/ProviderPropertiesUnbundled.java
ib/java/com/android/location/provider/ProviderRequestUnbundled.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
ava/android/location/Geofence.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
ava/android/location/Country.java
ava/android/location/INetInitiatedListener.aidl
ava/com/android/internal/location/GpsNetInitiatedHandler.java
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
ava/android/location/Criteria.java
ava/android/location/Geofence.java
ava/android/location/Location.java
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/LocationRequest.java
ib/java/com/android/location/provider/LocationRequestUnbundled.java
ib/java/com/android/location/provider/ProviderRequestUnbundled.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
ava/android/location/Location.java
ib/java/com/android/location/provider/LocationProviderBase.java
8761e143c987fc48d854818988cde44700c9f602 30-Oct-2012 Scott Main <smain@google.com> docs: Clarify the callback mechanisms for LocationRequest
and clarify horizontal geofencing

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

Bug: 7172696
Change-Id: Ib1a104ee4a97c51996200b8d456face66178115f
ava/android/location/Geofence.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
ava/android/location/LocationManager.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
ava/android/location/LocationRequest.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
ava/android/location/LocationRequest.java
38389b6cf7bd2ef49d2bd20ff1bca8677596590e 30-Sep-2012 Victoria Lease <violets@google.com> Route GPS notifications to all users.

This takes the easy way around notifying the correct users
about GPS state transitions by notifying ALL the users(!).

I've also laid groundwork for proper multiuser support in
LocationManager and did a tiny bit of cleanup in
GpsNetInitiatedHandler while I was looking at notifications.

Bug: 7213552
Change-Id: I2d6dc65c459e55d110ac0f5f79ae7a87ad638ede
ava/com/android/internal/location/GpsNetInitiatedHandler.java
4118012da9a22694b3353040a485f8cdc27e2f17 26-Sep-2012 Philip Milne <pmilne@google.com> Fix for bug: #7173350. elapsedRealtimeNano() -> elapsedRealtimeNanos()

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

Change-Id: Iaebd4cf00c8a33bcf4fc74eaa1dfec9675032826
ava/android/location/LocationManager.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
ava/android/location/Location.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
ava/android/location/Location.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
ava/android/location/Location.java
ava/android/location/LocationRequest.java
8a624ef0fe5e86031f15f4120205c869e34f6637 21-Sep-2012 Romain Guy <romainguy@google.com> API REVIEW: Undeprecate Location.dump()
Bug #7173109

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

Bug: 7153226
Change-Id: I49236379e739fcda66bbc9a31cfdca9a87122aec
ava/android/location/LocationManager.java
1332b53522e281012fefb34bfbcc68a03028f516 22-Aug-2012 Nick Pelly <npelly@google.com> Fix some location issues exposed by CTS.

Change-Id: I5859ee2c9db5745b0a3bc8abfa8f08728fb25059
ava/com/android/internal/location/ProviderProperties.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
ava/android/location/Location.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
b03c8c508dcbbef364e624ad5bc0ab6fa6733dc7 15-Aug-2012 Nick Pelly <npelly@google.com> Add documentation for com.android.location.provider shared library.

Change-Id: I222d61811c88272e84a85512623210c0238337e5
ib/README.txt
ib/java/com/android/location/provider/GeocodeProvider.java
ib/java/com/android/location/provider/LocationProviderBase.java
ib/java/com/android/location/provider/ProviderPropertiesUnbundled.java
ib/java/com/android/location/provider/ProviderRequestUnbundled.java
4e31c4fffbc42b4c2b5dca6431cfeef9e078f5b4 14-Aug-2012 Nick Pelly <npelly@google.com> Add javadoc for new location API's.

Change-Id: If15024ee88421c07ba3a174747774fc451fd002e
ava/android/location/Criteria.java
ava/android/location/Geofence.java
ava/android/location/Location.java
ava/android/location/LocationManager.java
ava/android/location/LocationRequest.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
ava/android/location/LocationRequest.java
08ca1046fe4f1890f91241f8d082a024ef6cfd93 11-Aug-2012 Nick Pelly <npelly@google.com> Fix a couple of bugs from the location overhaul.

Marshall LocationRequest array correctly.

Observe reportLocation from FusionEngine.

Actually deliver the setRequest message to fusion engine.

Change-Id: Iff64596fdd42f9fb06e563591dda9fbe0241533a
ava/com/android/internal/location/ProviderRequest.java
ib/java/com/android/location/provider/ProviderRequestUnbundled.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
ava/android/location/LocationManager.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
ava/android/location/Criteria.java
ava/android/location/Geofence.aidl
ava/android/location/Geofence.java
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/Location.java
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/LocationRequest.aidl
ava/android/location/LocationRequest.java
ava/com/android/internal/location/DummyLocationProvider.java
ava/com/android/internal/location/ILocationProvider.aidl
ava/com/android/internal/location/ProviderProperties.aidl
ava/com/android/internal/location/ProviderProperties.java
ava/com/android/internal/location/ProviderRequest.aidl
ava/com/android/internal/location/ProviderRequest.java
ib/Android.mk
ib/java/com/android/location/provider/LocationProvider.java
ib/java/com/android/location/provider/LocationProviderBase.java
ib/java/com/android/location/provider/ProviderPropertiesUnbundled.java
ib/java/com/android/location/provider/ProviderRequestUnbundled.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.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
ava/android/location/Location.java
ava/android/location/LocationManager.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/DummyLocationProvider.java
9be0105fbc56eb1b1813bb7c5fe258a144867a43 22-Jun-2012 Scott Main <smain@google.com> docs: fix several links

Change-Id: I89d9fd64dc22c90680bb05415cc966c255165af9
ava/android/location/package.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
ava/android/location/LocationManager.java
3aef8e1d1b2f0b87d470bcccf37ba4ebb6560c45 20-Dec-2011 Joe Fernandez <joefernandez@google.com> docs: Add developer guide cross-references, Project ACRE, round 4

Change-Id: I1b43414aaec8ea217b39a0d780c80a25409d0991
ava/android/location/LocationListener.java
ava/android/location/LocationManager.java
ava/android/location/package.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
ava/android/location/Country.java
40c5ccfffe1aca40c8e6b9155ce2f9918b53701a 19-Jul-2011 Jesse Wilson <jessewilson@google.com> Acknowledge that the platform guarantees UTF-8 and UTF-16.

These log statements were dead code. That isn't much of a problem,
except that the 'e.getMessage()' that was being logged could be null,
and that would cause a real problem.

Change-Id: I8573bc687a7eda73782bd028e8ddc048a1954dc5
ava/com/android/internal/location/GpsNetInitiatedHandler.java
08c34c27b6a0153a58950ce7c541700a71bc0ed7 01-Jul-2011 Conley Owens <cco3@android.com> am e0009bb0: am 98395483: am 9f2cbf14: am e06749e1: Merge "Add FLAG_AUTO_CANCEL flag for multiple supl notifications."

* commit 'e0009bb0b700dcfeba3ff77f8c33113499674432':
Add FLAG_AUTO_CANCEL flag for multiple supl notifications.
e0009bb0b700dcfeba3ff77f8c33113499674432 30-Jun-2011 Conley Owens <cco3@android.com> am 98395483: am 9f2cbf14: am e06749e1: Merge "Add FLAG_AUTO_CANCEL flag for multiple supl notifications."

* commit '98395483e4309f7b92348136491575861008b3c0':
Add FLAG_AUTO_CANCEL flag for multiple supl notifications.
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
ava/android/location/Country.java
fad5445c66ca6190ad37515018996c61d9b2b0a5 28-Feb-2011 Anshuman Pandey <anshuman.pandey@stericsson.com> Add FLAG_AUTO_CANCEL flag for multiple supl notifications.

Added FLAG_AUTO_CANCEL to notification flags in GpsNetInitiatedHandler.java.
This is done to clear consecutive notifications in UI

Change-Id: I84be36af0b556f43ffd7d51ac04ff12300090ca5
Signed-off-by: Anshuman Pandey <anshuman.pandey@stericsson.com>
Signed-off-by: Christian Bejram <christian.bejram@stericsson.com>
ava/com/android/internal/location/GpsNetInitiatedHandler.java
a550bdc84af70babb48091197bfb1b93d3671664 27-Apr-2011 Daisuke Miyakawa <dmiyakawa@google.com> Use passive provider for location based country detection

Bug: 4345419
Change-Id: Ia3e071b97c6971538ea994fdee6029db928201d6
ava/android/location/LocationManager.java
e590ccfb128b72dade4f6521b49eb8f658bf35e1 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: I0a0f612104a946b7db96928505bb95673377a335
ava/android/location/LocationManager.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
ava/android/location/LocationManager.java
b732b7b5e8192501360edc15fb8c6399d11fb97d 28-Feb-2011 Xavier Ducrohet <xav@android.com> am ce57a7f3: am 6504490c: am dff6b8e7: Merge "Add --non-constant-id to aapt."

* commit 'ce57a7f35344e76689d30f45964d1e37b78280cb':
GpsLocationProvider: Clean up HAL initialization/cleanup sequence
Fixed GSM encoded network initiated position request
Ensuring thread-safe usage of DateFormat.
Fixing infinite loop for zero duration.
Fix for an infinite loop while scrolling lists.
WAPPushManager, WAP Push over SMS message handler
Add --non-constant-id to aapt.
6664d989c8432910ce5f13469ba49e77ae185f89 18-Nov-2010 Hakan Gustavsson <hakan.gustavsson@sonyericsson.com> Fixed GSM encoded network initiated position request

GSM encoded network initiated position requests were previously
not correctly decoded. The GSM encoded string was decoded as
ASCII but not all characters are encoded in the same way for
GSM and ASCII. These characters was not displayed.

Besides that, when the number of characters was evenly divided
by 8 the last character was lost. This is also corrected.

Change-Id: Ic70b7c28bbba1f2936a9cc99e78f8002cc5c8761
ava/com/android/internal/location/GpsNetInitiatedHandler.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
ava/android/location/package.html
65dd62a306b733b4891aa455b2e099d9c15fffa8 07-Dec-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of ee27dd35 to master

Change-Id: Ia9f4ea86b8554ff04a3aa6b9e065239ae73740e7
12902d687fa1bd4bff3c2dfc079c71eacb00eedd 07-Dec-2010 Jean-Baptiste Queru <jbq@google.com> resolved conflicts for merge of 78742e01 to stage-korg-master

Change-Id: I0ce429afeb26184f075b4ed326fc4e1c0833e905
dea74b0285ef946cceb4f56e576800cbedbc3a95 22-Nov-2010 Hakan Gustavsson <hakan.gustavsson@sonyericsson.com> Strings for NI position request are moved to resources

The strings used by the framework for network initiated position
requests are now string resources that can be properly localized.

Change-Id: If1cba89adb1bfcb9c8fdb59b9c5aa1107b11279e
ava/com/android/internal/location/GpsNetInitiatedHandler.java
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
ava/android/location/provider/GeocodeProvider.java
ava/android/location/provider/LocationProvider.java
f72d1e2129500179f973d46bca571546e1192e3f 29-Sep-2010 Dianne Hackborn <hackbod@google.com> am e5317fbd: am 4f67e1cc: Merge "Add location shared library for location provider APIs." into gingerbread

Merge commit 'e5317fbd48875896e04a34d955edf650f11f9771'

* commit 'e5317fbd48875896e04a34d955edf650f11f9771':
Add location shared library for location provider APIs.
63c82c027bb3bd2b803e3225c9135c77b1f92b7b 28-Sep-2010 Dianne Hackborn <hackbod@google.com> Add location shared library for location provider APIs.

First part, adding the existing classes in their new library. The old
code will be removed once everything gets switched to using this.

Change-Id: I27b6ad8c75c16f35300090e95f12a7db5608e3a3
ndroid.mk
ib/Android.mk
ib/com.android.location.provider.xml
ib/java/com/android/location/provider/GeocodeProvider.java
ib/java/com/android/location/provider/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>
ava/android/location/Geocoder.java
ava/android/location/GeocoderParams.java
ava/android/location/ILocationManager.aidl
ava/android/location/provider/GeocodeProvider.java
ava/android/location/provider/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
ava/android/location/ILocationProvider.aidl
ava/android/location/provider/LocationProvider.java
b445946deaad61fc3acaf4760a135fb92d0547b0 17-Aug-2010 Mike Lockwood <lockwood@android.com> GPS: Initialize XTRA support when GPS is enabled

BUG: 2923148

Change-Id: If9a643e385c6c567b30f47d4caa35fa812a2ba43
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
3e34d135f7fca756d00ebdc50c55b4f12ef7a328 06-Aug-2010 Mike Lockwood <lockwood@android.com> GPS: Don't set XTRA download pending flag at boot time.

XTRA data downloads are now strictly on demand from the GPS engine.
Also fix typo in handleDownloadXtraData()

Change-Id: Ied1a6e2e62134add4d965326aae909c86f834682
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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
ava/android/location/LocationManager.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
ava/android/location/Country.aidl
ava/android/location/Country.java
ava/android/location/CountryDetector.java
ava/android/location/CountryListener.java
ava/android/location/ICountryDetector.aidl
ava/android/location/ICountryListener.aidl
ests/locationtests/src/android/location/CountryTester.java
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>
ava/android/location/LocationManager.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>
ava/android/location/Criteria.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
ava/android/location/Geocoder.java
ava/android/location/ILocationManager.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>
ava/android/location/provider/GeocodeProvider.java
ava/android/location/provider/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>
ava/android/location/Criteria.java
ava/android/location/GeocoderParams.java
ava/android/location/LocationManager.java
ava/android/location/provider/GeocodeProvider.java
ava/android/location/provider/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>
ava/android/location/Criteria.java
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/provider/LocationProvider.java
ava/com/android/internal/location/DummyLocationProvider.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
855a9e6d12e4d42efe336535f9fdf5fc2e14c5d5 10-May-2010 Jean-Baptiste Queru <jbq@google.com> Merge "Include the API level 4 fields in the Parcel."
f4dffd8a45386b5a5f0e6de4f30facc9eaac4001 07-May-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master

Change-Id: I4c28751bd84b41259b12b0f3e3307e11234c8b64
fa94ff074d3200fae2f5d14a6d0f454e2ad23cfa 23-Feb-2010 Hakan Gustavsson <hakan.gustavsson@sonyericsson.com> GpsLocationProvider: Store new Location before onGpsStatusChanged is sent

In reportLocation() the new location is now stored before the callback
onGpsStatusChanged(GPS_EVENT_FIRST_FIX) is sent. This will prevent users
from getting a faulty location from LocationManager.getLastKnownLocation()
after receiving onGpsStatusChanged(GPS_EVENT_FIRST_FIX).

Change-Id: I6c654b2acbf2e216c99058a20f068bf4721a1c7a
ava/com/android/internal/location/GpsLocationProvider.java
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>
ava/android/location/GpsStatus.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>
ava/android/location/LocationManager.java
ava/android/location/LocationProviderInterface.java
ava/com/android/internal/location/GeocoderProxy.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsNetInitiatedHandler.java
ava/com/android/internal/location/GpsXtraDownloader.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
ava/com/android/internal/location/PassiveProvider.java
5b53244a4e6c81b5346cde22fabbbefe5b472cf7 18-Mar-2010 Mike Lockwood <lockwood@android.com> GpsNetInitiatedHandler: whitespace cleanup

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsNetInitiatedHandler.java
79e642e8ed75033eacc461633a8f4cd5157d25df 18-Mar-2010 Mike Lockwood <lockwood@android.com> Call LocationManager.sendNiResponse() instead of calling directly to GpsLocationProvider

Change-Id: I6a5b47abb0519f5228d29bc3340bb2490564803e
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsNetInitiatedHandler.java
89096317104722219f73a5c3cc424e6e98c90a61 24-Mar-2010 Mike Lockwood <lockwood@android.com> Wait until GpsLocationProvider is fully initialized before returning from the constructor.

Otherwise we are left with a race condition that might result in the provider
being called before it is ready.

BUG: 2539392
Change-Id: I05f4a2501c43d5fa95c0e68f5a963015cf9c6e8f
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
62a8fc159ad8d8044f3cde6ee6d46e9cc56b823f 22-Mar-2010 Mike Lockwood <lockwood@android.com> GpsLocationProvider: Do our work in a Handler running in a separate thread.

To avoid adding a new thread to the system, we take the functionality that was
in GpsNetworkThread for downloading NTP time and XTRA data and include this in
the new thread as well.

BUG: 2531728

Change-Id: I2a26b7f0aae0c60faceb36dc6bc29c915c039ae6
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
69d63446d868ea7b33d6b7c1b5e267693a09c127 18-Mar-2010 Mike Lockwood <lockwood@android.com> Remove unused file NmeaParser.java

Change-Id: I8027b98ccf1271870243ced8a7ccc61d25a224b2
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/NmeaParser.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>
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationProviderInterface.java
ava/android/location/provider/LocationProvider.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
ava/com/android/internal/location/PassiveProvider.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>
ava/android/location/LocationManager.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>
ava/android/location/GeocoderParams.java
2269d1572e5fcfb725ea55f5764d8c3280d69f6d 25-Feb-2010 Dianne Hackborn <hackbod@google.com> Re-arrange android-common so framework no longer links with it.

This is the framework part, moving classes around so the framework
no longer needs to link to android-common. Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
ava/com/android/internal/location/GpsXtraDownloader.java
b7be5447a002b4a1cf7d4030cc8a0a330cd7517c 24-Feb-2010 Mike Lockwood <lockwood@android.com> GpsLocationProvider: Be less aggressive about getting fixes in bad conditions if we have a long fix interval.

Change-Id: I68bd884409ca15e584ab70e53cf142d60f318d9c
BUG: 2215714

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
63598a0619776b421f27cd12fb29eb83dc327997 24-Feb-2010 Mike Lockwood <lockwood@android.com> Fix broken location extras in GpsLocationProvider.

Fixes http://code.google.com/p/android/issues/detail?id=4151
(Satellite count not being provided by Location class any more. Location.getExtras() returns null.)

Change-Id: I4cf2922f4a5ed216541f8a8553523d1f6a1c1d0c
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/provider/LocationProvider.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/MockProvider.java
ava/com/android/internal/location/PassiveProvider.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>
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationProviderInterface.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.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>
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
ava/android/location/LocationProviderImpl.java
ava/android/location/provider/GeocodeProvider.java
ava/android/location/provider/LocationProvider.java
ava/com/android/internal/location/GeocoderProxy.java
ava/com/android/internal/location/LocationProviderProxy.java
ad9bcb22d05fbf130ac64254abd51a137e9a3d3f 05-Feb-2010 The Android Open Source Project <initial-contribution@android.com> merge from open-source master
8ab11f87acf01b830ad0db46ec549406b33c39de 02-Feb-2010 Mike Lockwood <lockwood@android.com> Fix for GPS engines without separate session and engine status events.

GPS_STATUS_SESSION_BEGIN now implies GPS_STATUS_ENGINE_ON
and GPS_STATUS_ENGINE_OFF now implies GPS_STATUS_SESSION_END.

Change-Id: Ifeeb1d5094d1e7304974b7c3ac27dd83b1e65bca
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
c2a6738215af95bc50639e43c8f9291a0d521b37 20-Jan-2010 Mike Lockwood <lockwood@android.com> Be tolerant of GPS session and engine on status messages arriving out of order.

BUG: 2366194

Change-Id: Iac152cc46f3647e12c9077f1bfa4183f19ac94b6
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
2f3a615feaa1286612576bc15f6bd8cae011301f 08-Dec-2009 Mike Lockwood <lockwood@android.com> GpsLocationProvider: Do not release wakelock until the GPS engine is fully off

Change-Id: I705b1d33af2d70aa1084cca8f6280fade9461d2c
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
271f9f172b241607b1ed39a7709c3ed47ee5dee7 02-Feb-2010 Mike Lockwood <lockwood@android.com> Fix for GPS engines without separate session and engine status events.

GPS_STATUS_SESSION_BEGIN now implies GPS_STATUS_ENGINE_ON
and GPS_STATUS_ENGINE_OFF now implies GPS_STATUS_SESSION_END.

Change-Id: I7217dc5213ae9a5658ac81b0a14b61d3e36ca0f6
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
5310b36a3710f0e298b944a74759ae8ce3af755c 02-Feb-2010 Mike Lockwood <lockwood@android.com> resolved conflicts for merge of 21875ab3 to master

Change-Id: I447e813b3ec460bbc9050de6b95bd663bb33c86f
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>
ava/android/location/LocationProviderImpl.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>
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
1a44d5dcabc18cd5ef111f732ccff91683a1a093 13-Jan-2010 Neal Nguyen <tommyn@google.com> Phase 2 of test cleanup: moving test files from AndroidTests closer to their sources.

Most of these are file moves; a couple notable exceptions are the changes due to the move, and fixing up test code:
- database/DatabaseCursorTest.java
- database/DatabaseStatementTest.java
- net/UriTest.java
ests/locationtests/src/android/location/GeocoderTest.java
ests/locationtests/src/android/location/LocationManagerTest.java
f1218be2d8f68f3f445f3bc90e0eca01946a0ddf 29-Jan-2010 Mike Lockwood <lockwood@android.com> Ignore NTP time fixes that differ from system time by more than 5 minutes.

Change-Id: I603195f6925e25baccd18190016cf8611bb9dc1b
BUG: 2402380
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
22e31e5b609136d5bf7d77b1dccd6b042b83ebdf 07-Jan-2010 Neal Nguyen <tommyn@google.com> Moving framework core tests closer to their source files.

Phase 2 of test case cleanup; distributing CoreTests files closer to their respective sources under frameworks.
ests/locationtests/Android.mk
ests/locationtests/AndroidManifest.xml
ests/locationtests/src/android/location/LocationTest.java
345bf168db1534685232ef809c5669be6c65a949 23-Jan-2010 Mike Lockwood <lockwood@google.com> am 47d302a0: am bb79e5fd: Merge "Be tolerant of GPS session and engine on status messages arriving out of order." into eclair

Merge commit '47d302a001c71f90bee8dc31d868b463a47f2d51'

* commit '47d302a001c71f90bee8dc31d868b463a47f2d51':
Be tolerant of GPS session and engine on status messages arriving out of order.
e6ec57727e2da14a9027293858d97a84b08768b1 20-Jan-2010 Paul Watts <paulcwatts@gmail.com> Include the API level 4 fields in the Parcel.
ava/android/location/Address.java
cf1d8cb36fade2bfbfb94af371de23684e0f7ac7 20-Jan-2010 Mike Lockwood <lockwood@android.com> Be tolerant of GPS session and engine on status messages arriving out of order.

BUG: 2366194

Change-Id: I642dacd397202f671adba5a863394438ca62988d
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/LocationManager.java
f5d95cbc1a6974afeb4d3155bdaa8dae55722a39 08-Jan-2010 Joe Onorato <joeo@android.com> less log spew
ava/android/location/LocationManager.java
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/LocationProviderImpl.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
ava/android/location/LocationManager.java
ava/android/location/LocationProviderImpl.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>
ava/android/location/Geocoder.java
ava/android/location/GeocoderParams.aidl
ava/android/location/GeocoderParams.java
ava/android/location/IGeocodeProvider.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
7762d93621f508f4410fd37b5bbdfec0071b0420 11-Dec-2009 Paul Westbrook <pwestbro@google.com> Unbundling work

Moved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator
NumberPicker, NumberPickerButton to android-common
---
ava/com/android/internal/location/GpsXtraDownloader.java
dbd6fd8ebb60dd7bb243f9c78db994a8e7e5b5c9 08-Dec-2009 Mike Lockwood <lockwood@android.com> GpsLocationProvider: Do not release wakelock until the GPS engine is fully off

Change-Id: I705b1d33af2d70aa1084cca8f6280fade9461d2c
Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
9db3d07b9620b4269ab33f78604a36327e536ce1 13-Nov-2009 Jean-Baptiste Queru <jbq@google.com> eclair snapshot
ava/android/location/Geocoder.java
ava/android/location/GpsStatus.java
ava/android/location/IGpsStatusListener.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/INetInitiatedListener.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsNetInitiatedHandler.java
ava/com/android/internal/location/GpsXtraDownloader.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.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>
ava/android/location/ILocationProvider.aidl
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
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>
ava/android/location/LocationManager.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>
ava/android/location/ILocationManager.aidl
ava/android/location/INetInitiatedListener.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsNetInitiatedHandler.java
660bbfcc54d48d5d32e64da683c76b9c372c19b1 26-Aug-2009 Mike Lockwood <lockwood@android.com> GpsLocationProvider: Default to AGPS on if the setting is missing.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/GpsStatus.java
ava/android/location/LocationManager.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>
ava/android/location/GpsStatus.java
ava/android/location/IGpsStatusListener.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/GpsLocationProvider.java
a8675f67e33bc7337d148358783b0fd138b501ff 29-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ava/android/location/Address.java
734d6031a662a275ec68627bd1258159041d44de 29-Jul-2009 Mike Lockwood <lockwood@android.com> GPS: Don't call native_set_agps_server() until after we call native_init().

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f 21-Jul-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ava/android/location/ILocationCollector.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
2bb99d1e2f0296dd8b09a451575f70f49da30a1b 17-Jul-2009 Mike Lockwood <lockwood@android.com> GpsLocationProvider: remove mAgpsConfigured configured flag.

This flag was unnecessary because the lower level GPS code already checks for this
and this was causing problems for a GPS implementation that does not use /etc/gps.conf

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/Address.java
55ed4914de69f30c1067bf1894b193f89dfd53b3 09-Jun-2009 Kenny Root <kenny@the-b.org> Fix typo in Javadoc for LocationManager.GPS_PROVIDER
ava/android/location/LocationManager.java
0d0012ef1617170701b9cd7492ef04ac47bfb5ca 03-Jul-2009 Android (Google) Code Review <android-gerrit@google.com> am 54af78a3: Merge change 5950 into donut

Merge commit '54af78a3f7064e04d7ebd64c985d4149f9f7b05c'

* commit '54af78a3f7064e04d7ebd64c985d4149f9f7b05c':
Fix memory leaks in system_server
fff2fda0199dedbf1079454dca98a81190dce765 01-Jul-2009 Suchi Amalapurapu <asuchitra@google.com> Fix memory leaks in system_server
unlink DeathRecipients in a whole bunch of places to avoid memory leaks
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
bcab8df83e6e769a7cbcc742e72b47d665998793 25-Jun-2009 Mike Lockwood <lockwood@android.com> Settings: Add preference to enable/disable assisted GPS.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
3618160a1a10ab7574f14e0e5a45fe79ec660a64 23-Jun-2009 Dianne Hackborn <hackbod@google.com> am 2e418428: Possibly fix an issue where we thought an app was always using GPS.

Merge commit '2e418428987132ea66533cbc05f9c526eb59519a'

* commit '2e418428987132ea66533cbc05f9c526eb59519a':
Possibly fix an issue where we thought an app was always using GPS.
2e418428987132ea66533cbc05f9c526eb59519a 23-Jun-2009 Dianne Hackborn <hackbod@google.com> Possibly fix an issue where we thought an app was always using GPS.

There may be some race conditions in the gps provider where it can cause a uid
to be double booked for gps usage and never released. Address this by tweaking
some locking (so mLocation and the uid array are protected by a lock both when
reading and writing). Also add some code to log a warning if someone tries to
note a particular uid multiple times, since the code will break in that case.

Finally, fix a problem in the battery stats where we weren't allowing a new Uid
structure to be created in many cases for calls coming in.
ava/com/android/internal/location/GpsLocationProvider.java
15d748659df12d05289a00a850547b241470a959 22-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am cde13e6b: Merge change 4954 into donut

Merge commit 'cde13e6bfa6465d5770755892e2ee234a1f85d5c'

* commit 'cde13e6bfa6465d5770755892e2ee234a1f85d5c':
gps: Check for null APN name to avoid a runtime restart.
b362a9ab91bb4c05ef1d5c4e7019499257c7f849 22-Jun-2009 Mike Lockwood <lockwood@android.com> gps: Check for null APN name to avoid a runtime restart.

We still need to figure out how the APN name is getting set to empty string
by the telephony code.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
84c4335f86555059729460c1be94a1579f485315 19-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am f781b39c: Merge change 4786 into donut

Merge commit 'f781b39cb89dc19e6ad090bd3eb1bedbe7928429'

* commit 'f781b39cb89dc19e6ad090bd3eb1bedbe7928429':
gps: Set SUPL server via hostname rather than IP address.
a9e546169b3c2c9c5f248d2f3abe3b934f48695d 19-Jun-2009 Mike Lockwood <lockwood@android.com> gps: Set SUPL server via hostname rather than IP address.

The GPS engine needs the hostname for the secure SUPL case
and deferring the DNS lookup to the HAL might be helpful in the future
if the SUPL server is on a carrier's private network.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
989895e43f59e00fe0f07ac3dd6e373258caf693 11-Jun-2009 Android (Google) Code Review <android-gerrit@google.com> am fa699ea2: Merge change 3899 into donut

Merge commit 'fa699ea22a13a92694de75ef948a81da23e71642'

* commit 'fa699ea22a13a92694de75ef948a81da23e71642':
GpsLocationProvider: Add hooks for GPS location injection.
d26ce0d903f5141a346d67b2b94437ef3e2880aa 11-Jun-2009 Mike Lockwood <lockwood@android.com> GpsLocationProvider: Add hooks for GPS location injection.

This will allow injecting cell ID location to the GPS
(not implemented yet).

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/ILocationCollector.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
0376fe43e68cbfa7f846d1663a008dd67ec52c22 20-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 2d10ba33: Merge change 2111 into donut

Merge commit '2d10ba33190c2ff1b24d6c48dd621c55a25bf2cc'

* commit '2d10ba33190c2ff1b24d6c48dd621c55a25bf2cc':
GPS: Add support for forcing NTP time and XTRA data injection.
93bc44d72125cfe798183b5b6891716dadac0ed7 20-May-2009 Mike Lockwood <lockwood@android.com> GPS: Add support for forcing NTP time and XTRA data injection.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
843ef36f7b96cc19ea7d2996b7c8661b41ec3452 20-May-2009 Jean-Baptiste Queru <jbq@google.com> donut snapshot
ata/Android.mk
ata/kml/kml
ata/kml/properties
ata/location
ata/nmea
ata/properties
ata/test/class
ata/track/properties
ata/track/track
ava/android/location/DummyLocationProvider.java
ava/android/location/Geocoder.java
ava/android/location/GpsStatus.java
ava/android/location/IGeocodeProvider.aidl
ava/android/location/IGpsStatusProvider.aidl
ava/android/location/ILocationCollector.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/DummyLocationProvider.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsXtraDownloader.java
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
ava/com/android/internal/location/TrackProvider.java
28489545304723d530fc609b8326bd138018acd4 14-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 02c1c46f: Merge change 1674 into donut

Merge commit '02c1c46fff22490f884f05520d58eadae1442db8'

* commit '02c1c46fff22490f884f05520d58eadae1442db8':
gps: Time out after 1 minute if we are unable to get a fix and our fix interval is long.
0632ca7bbea5dbd89a584cc3cd6a0630a767e94b 14-May-2009 Mike Lockwood <lockwood@android.com> gps: Time out after 1 minute if we are unable to get a fix and our fix interval is long.

This will prevent us from keeping the processor awake indefinitely if a
background service is requesting periodic updates and we are unable to get a fix.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
9e5d5d6fac951d4d97c4d1df250f6a0f67a95c77 12-May-2009 Mike Lockwood <lockwood@android.com> am 3681f26: LocationManager: Recover if process containing NetworkLocat

Merge commit '3681f2614fa8c10560c790f6b4287f65d6fd2663'

* commit '3681f2614fa8c10560c790f6b4287f65d6fd2663':
LocationManager: Recover if process containing NetworkLocation provider crashes
3681f2614fa8c10560c790f6b4287f65d6fd2663 12-May-2009 Mike Lockwood <lockwood@android.com> LocationManager: Recover if process containing NetworkLocation provider crashes

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/LocationProviderProxy.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>
ava/android/location/LocationManager.java
22a262f09d1f4142ed699f50b128071da704b819 11-May-2009 Android (Google) Code Review <android-gerrit@google.com> am 5e1d8ae: Merge change 1355 into donut

Merge commit '5e1d8aed4a557a7c055aa4c19875df75d7e41ae6'

* commit '5e1d8aed4a557a7c055aa4c19875df75d7e41ae6':
GPS: Generalize SUPL support to include AGPS for CDMA
e3635c9693c4cd9650684f14e19dcabcea0d488a 11-May-2009 Mike Lockwood <lockwood@android.com> GPS: Generalize SUPL support to include AGPS for CDMA

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/ILocationProvider.aidl
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
54f2422b487334f6a618fcf8a6ec9353bf651bab 07-May-2009 Android (Google) Code Review <android-gerrit@google.com> am fd445d3: Merge change 1095 into donut

Merge commit 'fd445d3510cddc7a67cf7720935626684a2f3011'

* commit 'fd445d3510cddc7a67cf7720935626684a2f3011':
gps: Move GPS scheduling from libgps to GpsLocationProvider.
29c84340a14e70419449628ab193d11b7a609e9a 06-May-2009 Mike Lockwood <lockwood@android.com> gps: Move GPS scheduling from libgps to GpsLocationProvider.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
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>
ava/android/location/GpsStatus.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>
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/MockProvider.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>
ava/android/location/IGpsStatusProvider.aidl
ava/android/location/ILocationProvider.aidl
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderImpl.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
212548f634e80f419b29f547afb9472d7353cf2b 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 76b25e5: Merge change 692 into donut

Merge commit '76b25e5e78dde3443f9c57c47e5989ad8ff43771'

* commit '76b25e5e78dde3443f9c57c47e5989ad8ff43771':
location: Optimize use of mProviders ArrayList.
77c8adf9ff3c17937036d4392bf80a5cc1083313 29-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> am 5f2788b: Merge change 686 into donut

Merge commit '5f2788bc9d947f7793aaea06f7e21d6b74c98826'

* commit '5f2788bc9d947f7793aaea06f7e21d6b74c98826':
gps: Don't crash if no XTRA servers are specified.
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.
8749fecd99dbc468a79b993ff9926cded8e0552f 29-Apr-2009 Mike Lockwood <lockwood@android.com> am eedf815: location: Remove redundant mLocationTracking field from GpsL

Merge commit 'eedf815a2bd44c365a6885553a52cd2fcbfdce8c'

* commit 'eedf815a2bd44c365a6885553a52cd2fcbfdce8c':
location: Remove redundant mLocationTracking field from GpsLocationProvider
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
662ea09a71ab241774456f7bd4791a3532904da3 28-Apr-2009 Mike Lockwood <lockwood@android.com> location: Optimize use of mProviders ArrayList.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/LocationProviderImpl.java
b8526bfe091d4a5948f6e3165357bb9bd4bfebbf 29-Apr-2009 Mike Lockwood <lockwood@android.com> gps: Don't crash if no XTRA servers are specified.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsXtraDownloader.java
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>
ata/Android.mk
ata/kml/kml
ata/kml/properties
ata/location
ata/nmea
ata/properties
ata/test/class
ata/track/properties
ata/track/track
ava/android/location/LocationManager.java
ava/com/android/internal/location/LocationProviderImpl.java
ava/com/android/internal/location/TrackProvider.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>
ava/android/location/DummyLocationProvider.java
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/DummyLocationProvider.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderImpl.java
ava/com/android/internal/location/LocationProviderProxy.java
ava/com/android/internal/location/MockProvider.java
ava/com/android/internal/location/TrackProvider.java
eedf815a2bd44c365a6885553a52cd2fcbfdce8c 28-Apr-2009 Mike Lockwood <lockwood@android.com> location: Remove redundant mLocationTracking field from GpsLocationProvider

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.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
ava/android/location/Geocoder.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
ava/android/location/Geocoder.java
22b8f5e4b7b0ddd7ed5c90a8710036b549e8858d 22-Apr-2009 Android (Google) Code Review <android-gerrit@google.com> Merge change 387 into donut

* changes:
Geocoder: Document behavior when no backend service is available.
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>
ava/android/location/Geocoder.java
375cbb47ff721a26b62385211b82a7cf26db0395 22-Apr-2009 Mike Lockwood <lockwood@android.com> gps: Check for null APN name when receiving telephony notifications.

Fixes bug b/1800584

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/LocationProviderProxy.java
98cb66797422c4ccdee6f1a07636146d784a471b 18-Apr-2009 Mike Lockwood <lockwood@android.com> More Location Manager cleanup:

Move LocationCollector support out of GpsLocationProvider.
Don't disable GPS when screen is off.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.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>
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.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>
ava/android/location/IGeocodeProvider.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/com/android/internal/location/LocationProviderProxy.java
58bda987665af759c379cd494ff4873ac61acf29 14-Apr-2009 Mike Lockwood <lockwood@android.com> gps: Add support for bringing up a GSM data connection on demand for SUPL.

Signed-off-by: Mike Lockwood <lockwood@android.com>
ava/com/android/internal/location/GpsLocationProvider.java
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
ava/android/location/ILocationCollector.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.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
ava/android/location/ILocationCollector.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/ILocationProvider.aidl
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/LocationProviderProxy.java
0bd928fff7f941ff874e4f6d7cf23f1030ee8f2e 06-Apr-2009 Mike Lockwood <> AI 144626: am: CL 144625 Remove unnecessary callback interface from INetworkLocationProvider.
BUG=1729031
Original author: lockwood

Automated import of CL 144626
ava/com/android/internal/location/INetworkLocationProvider.java
53566b140ffa7b1e2f522ab1cdec13c74f8779e7 06-Apr-2009 Mike Lockwood <> AI 144625: Remove unnecessary callback interface from INetworkLocationProvider.
BUG=1729031

Automated import of CL 144625
ava/com/android/internal/location/INetworkLocationProvider.java
a3e952e3251081e2dfe3c747346d3b7006beeee5 06-Apr-2009 Mike Lockwood <> AI 144621: am: CL 144620 Clean up interface between NetworkLocationProvider and LocationManagerService (part 1)
Move broadcast receivers for wifi scan results and battery status
from LocationManagerService to NetworkLocationProvider
Add a Service for the NetworkLocationProvider, so we can install it from its
own thread rather than from BOOT_COMPLETED or callback from LocationManagerService.
(this Service was also required for receiving Intents in NetworkLocationProvider)
BUG=1729031
Original author: lockwood

Automated import of CL 144621
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.java
f113fbe67b878b356fba11873276d7633ec1af22 06-Apr-2009 Mike Lockwood <> AI 144620: Clean up interface between NetworkLocationProvider and LocationManagerService (part 1)
Move broadcast receivers for wifi scan results and battery status
from LocationManagerService to NetworkLocationProvider
Add a Service for the NetworkLocationProvider, so we can install it from its
own thread rather than from BOOT_COMPLETED or callback from LocationManagerService.
(this Service was also required for receiving Intents in NetworkLocationProvider)
BUG=1729031

Automated import of CL 144620
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.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
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/ILocationCollector.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
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/ILocationCollector.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/MockProvider.java
ava/com/android/internal/location/TrackProvider.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationProviderImpl.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/MockProvider.java
ava/com/android/internal/location/TrackProvider.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.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
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
04e71b3db84fd5f7fc4eefb49a33154ea91ec9fc 02-Apr-2009 Wink Saville <> AI 144245: Fix merge conflict for megering in the CDMA changes in to master from donutburger.

Automated import of CL 144245
ava/com/android/internal/location/CellState.java
767a662ecde33c3979bf02b793d392aca0403162 02-Apr-2009 Wink Saville <> AI 144185: Integrate cdma into the main code base.

Automated import of CL 144185
ava/com/android/internal/location/CellState.java
4d7a38588911bf7de3803ea7d53783d3a89bd2f2 31-Mar-2009 Mike Lockwood <> AI 143648: am: CL 143616 Fix ANR that could occur when disabling GPS in Settings while the GPS is active.
Exit from GpsEventThread immediately when the GPS is disabled instead of
waiting for the GPS to shut down fully.
BUG=1729031
Original author: lockwood
Merged from: //branches/donutburger/...

Automated import of CL 143648
ava/com/android/internal/location/GpsLocationProvider.java
d654f9f727b415b153c7190832db4b65f6943f32 31-Mar-2009 Mike Lockwood <> AI 143616: Fix ANR that could occur when disabling GPS in Settings while the GPS is active.
Exit from GpsEventThread immediately when the GPS is disabled instead of
waiting for the GPS to shut down fully.
BUG=1729031

Automated import of CL 143616
ava/com/android/internal/location/GpsLocationProvider.java
f8dd2e1d4b3a24bd4afdc391cc5fcdf555c991b1 28-Mar-2009 Mike Lockwood <> AI 143287: am: CL 143095 Location Manager cleanup: move MockProvider to a separate file.
BUG=1729031
Original author: lockwood
Merged from: //branches/donutburger/...

Automated import of CL 143287
ava/com/android/internal/location/MockProvider.java
7ec434e2e179776d75c8a4da66dcfd2ee630c5d8 27-Mar-2009 Mike Lockwood <> AI 143095: Location Manager cleanup: move MockProvider to a separate file.
BUG=1729031

Automated import of CL 143095
ava/com/android/internal/location/MockProvider.java
7b0b1ed979aa665175bf3952c8902ce13c763ab8 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import //branches/master/...@140412
ava/com/android/internal/location/GpsXtraDownloader.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
ava/com/android/internal/location/GpsLocationProvider.java
b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54 09-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@137197
ata/Android.mk
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ata/Android.mk
ata/kml/kml
ata/kml/properties
ata/location
ata/nmea
ata/properties
ata/test/class
ata/track/properties
ata/track/track
ava/android/location/Address.aidl
ava/android/location/Address.java
ava/android/location/Criteria.aidl
ava/android/location/Criteria.java
ava/android/location/DummyLocationProvider.java
ava/android/location/Geocoder.java
ava/android/location/GpsSatellite.java
ava/android/location/GpsStatus.java
ava/android/location/IGpsStatusListener.aidl
ava/android/location/ILocationListener.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/Location.aidl
ava/android/location/Location.java
ava/android/location/LocationListener.java
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/LocationProviderImpl.java
ava/android/location/package.html
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsXtraDownloader.java
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/NmeaParser.java
ava/com/android/internal/location/TrackProvider.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ata/Android.mk
ata/kml/kml
ata/kml/properties
ata/location
ata/nmea
ata/properties
ata/test/class
ata/track/properties
ata/track/track
ava/android/location/Address.aidl
ava/android/location/Address.java
ava/android/location/Criteria.aidl
ava/android/location/Criteria.java
ava/android/location/DummyLocationProvider.java
ava/android/location/Geocoder.java
ava/android/location/GpsSatellite.java
ava/android/location/GpsStatus.java
ava/android/location/IGpsStatusListener.aidl
ava/android/location/ILocationListener.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/Location.aidl
ava/android/location/Location.java
ava/android/location/LocationListener.java
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/LocationProviderImpl.java
ava/android/location/package.html
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsXtraDownloader.java
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/NmeaParser.java
ava/com/android/internal/location/TrackProvider.java
076357b8567458d4b6dfdcf839ef751634cd2bfb 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@132589
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/INetworkLocationManager.java
3dec7d563a2f3e1eb967ce2054a00b6620e3558c 03-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@137055
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/INetworkLocationManager.java
3001a035439d8134a7d70d796376d1dfbff3cdcd 19-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@132276
ava/android/location/Location.java
da996f390e17e16f2dfa60e972e7ebc4f868f37e 13-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@131421
ava/com/android/internal/location/INetworkLocationManager.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/ILocationCollector.java
ava/com/android/internal/location/INetworkLocationManager.java
ava/com/android/internal/location/INetworkLocationProvider.java
ava/com/android/internal/location/LocationCache.java
ava/com/android/internal/location/LocationCollector.java
ava/com/android/internal/location/LocationMasfClient.java
ava/com/android/internal/location/NetworkLocationProvider.java
ava/com/android/internal/location/ProtoRequestListener.java
ava/com/android/internal/location/protocol/GAddress.java
ava/com/android/internal/location/protocol/GAddressComponent.java
ava/com/android/internal/location/protocol/GAppProfile.java
ava/com/android/internal/location/protocol/GCell.java
ava/com/android/internal/location/protocol/GCellularPlatformProfile.java
ava/com/android/internal/location/protocol/GCellularProfile.java
ava/com/android/internal/location/protocol/GDebugProfile.java
ava/com/android/internal/location/protocol/GDeviceLocation.java
ava/com/android/internal/location/protocol/GFeature.java
ava/com/android/internal/location/protocol/GGeocodeRequest.java
ava/com/android/internal/location/protocol/GGpsProfile.java
ava/com/android/internal/location/protocol/GLatLng.java
ava/com/android/internal/location/protocol/GLocReply.java
ava/com/android/internal/location/protocol/GLocReplyElement.java
ava/com/android/internal/location/protocol/GLocRequest.java
ava/com/android/internal/location/protocol/GLocRequestElement.java
ava/com/android/internal/location/protocol/GLocation.java
ava/com/android/internal/location/protocol/GPlatformProfile.java
ava/com/android/internal/location/protocol/GPrefetchMode.java
ava/com/android/internal/location/protocol/GRectangle.java
ava/com/android/internal/location/protocol/GUserProfile.java
ava/com/android/internal/location/protocol/GWifiDevice.java
ava/com/android/internal/location/protocol/GWifiPlatformProfile.java
ava/com/android/internal/location/protocol/GWifiProfile.java
ava/com/android/internal/location/protocol/GaddressMessageTypes.java
ava/com/android/internal/location/protocol/GcellularMessageTypes.java
ava/com/android/internal/location/protocol/GdebugprofileMessageTypes.java
ava/com/android/internal/location/protocol/GfeatureMessageTypes.java
ava/com/android/internal/location/protocol/GlatlngMessageTypes.java
ava/com/android/internal/location/protocol/GlocationMessageTypes.java
ava/com/android/internal/location/protocol/GrectangleMessageTypes.java
ava/com/android/internal/location/protocol/GwifiMessageTypes.java
ava/com/android/internal/location/protocol/LocserverMessageTypes.java
ava/com/android/internal/location/protocol/ResponseCodes.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
ava/com/android/internal/location/GpsLocationProvider.java
b798689749c64baba81f02e10cf2157c747d6b46 10-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@125939
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsXtraDownloader.java
ava/com/android/internal/location/LocationCache.java
ava/com/android/internal/location/LocationMasfClient.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
ava/android/location/Geocoder.java
ava/android/location/GpsSatellite.java
ava/android/location/GpsStatus.java
ava/android/location/GpsStatusListener.java
ava/android/location/ILocationManager.aidl
ava/android/location/LocationManager.java
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/LocationCache.java
ava/com/android/internal/location/LocationCollector.java
ava/com/android/internal/location/LocationMasfClient.java
ava/com/android/internal/location/NetworkLocationProvider.java
ava/com/android/internal/location/protocol/GDebugProfile.java
ava/com/android/internal/location/protocol/GdebugprofileMessageTypes.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ata/Android.mk
ata/kml/kml
ata/kml/properties
ata/location
ata/nmea
ata/properties
ata/test/class
ata/track/properties
ata/track/track
ava/android/location/Address.aidl
ava/android/location/Address.java
ava/android/location/Criteria.aidl
ava/android/location/Criteria.java
ava/android/location/DummyLocationProvider.java
ava/android/location/Geocoder.java
ava/android/location/GpsStatusListener.java
ava/android/location/IGpsStatusListener.aidl
ava/android/location/ILocationListener.aidl
ava/android/location/ILocationManager.aidl
ava/android/location/Location.aidl
ava/android/location/Location.java
ava/android/location/LocationListener.java
ava/android/location/LocationManager.java
ava/android/location/LocationProvider.java
ava/android/location/LocationProviderImpl.java
ava/android/location/package.html
ava/com/android/internal/location/CellState.java
ava/com/android/internal/location/GpsLocationProvider.java
ava/com/android/internal/location/GpsXtraDownloader.java
ava/com/android/internal/location/LocationCache.java
ava/com/android/internal/location/LocationCollector.java
ava/com/android/internal/location/LocationMasfClient.java
ava/com/android/internal/location/NetworkLocationProvider.java
ava/com/android/internal/location/NmeaParser.java
ava/com/android/internal/location/ProtoRequestListener.java
ava/com/android/internal/location/TrackProvider.java
ava/com/android/internal/location/protocol/GAddress.java
ava/com/android/internal/location/protocol/GAddressComponent.java
ava/com/android/internal/location/protocol/GAppProfile.java
ava/com/android/internal/location/protocol/GCell.java
ava/com/android/internal/location/protocol/GCellularPlatformProfile.java
ava/com/android/internal/location/protocol/GCellularProfile.java
ava/com/android/internal/location/protocol/GDebugProfile.java
ava/com/android/internal/location/protocol/GDeviceLocation.java
ava/com/android/internal/location/protocol/GFeature.java
ava/com/android/internal/location/protocol/GGeocodeRequest.java
ava/com/android/internal/location/protocol/GGpsProfile.java
ava/com/android/internal/location/protocol/GLatLng.java
ava/com/android/internal/location/protocol/GLocReply.java
ava/com/android/internal/location/protocol/GLocReplyElement.java
ava/com/android/internal/location/protocol/GLocRequest.java
ava/com/android/internal/location/protocol/GLocRequestElement.java
ava/com/android/internal/location/protocol/GLocation.java
ava/com/android/internal/location/protocol/GPlatformProfile.java
ava/com/android/internal/location/protocol/GPrefetchMode.java
ava/com/android/internal/location/protocol/GRectangle.java
ava/com/android/internal/location/protocol/GUserProfile.java
ava/com/android/internal/location/protocol/GWifiDevice.java
ava/com/android/internal/location/protocol/GWifiPlatformProfile.java
ava/com/android/internal/location/protocol/GWifiProfile.java
ava/com/android/internal/location/protocol/GaddressMessageTypes.java
ava/com/android/internal/location/protocol/GcellularMessageTypes.java
ava/com/android/internal/location/protocol/GdebugprofileMessageTypes.java
ava/com/android/internal/location/protocol/GfeatureMessageTypes.java
ava/com/android/internal/location/protocol/GlatlngMessageTypes.java
ava/com/android/internal/location/protocol/GlocationMessageTypes.java
ava/com/android/internal/location/protocol/GrectangleMessageTypes.java
ava/com/android/internal/location/protocol/GwifiMessageTypes.java
ava/com/android/internal/location/protocol/LocserverMessageTypes.java
ava/com/android/internal/location/protocol/ResponseCodes.java