Loading services/core/java/com/android/server/LocationManagerService.java +34 −116 Original line number Diff line number Diff line Loading @@ -343,11 +343,6 @@ public class LocationManagerService extends ILocationManager.Stub { onLocationModeChangedLocked(userId); } }); mSettingsStore.addOnLocationProvidersAllowedChangedListener((userId) -> { synchronized (mLock) { onProviderAllowedChangedLocked(userId); } }); mSettingsStore.addOnBackgroundThrottleIntervalChangedListener(() -> { synchronized (mLock) { onBackgroundThrottleIntervalChangedLocked(); Loading Loading @@ -474,18 +469,11 @@ public class LocationManagerService extends ILocationManager.Stub { } Intent intent = new Intent(LocationManager.MODE_CHANGED_ACTION); intent.putExtra(LocationManager.EXTRA_LOCATION_ENABLED, isLocationEnabled()); intent.putExtra(LocationManager.EXTRA_LOCATION_ENABLED, isLocationEnabledForUser(userId)); mContext.sendBroadcastAsUser(intent, UserHandle.of(userId)); for (LocationProvider p : mProviders) { p.onLocationModeChangedLocked(userId); } } @GuardedBy("mLock") private void onProviderAllowedChangedLocked(int userId) { for (LocationProvider p : mProviders) { p.onAllowedChangedLocked(userId); p.onUseableChangedLocked(userId); } } Loading Loading @@ -649,7 +637,7 @@ public class LocationManagerService extends ILocationManager.Stub { if (GnssManagerService.isGnssSupported()) { // Create a gps location provider manager LocationProvider gnssProviderManager = new LocationProvider(GPS_PROVIDER, true); LocationProvider gnssProviderManager = new LocationProvider(GPS_PROVIDER); mRealProviders.add(gnssProviderManager); addProviderLocked(gnssProviderManager); Loading Loading @@ -680,7 +668,7 @@ public class LocationManagerService extends ILocationManager.Stub { ensureFallbackFusedProviderPresentLocked(pkgs); // bind to network provider LocationProvider networkProviderManager = new LocationProvider(NETWORK_PROVIDER, true); LocationProvider networkProviderManager = new LocationProvider(NETWORK_PROVIDER); LocationProviderProxy networkProvider = LocationProviderProxy.createAndBind( mContext, networkProviderManager, Loading Loading @@ -793,8 +781,8 @@ public class LocationManagerService extends ILocationManager.Stub { // let providers know the current user has changed for (LocationProvider p : mProviders) { p.onCurrentUserChangedLocked(oldUserId); p.onCurrentUserChangedLocked(mCurrentUserId); p.onUseableChangedLocked(oldUserId); p.onUseableChangedLocked(mCurrentUserId); } } Loading @@ -805,9 +793,6 @@ public class LocationManagerService extends ILocationManager.Stub { private final String mName; // whether this provider should respect LOCATION_PROVIDERS_ALLOWED (ie gps and network) private final boolean mIsManagedBySettings; // remember to clear binder identity before invoking any provider operation @GuardedBy("mLock") @Nullable Loading @@ -816,8 +801,6 @@ public class LocationManagerService extends ILocationManager.Stub { @GuardedBy("mLock") private SparseArray<Boolean> mUseable; // combined state for each user id @GuardedBy("mLock") private boolean mAllowed; // state of LOCATION_PROVIDERS_ALLOWED @GuardedBy("mLock") private boolean mEnabled; // state of provider @GuardedBy("mLock") Loading @@ -825,28 +808,20 @@ public class LocationManagerService extends ILocationManager.Stub { private ProviderProperties mProperties; private LocationProvider(String name) { this(name, false); } private LocationProvider(String name, boolean isManagedBySettings) { mName = name; mIsManagedBySettings = isManagedBySettings; mProvider = null; mUseable = new SparseArray<>(1); mAllowed = !mIsManagedBySettings; mEnabled = false; mProperties = null; if (mIsManagedBySettings) { // since we assume providers are disabled by default // update LOCATION_PROVIDERS_ALLOWED for best effort backwards compatibility Settings.Secure.putStringForUser( mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-" + mName, mCurrentUserId); } } @GuardedBy("mLock") public void attachLocked(AbstractLocationProvider provider) { Loading @@ -861,7 +836,7 @@ public class LocationManagerService extends ILocationManager.Stub { // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users onUseableChangedLocked(false, mCurrentUserId); onUseableChangedLocked(mCurrentUserId); } public String getName() { Loading Loading @@ -931,9 +906,6 @@ public class LocationManagerService extends ILocationManager.Stub { pw.println("useable=" + isUseableLocked(mCurrentUserId)); if (!isUseableLocked(mCurrentUserId)) { pw.println("attached=" + (mProvider != null)); if (mIsManagedBySettings) { pw.println("allowed=" + mAllowed); } pw.println("enabled=" + mEnabled); } Loading Loading @@ -997,7 +969,7 @@ public class LocationManagerService extends ILocationManager.Stub { // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users onUseableChangedLocked(false, mCurrentUserId); onUseableChangedLocked(mCurrentUserId); } } Loading @@ -1008,43 +980,6 @@ public class LocationManagerService extends ILocationManager.Stub { } } @GuardedBy("mLock") public void onLocationModeChangedLocked(int userId) { if (!isCurrentProfileLocked(userId)) { return; } onUseableChangedLocked(false, userId); } @GuardedBy("mLock") public void onAllowedChangedLocked(int userId) { if (!isCurrentProfileLocked(userId)) { return; } if (mIsManagedBySettings) { boolean allowed = mSettingsStore.getLocationProvidersAllowed( mCurrentUserId).contains(mName); if (allowed == mAllowed) { return; } if (D) { Log.d(TAG, mName + " provider allowed is now " + mAllowed); } mAllowed = allowed; onUseableChangedLocked(true, userId); } } @GuardedBy("mLock") public void onCurrentUserChangedLocked(int userId) { onUseableChangedLocked(false, userId); } @GuardedBy("mLock") public boolean isUseableLocked() { return isUseableLocked(mCurrentUserId); Loading @@ -1056,32 +991,31 @@ public class LocationManagerService extends ILocationManager.Stub { } @GuardedBy("mLock") public void onUseableChangedLocked(boolean isAllowedChanged, int userId) { public void onUseableChangedLocked(int userId) { // if any property that contributes to "useability" here changes state, it MUST result // in a direct or indrect call to onUseableChangedLocked. this allows the provider to // guarantee that it will always eventually reach the correct state. boolean useableIgnoringAllowed = mProvider != null && mProviders.contains(this) boolean useable = mProvider != null && mProviders.contains(this) && isCurrentProfileLocked(userId) && isLocationEnabledForUser(userId) && mEnabled; boolean useable = useableIgnoringAllowed && mAllowed; // update deprecated provider allowed settings for backwards compatibility if (mIsManagedBySettings) { // a "-" change derived from the allowed setting should not be overwritten, but a // "+" change should be corrected if necessary if (useableIgnoringAllowed && !isAllowedChanged) { Settings.Secure.putStringForUser( mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+" + mName, userId); } else if (!useableIgnoringAllowed) { if (useable == isUseableLocked(userId)) { return; } mUseable.put(userId, useable); if (D) { Log.d(TAG, "[u" + userId + "] " + mName + " provider useable = " + useable); } // fused and passive provider never get public updates for legacy reasons if (!FUSED_PROVIDER.equals(mName) && !PASSIVE_PROVIDER.equals(mName)) { // update LOCATION_PROVIDERS_ALLOWED for best effort backwards compatibility Settings.Secure.putStringForUser( mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-" + mName, (useable ? "+" : "-") + mName, userId); } Intent intent = new Intent(LocationManager.PROVIDERS_CHANGED_ACTION); intent.putExtra(LocationManager.EXTRA_PROVIDER_NAME, mName); Loading @@ -1089,15 +1023,6 @@ public class LocationManagerService extends ILocationManager.Stub { mContext.sendBroadcastAsUser(intent, UserHandle.of(userId)); } if (useable == isUseableLocked(userId)) { return; } mUseable.put(userId, useable); if (D) { Log.d(TAG, "[u" + userId + "] " + mName + " provider useable = " + useable); } if (!useable) { // If any provider has been disabled, clear all last locations for all // providers. This is to be on the safe side in case a provider has location Loading Loading @@ -1541,12 +1466,9 @@ public class LocationManagerService extends ILocationManager.Stub { mProviders.add(provider); // allowed state may change while provider was inactive provider.onAllowedChangedLocked(mCurrentUserId); // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users provider.onUseableChangedLocked(false, mCurrentUserId); provider.onUseableChangedLocked(mCurrentUserId); } @GuardedBy("mLock") Loading @@ -1554,7 +1476,7 @@ public class LocationManagerService extends ILocationManager.Stub { if (mProviders.remove(provider)) { // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users provider.onUseableChangedLocked(false, mCurrentUserId); provider.onUseableChangedLocked(mCurrentUserId); } } Loading Loading @@ -2805,10 +2727,6 @@ public class LocationManagerService extends ILocationManager.Stub { } } private boolean isLocationEnabled() { return isLocationEnabledForUser(mCurrentUserId); } @Override public boolean isLocationEnabledForUser(int userId) { // Check INTERACT_ACROSS_USERS permission if userId is not current user id. Loading Loading @@ -3247,7 +3165,7 @@ public class LocationManagerService extends ILocationManager.Stub { + TimeUtils.formatDuration(SystemClock.elapsedRealtime())); ipw.println("Current user: " + mCurrentUserId + " " + Arrays.toString( mCurrentUserProfiles)); ipw.println("Location Mode: " + isLocationEnabled()); ipw.println("Location Mode: " + isLocationEnabledForUser(mCurrentUserId)); ipw.println("Battery Saver Location Mode: " + locationPowerSaveModeToString(mBatterySaverMode)); Loading services/core/java/com/android/server/location/LocationSettingsStore.java +0 −29 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import static android.provider.Settings.Global.LOCATION_IGNORE_SETTINGS_PACKAGE_ import static android.provider.Settings.Global.LOCATION_LAST_LOCATION_MAX_AGE_MILLIS; import static android.provider.Settings.Secure.LOCATION_MODE; import static android.provider.Settings.Secure.LOCATION_MODE_OFF; import static android.provider.Settings.Secure.LOCATION_PROVIDERS_ALLOWED; import android.app.ActivityManager; import android.content.Context; Loading Loading @@ -89,7 +88,6 @@ public class LocationSettingsStore { private final Context mContext; private final IntegerSecureSetting mLocationMode; private final StringListCachedSecureSetting mLocationProvidersAllowed; private final LongGlobalSetting mBackgroundThrottleIntervalMs; private final StringListCachedSecureSetting mLocationPackageBlacklist; private final StringListCachedSecureSetting mLocationPackageWhitelist; Loading @@ -101,8 +99,6 @@ public class LocationSettingsStore { mContext = context; mLocationMode = new IntegerSecureSetting(context, LOCATION_MODE, handler); mLocationProvidersAllowed = new StringListCachedSecureSetting(context, LOCATION_PROVIDERS_ALLOWED, handler); mBackgroundThrottleIntervalMs = new LongGlobalSetting(context, LOCATION_BACKGROUND_THROTTLE_INTERVAL_MS, handler); mLocationPackageBlacklist = new StringListCachedSecureSetting(context, Loading Loading @@ -138,28 +134,6 @@ public class LocationSettingsStore { mLocationMode.addListener(listener); } /** * Retrieve the currently allowed location providers. */ public List<String> getLocationProvidersAllowed(int userId) { return mLocationProvidersAllowed.getValueForUser(userId); } /** * Add a listener for changes to the currently allowed location providers. */ public void addOnLocationProvidersAllowedChangedListener(UserSettingChangedListener listener) { mLocationProvidersAllowed.addListener(listener); } /** * Remove a listener for changes to the currently allowed location providers. */ public void removeOnLocationProvidersAllowedChangedListener( UserSettingChangedListener listener) { mLocationProvidersAllowed.removeListener(listener); } /** * Retrieve the background throttle interval. */ Loading Loading @@ -280,9 +254,6 @@ public class LocationSettingsStore { ipw.print("Location Enabled: "); ipw.println(isLocationEnabled(userId)); ipw.print("Location Providers Allowed: "); ipw.println(getLocationProvidersAllowed(userId)); List<String> locationPackageBlacklist = mLocationPackageBlacklist.getValueForUser(userId); if (!locationPackageBlacklist.isEmpty()) { ipw.println("Location Blacklisted Packages:"); Loading Loading
services/core/java/com/android/server/LocationManagerService.java +34 −116 Original line number Diff line number Diff line Loading @@ -343,11 +343,6 @@ public class LocationManagerService extends ILocationManager.Stub { onLocationModeChangedLocked(userId); } }); mSettingsStore.addOnLocationProvidersAllowedChangedListener((userId) -> { synchronized (mLock) { onProviderAllowedChangedLocked(userId); } }); mSettingsStore.addOnBackgroundThrottleIntervalChangedListener(() -> { synchronized (mLock) { onBackgroundThrottleIntervalChangedLocked(); Loading Loading @@ -474,18 +469,11 @@ public class LocationManagerService extends ILocationManager.Stub { } Intent intent = new Intent(LocationManager.MODE_CHANGED_ACTION); intent.putExtra(LocationManager.EXTRA_LOCATION_ENABLED, isLocationEnabled()); intent.putExtra(LocationManager.EXTRA_LOCATION_ENABLED, isLocationEnabledForUser(userId)); mContext.sendBroadcastAsUser(intent, UserHandle.of(userId)); for (LocationProvider p : mProviders) { p.onLocationModeChangedLocked(userId); } } @GuardedBy("mLock") private void onProviderAllowedChangedLocked(int userId) { for (LocationProvider p : mProviders) { p.onAllowedChangedLocked(userId); p.onUseableChangedLocked(userId); } } Loading Loading @@ -649,7 +637,7 @@ public class LocationManagerService extends ILocationManager.Stub { if (GnssManagerService.isGnssSupported()) { // Create a gps location provider manager LocationProvider gnssProviderManager = new LocationProvider(GPS_PROVIDER, true); LocationProvider gnssProviderManager = new LocationProvider(GPS_PROVIDER); mRealProviders.add(gnssProviderManager); addProviderLocked(gnssProviderManager); Loading Loading @@ -680,7 +668,7 @@ public class LocationManagerService extends ILocationManager.Stub { ensureFallbackFusedProviderPresentLocked(pkgs); // bind to network provider LocationProvider networkProviderManager = new LocationProvider(NETWORK_PROVIDER, true); LocationProvider networkProviderManager = new LocationProvider(NETWORK_PROVIDER); LocationProviderProxy networkProvider = LocationProviderProxy.createAndBind( mContext, networkProviderManager, Loading Loading @@ -793,8 +781,8 @@ public class LocationManagerService extends ILocationManager.Stub { // let providers know the current user has changed for (LocationProvider p : mProviders) { p.onCurrentUserChangedLocked(oldUserId); p.onCurrentUserChangedLocked(mCurrentUserId); p.onUseableChangedLocked(oldUserId); p.onUseableChangedLocked(mCurrentUserId); } } Loading @@ -805,9 +793,6 @@ public class LocationManagerService extends ILocationManager.Stub { private final String mName; // whether this provider should respect LOCATION_PROVIDERS_ALLOWED (ie gps and network) private final boolean mIsManagedBySettings; // remember to clear binder identity before invoking any provider operation @GuardedBy("mLock") @Nullable Loading @@ -816,8 +801,6 @@ public class LocationManagerService extends ILocationManager.Stub { @GuardedBy("mLock") private SparseArray<Boolean> mUseable; // combined state for each user id @GuardedBy("mLock") private boolean mAllowed; // state of LOCATION_PROVIDERS_ALLOWED @GuardedBy("mLock") private boolean mEnabled; // state of provider @GuardedBy("mLock") Loading @@ -825,28 +808,20 @@ public class LocationManagerService extends ILocationManager.Stub { private ProviderProperties mProperties; private LocationProvider(String name) { this(name, false); } private LocationProvider(String name, boolean isManagedBySettings) { mName = name; mIsManagedBySettings = isManagedBySettings; mProvider = null; mUseable = new SparseArray<>(1); mAllowed = !mIsManagedBySettings; mEnabled = false; mProperties = null; if (mIsManagedBySettings) { // since we assume providers are disabled by default // update LOCATION_PROVIDERS_ALLOWED for best effort backwards compatibility Settings.Secure.putStringForUser( mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-" + mName, mCurrentUserId); } } @GuardedBy("mLock") public void attachLocked(AbstractLocationProvider provider) { Loading @@ -861,7 +836,7 @@ public class LocationManagerService extends ILocationManager.Stub { // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users onUseableChangedLocked(false, mCurrentUserId); onUseableChangedLocked(mCurrentUserId); } public String getName() { Loading Loading @@ -931,9 +906,6 @@ public class LocationManagerService extends ILocationManager.Stub { pw.println("useable=" + isUseableLocked(mCurrentUserId)); if (!isUseableLocked(mCurrentUserId)) { pw.println("attached=" + (mProvider != null)); if (mIsManagedBySettings) { pw.println("allowed=" + mAllowed); } pw.println("enabled=" + mEnabled); } Loading Loading @@ -997,7 +969,7 @@ public class LocationManagerService extends ILocationManager.Stub { // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users onUseableChangedLocked(false, mCurrentUserId); onUseableChangedLocked(mCurrentUserId); } } Loading @@ -1008,43 +980,6 @@ public class LocationManagerService extends ILocationManager.Stub { } } @GuardedBy("mLock") public void onLocationModeChangedLocked(int userId) { if (!isCurrentProfileLocked(userId)) { return; } onUseableChangedLocked(false, userId); } @GuardedBy("mLock") public void onAllowedChangedLocked(int userId) { if (!isCurrentProfileLocked(userId)) { return; } if (mIsManagedBySettings) { boolean allowed = mSettingsStore.getLocationProvidersAllowed( mCurrentUserId).contains(mName); if (allowed == mAllowed) { return; } if (D) { Log.d(TAG, mName + " provider allowed is now " + mAllowed); } mAllowed = allowed; onUseableChangedLocked(true, userId); } } @GuardedBy("mLock") public void onCurrentUserChangedLocked(int userId) { onUseableChangedLocked(false, userId); } @GuardedBy("mLock") public boolean isUseableLocked() { return isUseableLocked(mCurrentUserId); Loading @@ -1056,32 +991,31 @@ public class LocationManagerService extends ILocationManager.Stub { } @GuardedBy("mLock") public void onUseableChangedLocked(boolean isAllowedChanged, int userId) { public void onUseableChangedLocked(int userId) { // if any property that contributes to "useability" here changes state, it MUST result // in a direct or indrect call to onUseableChangedLocked. this allows the provider to // guarantee that it will always eventually reach the correct state. boolean useableIgnoringAllowed = mProvider != null && mProviders.contains(this) boolean useable = mProvider != null && mProviders.contains(this) && isCurrentProfileLocked(userId) && isLocationEnabledForUser(userId) && mEnabled; boolean useable = useableIgnoringAllowed && mAllowed; // update deprecated provider allowed settings for backwards compatibility if (mIsManagedBySettings) { // a "-" change derived from the allowed setting should not be overwritten, but a // "+" change should be corrected if necessary if (useableIgnoringAllowed && !isAllowedChanged) { Settings.Secure.putStringForUser( mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "+" + mName, userId); } else if (!useableIgnoringAllowed) { if (useable == isUseableLocked(userId)) { return; } mUseable.put(userId, useable); if (D) { Log.d(TAG, "[u" + userId + "] " + mName + " provider useable = " + useable); } // fused and passive provider never get public updates for legacy reasons if (!FUSED_PROVIDER.equals(mName) && !PASSIVE_PROVIDER.equals(mName)) { // update LOCATION_PROVIDERS_ALLOWED for best effort backwards compatibility Settings.Secure.putStringForUser( mContext.getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED, "-" + mName, (useable ? "+" : "-") + mName, userId); } Intent intent = new Intent(LocationManager.PROVIDERS_CHANGED_ACTION); intent.putExtra(LocationManager.EXTRA_PROVIDER_NAME, mName); Loading @@ -1089,15 +1023,6 @@ public class LocationManagerService extends ILocationManager.Stub { mContext.sendBroadcastAsUser(intent, UserHandle.of(userId)); } if (useable == isUseableLocked(userId)) { return; } mUseable.put(userId, useable); if (D) { Log.d(TAG, "[u" + userId + "] " + mName + " provider useable = " + useable); } if (!useable) { // If any provider has been disabled, clear all last locations for all // providers. This is to be on the safe side in case a provider has location Loading Loading @@ -1541,12 +1466,9 @@ public class LocationManagerService extends ILocationManager.Stub { mProviders.add(provider); // allowed state may change while provider was inactive provider.onAllowedChangedLocked(mCurrentUserId); // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users provider.onUseableChangedLocked(false, mCurrentUserId); provider.onUseableChangedLocked(mCurrentUserId); } @GuardedBy("mLock") Loading @@ -1554,7 +1476,7 @@ public class LocationManagerService extends ILocationManager.Stub { if (mProviders.remove(provider)) { // it would be more correct to call this for all users, but we know this can only // affect the current user since providers are disabled for non-current users provider.onUseableChangedLocked(false, mCurrentUserId); provider.onUseableChangedLocked(mCurrentUserId); } } Loading Loading @@ -2805,10 +2727,6 @@ public class LocationManagerService extends ILocationManager.Stub { } } private boolean isLocationEnabled() { return isLocationEnabledForUser(mCurrentUserId); } @Override public boolean isLocationEnabledForUser(int userId) { // Check INTERACT_ACROSS_USERS permission if userId is not current user id. Loading Loading @@ -3247,7 +3165,7 @@ public class LocationManagerService extends ILocationManager.Stub { + TimeUtils.formatDuration(SystemClock.elapsedRealtime())); ipw.println("Current user: " + mCurrentUserId + " " + Arrays.toString( mCurrentUserProfiles)); ipw.println("Location Mode: " + isLocationEnabled()); ipw.println("Location Mode: " + isLocationEnabledForUser(mCurrentUserId)); ipw.println("Battery Saver Location Mode: " + locationPowerSaveModeToString(mBatterySaverMode)); Loading
services/core/java/com/android/server/location/LocationSettingsStore.java +0 −29 Original line number Diff line number Diff line Loading @@ -23,7 +23,6 @@ import static android.provider.Settings.Global.LOCATION_IGNORE_SETTINGS_PACKAGE_ import static android.provider.Settings.Global.LOCATION_LAST_LOCATION_MAX_AGE_MILLIS; import static android.provider.Settings.Secure.LOCATION_MODE; import static android.provider.Settings.Secure.LOCATION_MODE_OFF; import static android.provider.Settings.Secure.LOCATION_PROVIDERS_ALLOWED; import android.app.ActivityManager; import android.content.Context; Loading Loading @@ -89,7 +88,6 @@ public class LocationSettingsStore { private final Context mContext; private final IntegerSecureSetting mLocationMode; private final StringListCachedSecureSetting mLocationProvidersAllowed; private final LongGlobalSetting mBackgroundThrottleIntervalMs; private final StringListCachedSecureSetting mLocationPackageBlacklist; private final StringListCachedSecureSetting mLocationPackageWhitelist; Loading @@ -101,8 +99,6 @@ public class LocationSettingsStore { mContext = context; mLocationMode = new IntegerSecureSetting(context, LOCATION_MODE, handler); mLocationProvidersAllowed = new StringListCachedSecureSetting(context, LOCATION_PROVIDERS_ALLOWED, handler); mBackgroundThrottleIntervalMs = new LongGlobalSetting(context, LOCATION_BACKGROUND_THROTTLE_INTERVAL_MS, handler); mLocationPackageBlacklist = new StringListCachedSecureSetting(context, Loading Loading @@ -138,28 +134,6 @@ public class LocationSettingsStore { mLocationMode.addListener(listener); } /** * Retrieve the currently allowed location providers. */ public List<String> getLocationProvidersAllowed(int userId) { return mLocationProvidersAllowed.getValueForUser(userId); } /** * Add a listener for changes to the currently allowed location providers. */ public void addOnLocationProvidersAllowedChangedListener(UserSettingChangedListener listener) { mLocationProvidersAllowed.addListener(listener); } /** * Remove a listener for changes to the currently allowed location providers. */ public void removeOnLocationProvidersAllowedChangedListener( UserSettingChangedListener listener) { mLocationProvidersAllowed.removeListener(listener); } /** * Retrieve the background throttle interval. */ Loading Loading @@ -280,9 +254,6 @@ public class LocationSettingsStore { ipw.print("Location Enabled: "); ipw.println(isLocationEnabled(userId)); ipw.print("Location Providers Allowed: "); ipw.println(getLocationProvidersAllowed(userId)); List<String> locationPackageBlacklist = mLocationPackageBlacklist.getValueForUser(userId); if (!locationPackageBlacklist.isEmpty()) { ipw.println("Location Blacklisted Packages:"); Loading