Removing a test provider clears its enabled state
- Bug: 11446702
Change-Id: I56ad9235a99772079193553c0f28bd8d74b3d8e3
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index 1eedaae..473aa34 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -2227,6 +2227,13 @@
public void removeTestProvider(String provider) {
checkMockPermissionsSafe();
synchronized (mLock) {
+
+ // These methods can't be called after removing the test provider, so first make sure
+ // we don't leave anything dangling (cf b/11446702).
+ clearTestProviderEnabled(provider);
+ clearTestProviderLocation(provider);
+ clearTestProviderStatus(provider);
+
MockProvider mockProvider = mMockProviders.remove(provider);
if (mockProvider == null) {
throw new IllegalArgumentException("Provider \"" + provider + "\" unknown");