From f6f9792d44ae9242981dab5ecc1ebf40190aada6 Mon Sep 17 00:00:00 2001 From: Mike Lockwood <> Date: Fri, 3 Apr 2009 08:24:47 -0700 Subject: 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 --- .../java/android/location/ILocationManager.aidl | 3 +++ .../android/location/LocationProviderImpl.java | 26 ++++++++++++---------- 2 files changed, 17 insertions(+), 12 deletions(-) (limited to 'location/java/android') diff --git a/location/java/android/location/ILocationManager.aidl b/location/java/android/location/ILocationManager.aidl index d0f9877..a7fb04d 100644 --- a/location/java/android/location/ILocationManager.aidl +++ b/location/java/android/location/ILocationManager.aidl @@ -53,6 +53,9 @@ interface ILocationManager boolean isProviderEnabled(String provider); Location getLastKnownLocation(String provider); + + /* used by location providers to tell the location manager when it has a new location */ + void setLocation(in Location location); String getFromLocation(double latitude, double longitude, int maxResults, String language, String country, String variant, String appName, out List
addrs); diff --git a/location/java/android/location/LocationProviderImpl.java b/location/java/android/location/LocationProviderImpl.java index 0962992..bb225e2 100644 --- a/location/java/android/location/LocationProviderImpl.java +++ b/location/java/android/location/LocationProviderImpl.java @@ -27,6 +27,7 @@ import java.util.HashMap; import java.util.List; import android.os.Bundle; +import android.os.RemoteException; import android.util.Config; import android.util.Log; @@ -46,11 +47,13 @@ public abstract class LocationProviderImpl extends LocationProvider { private static HashMap