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

Commit 214cf10d 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: abdbcb88

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

Change-Id: Ie03edabda9c2cacc923f8d5f18cd3b04ffa6724c
parents ff455c0a abdbcb88
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);