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

Commit 5dd7b11e authored by Nick Pelly's avatar Nick Pelly Committed by Android Git Automerger
Browse files

am 2b7a0d00: Fix addGeofence() and addProximityAlert().

* commit '2b7a0d00':
  Fix addGeofence() and addProximityAlert().
parents a44590f3 2b7a0d00
Loading
Loading
Loading
Loading
+17 −4
Original line number Diff line number Diff line
@@ -968,7 +968,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Obs
        final int uid = Binder.getCallingUid();
        Receiver recevier = checkListenerOrIntent(listener, intent, pid, uid, packageName);

        // so wakelock calls will succeed (not totally sure this is still needed)
        // providers may use public location API's, need to clear identity
        long identity = Binder.clearCallingIdentity();
        try {
            synchronized (mLock) {
@@ -1018,7 +1018,7 @@ public class LocationManagerService extends ILocationManager.Stub implements Obs
        final int uid = Binder.getCallingUid();
        Receiver receiver = checkListenerOrIntent(listener, intent, pid, uid, packageName);

        // so wakelock calls will succeed (not totally sure this is still needed)
        // providers may use public location API's, need to clear identity
        long identity = Binder.clearCallingIdentity();
        try {
            synchronized (mLock) {
@@ -1107,7 +1107,14 @@ public class LocationManagerService extends ILocationManager.Stub implements Obs

        if (D) Log.d(TAG, "requestGeofence: " + request + " " + geofence + " " + intent);

        mGeofenceManager.addFence(request, geofence, intent, Binder.getCallingUid(), packageName);
        // geo-fence manager uses the public location API, need to clear identity
        int uid = Binder.getCallingUid();
        long identity = Binder.clearCallingIdentity();
        try {
            mGeofenceManager.addFence(request, geofence, intent, uid, packageName);
        } finally {
            Binder.restoreCallingIdentity(identity);
        }
    }

    @Override
@@ -1118,7 +1125,13 @@ public class LocationManagerService extends ILocationManager.Stub implements Obs

        if (D) Log.d(TAG, "removeGeofence: " + geofence + " " + intent);

        // geo-fence manager uses the public location API, need to clear identity
        long identity = Binder.clearCallingIdentity();
        try {
            mGeofenceManager.removeFence(geofence, intent);
        } finally {
            Binder.restoreCallingIdentity(identity);
        }
    }