History log of /frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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>
/frameworks/base/location/java/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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/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>
/frameworks/base/location/java/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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/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>
/frameworks/base/location/java/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
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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.
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
f5d95cbc1a6974afeb4d3155bdaa8dae55722a39 08-Jan-2010 Joe Onorato <joeo@android.com> less log spew
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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.
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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>
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.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
/frameworks/base/location/java/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
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
105925376f8d0f6b318c9938c7b83ef7fef094da 19-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake_rel/...@140373
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
/frameworks/base/location/java/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
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/location/java/com/android/internal/location/GpsLocationProvider.java