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
|