From 20a289675685a5b6c9716a56f8e76bd1f2b81b1f Mon Sep 17 00:00:00 2001 From: Soonil Nagarkar Date: Mon, 24 Aug 2020 09:37:11 -0700 Subject: [PATCH] Ensure proper lock is held for all removal ops We need to hold the local lock when invoking any operation which can cause local callbacks, etc. Bug: 162715416 Test: manual + presubmit Change-Id: I4f95b58310c7d1eff00656c02aae6dfb69255cdf --- .../android/server/location/LocationProviderManager.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/services/core/java/com/android/server/location/LocationProviderManager.java b/services/core/java/com/android/server/location/LocationProviderManager.java index 05aa3150cfef8..06105bfcc0f3e 100644 --- a/services/core/java/com/android/server/location/LocationProviderManager.java +++ b/services/core/java/com/android/server/location/LocationProviderManager.java @@ -313,6 +313,14 @@ class LocationProviderManager extends } } + @Override + public final void onOperationFailure(ListenerOperation operation, + Exception e) { + synchronized (mLock) { + super.onOperationFailure(operation, e); + } + } + @Override public final LocationRequest getRequest() { return mProviderLocationRequest;