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

Commit 2d745961 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Automerger Merge Worker
Browse files

Merge "Crash if lock isn't held when it should be. This will help track down...

Merge "Crash if lock isn't held when it should be. This will help track down any errors." into rvc-dev am: a785db53 am: fc60e98b am: fdf86170

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/11709586

Change-Id: If42a6bdf0aec5218ce375f2d458c71aabb8e7458
parents ff455c0a fdf86170
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ import android.location.LocationProvider;
import android.location.LocationRequest;
import android.location.LocationTime;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
import android.os.CancellationSignal;
import android.os.Handler;
@@ -1697,6 +1698,9 @@ public class LocationManagerService extends ILocationManager.Stub {
         * Note: must be constructed with lock held.
         */
        private UpdateRecord(String provider, LocationRequest request, Receiver receiver) {
            if (Build.IS_DEBUGGABLE) {
                Preconditions.checkState(Thread.holdsLock(mLock));
            }
            mExpirationRealtimeMs = request.getExpirationRealtimeMs(SystemClock.elapsedRealtime());
            mProvider = provider;
            mRealRequest = request;
@@ -1734,6 +1738,10 @@ public class LocationManagerService extends ILocationManager.Stub {
         * Method to be called when a record will no longer be used.
         */
        private void disposeLocked(boolean removeReceiver) {
            if (Build.IS_DEBUGGABLE) {
                Preconditions.checkState(Thread.holdsLock(mLock));
            }

            CallerIdentity identity = mReceiver.mCallerIdentity;
            mRequestStatistics.stopRequesting(identity.packageName, identity.featureId, mProvider);