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

Commit abdbcb88 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

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

Change-Id: Ia0459f3adb6fae9d1d8c5ac114fe182b384c823a
parents c6b1305f fc60e98b
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);