Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c7fe33b1 authored by Victoria Lease's avatar Victoria Lease Committed by Android Git Automerger
Browse files

am c1bb4bfb: am 0fb7e32a: Merge "Last position improvements for GeofenceManager" into jb-mr1-dev

* commit 'c1bb4bfb':
  Last position improvements for GeofenceManager
parents 51b60bf0 c1bb4bfb
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1414,9 +1414,8 @@ public class LocationManagerService extends ILocationManager.Stub implements Run

        long now = SystemClock.elapsedRealtime();
        String provider = (passive ? LocationManager.PASSIVE_PROVIDER : location.getProvider());
        ArrayList<UpdateRecord> records = mRecordsByProvider.get(provider);
        if (records == null || records.size() == 0) return;

        // Skip if the provider is unknown.
        LocationProviderInterface p = mProvidersByName.get(provider);
        if (p == null) return;

@@ -1437,6 +1436,10 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
        }
        lastLocation.set(location);

        // Skip if there are no UpdateRecords for this provider.
        ArrayList<UpdateRecord> records = mRecordsByProvider.get(provider);
        if (records == null || records.size() == 0) return;

        // Fetch coarse location
        Location coarseLocation = null;
        if (noGPSLocation != null && !noGPSLocation.equals(lastNoGPSLocation)) {
+2 −4
Original line number Diff line number Diff line
@@ -58,7 +58,6 @@ public class GeofenceManager implements LocationListener, PendingIntent.OnFinish
    private Object mLock = new Object();

    // access to members below is synchronized on mLock
    private Location mLastLocation;
    private List<GeofenceState> mFences = new LinkedList<GeofenceState>();

    public GeofenceManager(Context context, LocationBlacklist blacklist) {
@@ -77,7 +76,8 @@ public class GeofenceManager implements LocationListener, PendingIntent.OnFinish

    public void addFence(LocationRequest request, Geofence geofence, PendingIntent intent, int uid,
            String packageName) {
        GeofenceState state = new GeofenceState(geofence, mLastLocation,
        Location lastLocation = mLocationManager.getLastLocation();
        GeofenceState state = new GeofenceState(geofence, lastLocation,
                request.getExpireAt(), packageName, intent);

        synchronized (mLock) {
@@ -146,8 +146,6 @@ public class GeofenceManager implements LocationListener, PendingIntent.OnFinish
        List<PendingIntent> exitIntents = new LinkedList<PendingIntent>();

        synchronized (mLock) {
            mLastLocation = location;

            removeExpiredFencesLocked();

            for (GeofenceState state : mFences) {