History log of /frameworks/base/location/java/android/location/ILocationProvider.aidl
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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
/frameworks/base/location/java/android/location/ILocationProvider.aidl
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>
/frameworks/base/location/java/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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>
/frameworks/base/location/java/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl
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>
/frameworks/base/location/java/android/location/ILocationProvider.aidl
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/android/location/ILocationProvider.aidl