Loading services/core/java/com/android/server/LocationManagerService.java +17 −10 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ import android.location.GeocoderParams; import android.location.Geofence; import android.location.GpsMeasurementsEvent; import android.location.GpsNavigationMessageEvent; import android.location.IGpsGeofenceHardware; import android.location.IGpsMeasurementsListener; import android.location.IGpsNavigationMessageListener; import android.location.IGpsStatusListener; Loading Loading @@ -164,6 +165,7 @@ public class LocationManagerService extends ILocationManager.Stub { private LocationBlacklist mBlacklist; private GpsMeasurementsProvider mGpsMeasurementsProvider; private GpsNavigationMessageProvider mGpsNavigationMessageProvider; private IGpsGeofenceHardware mGpsGeofenceProxy; // --- fields below are protected by mLock --- // Set of providers that are explicitly enabled Loading Loading @@ -403,18 +405,19 @@ public class LocationManagerService extends ILocationManager.Stub { addProviderLocked(passiveProvider); mEnabledProviders.add(passiveProvider.getName()); mPassiveProvider = passiveProvider; if (GpsLocationProvider.isSupported()) { // Create a gps location provider GpsLocationProvider gpsProvider = new GpsLocationProvider(mContext, this, mLocationHandler.getLooper()); if (GpsLocationProvider.isSupported()) { mGpsStatusProvider = gpsProvider.getGpsStatusProvider(); mNetInitiatedListener = gpsProvider.getNetInitiatedListener(); addProviderLocked(gpsProvider); mRealProviders.put(LocationManager.GPS_PROVIDER, gpsProvider); } mGpsMeasurementsProvider = gpsProvider.getGpsMeasurementsProvider(); mGpsNavigationMessageProvider = gpsProvider.getGpsNavigationMessageProvider(); mGpsGeofenceProxy = gpsProvider.getGpsGeofenceProxy(); } /* Load package name(s) containing location provider support. Loading Loading @@ -510,7 +513,7 @@ public class LocationManagerService extends ILocationManager.Stub { com.android.internal.R.string.config_geofenceProviderPackageName, com.android.internal.R.array.config_locationProviderPackageNames, mLocationHandler, gpsProvider.getGpsGeofenceProxy(), mGpsGeofenceProxy, flpHardwareProvider != null ? flpHardwareProvider.getGeofenceHardware() : null); if (provider == null) { Slog.e(TAG, "Unable to bind FLP Geofence proxy."); Loading Loading @@ -1853,7 +1856,7 @@ public class LocationManagerService extends ILocationManager.Stub { Binder.restoreCallingIdentity(identity); } if (!hasLocationAccess) { if (!hasLocationAccess || mGpsMeasurementsProvider == null) { return false; } return mGpsMeasurementsProvider.addListener(listener); Loading @@ -1861,8 +1864,10 @@ public class LocationManagerService extends ILocationManager.Stub { @Override public void removeGpsMeasurementsListener(IGpsMeasurementsListener listener) { if (mGpsMeasurementsProvider != null) { mGpsMeasurementsProvider.removeListener(listener); } } @Override public boolean addGpsNavigationMessageListener( Loading @@ -1882,7 +1887,7 @@ public class LocationManagerService extends ILocationManager.Stub { Binder.restoreCallingIdentity(identity); } if (!hasLocationAccess) { if (!hasLocationAccess || mGpsNavigationMessageProvider == null) { return false; } return mGpsNavigationMessageProvider.addListener(listener); Loading @@ -1890,8 +1895,10 @@ public class LocationManagerService extends ILocationManager.Stub { @Override public void removeGpsNavigationMessageListener(IGpsNavigationMessageListener listener) { if (mGpsNavigationMessageProvider != null) { mGpsNavigationMessageProvider.removeListener(listener); } } @Override public boolean sendExtraCommand(String provider, String command, Bundle extras) { Loading services/core/java/com/android/server/location/GeofenceProxy.java +3 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,9 @@ public final class GeofenceProxy { private void setGpsGeofenceLocked() { try { if (mGpsGeofenceHardware != null) { mGeofenceHardware.setGpsGeofenceHardware(mGpsGeofenceHardware); } } catch (RemoteException e) { Log.e(TAG, "Error while connecting to GeofenceHardwareService"); } Loading services/core/java/com/android/server/location/GpsLocationProvider.java +1 −2 Original line number Diff line number Diff line Loading @@ -450,7 +450,6 @@ public class GpsLocationProvider implements LocationProviderInterface { networkState = LocationProvider.AVAILABLE; } updateNetworkState(networkState, info); } else if (PowerManager.ACTION_POWER_SAVE_MODE_CHANGED.equals(action) || Intent.ACTION_SCREEN_OFF.equals(action) Loading Loading
services/core/java/com/android/server/LocationManagerService.java +17 −10 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ import android.location.GeocoderParams; import android.location.Geofence; import android.location.GpsMeasurementsEvent; import android.location.GpsNavigationMessageEvent; import android.location.IGpsGeofenceHardware; import android.location.IGpsMeasurementsListener; import android.location.IGpsNavigationMessageListener; import android.location.IGpsStatusListener; Loading Loading @@ -164,6 +165,7 @@ public class LocationManagerService extends ILocationManager.Stub { private LocationBlacklist mBlacklist; private GpsMeasurementsProvider mGpsMeasurementsProvider; private GpsNavigationMessageProvider mGpsNavigationMessageProvider; private IGpsGeofenceHardware mGpsGeofenceProxy; // --- fields below are protected by mLock --- // Set of providers that are explicitly enabled Loading Loading @@ -403,18 +405,19 @@ public class LocationManagerService extends ILocationManager.Stub { addProviderLocked(passiveProvider); mEnabledProviders.add(passiveProvider.getName()); mPassiveProvider = passiveProvider; if (GpsLocationProvider.isSupported()) { // Create a gps location provider GpsLocationProvider gpsProvider = new GpsLocationProvider(mContext, this, mLocationHandler.getLooper()); if (GpsLocationProvider.isSupported()) { mGpsStatusProvider = gpsProvider.getGpsStatusProvider(); mNetInitiatedListener = gpsProvider.getNetInitiatedListener(); addProviderLocked(gpsProvider); mRealProviders.put(LocationManager.GPS_PROVIDER, gpsProvider); } mGpsMeasurementsProvider = gpsProvider.getGpsMeasurementsProvider(); mGpsNavigationMessageProvider = gpsProvider.getGpsNavigationMessageProvider(); mGpsGeofenceProxy = gpsProvider.getGpsGeofenceProxy(); } /* Load package name(s) containing location provider support. Loading Loading @@ -510,7 +513,7 @@ public class LocationManagerService extends ILocationManager.Stub { com.android.internal.R.string.config_geofenceProviderPackageName, com.android.internal.R.array.config_locationProviderPackageNames, mLocationHandler, gpsProvider.getGpsGeofenceProxy(), mGpsGeofenceProxy, flpHardwareProvider != null ? flpHardwareProvider.getGeofenceHardware() : null); if (provider == null) { Slog.e(TAG, "Unable to bind FLP Geofence proxy."); Loading Loading @@ -1853,7 +1856,7 @@ public class LocationManagerService extends ILocationManager.Stub { Binder.restoreCallingIdentity(identity); } if (!hasLocationAccess) { if (!hasLocationAccess || mGpsMeasurementsProvider == null) { return false; } return mGpsMeasurementsProvider.addListener(listener); Loading @@ -1861,8 +1864,10 @@ public class LocationManagerService extends ILocationManager.Stub { @Override public void removeGpsMeasurementsListener(IGpsMeasurementsListener listener) { if (mGpsMeasurementsProvider != null) { mGpsMeasurementsProvider.removeListener(listener); } } @Override public boolean addGpsNavigationMessageListener( Loading @@ -1882,7 +1887,7 @@ public class LocationManagerService extends ILocationManager.Stub { Binder.restoreCallingIdentity(identity); } if (!hasLocationAccess) { if (!hasLocationAccess || mGpsNavigationMessageProvider == null) { return false; } return mGpsNavigationMessageProvider.addListener(listener); Loading @@ -1890,8 +1895,10 @@ public class LocationManagerService extends ILocationManager.Stub { @Override public void removeGpsNavigationMessageListener(IGpsNavigationMessageListener listener) { if (mGpsNavigationMessageProvider != null) { mGpsNavigationMessageProvider.removeListener(listener); } } @Override public boolean sendExtraCommand(String provider, String command, Bundle extras) { Loading
services/core/java/com/android/server/location/GeofenceProxy.java +3 −1 Original line number Diff line number Diff line Loading @@ -129,7 +129,9 @@ public final class GeofenceProxy { private void setGpsGeofenceLocked() { try { if (mGpsGeofenceHardware != null) { mGeofenceHardware.setGpsGeofenceHardware(mGpsGeofenceHardware); } } catch (RemoteException e) { Log.e(TAG, "Error while connecting to GeofenceHardwareService"); } Loading
services/core/java/com/android/server/location/GpsLocationProvider.java +1 −2 Original line number Diff line number Diff line Loading @@ -450,7 +450,6 @@ public class GpsLocationProvider implements LocationProviderInterface { networkState = LocationProvider.AVAILABLE; } updateNetworkState(networkState, info); } else if (PowerManager.ACTION_POWER_SAVE_MODE_CHANGED.equals(action) || Intent.ACTION_SCREEN_OFF.equals(action) Loading