diff options
| author | 2019-03-14 17:06:04 +0000 | |
|---|---|---|
| committer | 2019-03-14 17:06:04 +0000 | |
| commit | 9c5458edb7d667245ce99e9df76be71ab0b3f8ee (patch) | |
| tree | 8890c33a6254888dedce8ef8042285ea3137d6c3 | |
| parent | 7e7a8efd5f32f315d8e331ab59904dd36c03268c (diff) | |
| parent | 6dac9d1bf504d2eb2065d2566067c854d7e7dc8f (diff) | |
Merge "Remove deprecated Settings APIs."
| -rw-r--r-- | api/current.txt | 2 | ||||
| -rw-r--r-- | api/removed.txt | 5 | ||||
| -rw-r--r-- | core/java/android/provider/Settings.java | 57 | ||||
| -rw-r--r-- | location/java/android/location/LocationManager.java | 6 | ||||
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java | 28 |
5 files changed, 17 insertions, 81 deletions
diff --git a/api/current.txt b/api/current.txt index f2dc7a925f98..fac0f23ac2e8 100644 --- a/api/current.txt +++ b/api/current.txt @@ -39023,12 +39023,10 @@ package android.provider { method public static long getLong(android.content.ContentResolver, String) throws android.provider.Settings.SettingNotFoundException; method public static String getString(android.content.ContentResolver, String); method public static android.net.Uri getUriFor(String); - method @Deprecated public static boolean isLocationProviderEnabled(android.content.ContentResolver, String); method public static boolean putFloat(android.content.ContentResolver, String, float); method public static boolean putInt(android.content.ContentResolver, String, int); method public static boolean putLong(android.content.ContentResolver, String, long); method public static boolean putString(android.content.ContentResolver, String, String); - method @Deprecated public static void setLocationProviderEnabled(android.content.ContentResolver, String, boolean); field public static final String ACCESSIBILITY_DISPLAY_INVERSION_ENABLED = "accessibility_display_inversion_enabled"; field public static final String ACCESSIBILITY_ENABLED = "accessibility_enabled"; field @Deprecated public static final String ACCESSIBILITY_SPEAK_PASSWORD = "speak_password"; diff --git a/api/removed.txt b/api/removed.txt index 4fe0ed9b5313..5108dd0d8514 100644 --- a/api/removed.txt +++ b/api/removed.txt @@ -553,6 +553,11 @@ package android.provider { field @Deprecated public static final String CONTACT_METADATA_SYNC = "contact_metadata_sync"; } + public static final class Settings.Secure extends android.provider.Settings.NameValueTable { + method @Deprecated public static boolean isLocationProviderEnabled(android.content.ContentResolver, String); + method @Deprecated public static void setLocationProviderEnabled(android.content.ContentResolver, String, boolean); + } + public static final class Settings.System extends android.provider.Settings.NameValueTable { field public static final String APPEND_FOR_LAST_AUDIBLE = "_last_audible"; field public static final String VOLUME_ALARM = "volume_alarm"; diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 664978358717..df5da6c6a5e3 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -9053,27 +9053,12 @@ public final class Settings { * @return true if the provider is enabled * * @deprecated use {@link LocationManager#isProviderEnabled(String)} + * @removed no longer supported */ @Deprecated - public static final boolean isLocationProviderEnabled(ContentResolver cr, String provider) { - return isLocationProviderEnabledForUser(cr, provider, cr.getUserId()); - } - - /** - * Helper method for determining if a location provider is enabled. - * @param cr the content resolver to use - * @param provider the location provider to query - * @param userId the userId to query - * @return true if the provider is enabled - * - * @deprecated use {@link LocationManager#isProviderEnabled(String)} - * @hide - */ - @Deprecated - public static final boolean isLocationProviderEnabledForUser( - ContentResolver cr, String provider, int userId) { + public static boolean isLocationProviderEnabled(ContentResolver cr, String provider) { String allowedProviders = Settings.Secure.getStringForUser(cr, - LOCATION_PROVIDERS_ALLOWED, userId); + LOCATION_PROVIDERS_ALLOWED, cr.getUserId()); return TextUtils.delimitedStringContains(allowedProviders, ',', provider); } @@ -9082,42 +9067,12 @@ public final class Settings { * @param cr the content resolver to use * @param provider the location provider to enable or disable * @param enabled true if the provider should be enabled - * @deprecated This API is deprecated. It requires WRITE_SECURE_SETTINGS permission to - * change location settings. + * @deprecated This API is deprecated + * @removed no longer supported */ @Deprecated - public static final void setLocationProviderEnabled(ContentResolver cr, + public static void setLocationProviderEnabled(ContentResolver cr, String provider, boolean enabled) { - setLocationProviderEnabledForUser(cr, provider, enabled, cr.getUserId()); - } - - /** - * Thread-safe method for enabling or disabling a single location provider. - * - * @param cr the content resolver to use - * @param provider the location provider to enable or disable - * @param enabled true if the provider should be enabled - * @param userId the userId for which to enable/disable providers - * @return true if the value was set, false on database errors - * - * @deprecated use {@link LocationManager#setProviderEnabledForUser(String, boolean, int)} - * @hide - */ - @Deprecated - public static final boolean setLocationProviderEnabledForUser(ContentResolver cr, - String provider, boolean enabled, int userId) { - synchronized (mLocationSettingsLock) { - // to ensure thread safety, we write the provider name with a '+' or '-' - // and let the SettingsProvider handle it rather than reading and modifying - // the list of enabled providers. - if (enabled) { - provider = "+" + provider; - } else { - provider = "-" + provider; - } - return putStringForUser(cr, Settings.Secure.LOCATION_PROVIDERS_ALLOWED, provider, - userId); - } } } diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java index 9491ac2d0adc..dd179f3e9bab 100644 --- a/location/java/android/location/LocationManager.java +++ b/location/java/android/location/LocationManager.java @@ -1360,10 +1360,10 @@ public class LocationManager { @NonNull String provider, boolean enabled, @NonNull UserHandle userHandle) { checkProvider(provider); - return Settings.Secure.setLocationProviderEnabledForUser( + return Settings.Secure.putStringForUser( mContext.getContentResolver(), - provider, - enabled, + Settings.Secure.LOCATION_PROVIDERS_ALLOWED, + (enabled ? "+" : "-") + provider, userHandle.getIdentifier()); } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java index 274acad2b1e4..36bb8ef62320 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java @@ -16,10 +16,6 @@ package com.android.providers.settings; -import android.os.Process; -import com.android.internal.app.LocalePicker; -import com.android.internal.annotations.VisibleForTesting; - import android.annotation.NonNull; import android.app.ActivityManager; import android.app.IActivityManager; @@ -30,7 +26,6 @@ import android.content.Context; import android.content.Intent; import android.content.res.Configuration; import android.icu.util.ULocale; -import android.location.LocationManager; import android.media.AudioManager; import android.media.RingtoneManager; import android.net.Uri; @@ -38,13 +33,14 @@ import android.os.LocaleList; import android.os.RemoteException; import android.os.ServiceManager; import android.os.UserHandle; -import android.os.UserManager; import android.provider.Settings; import android.telephony.TelephonyManager; import android.text.TextUtils; import android.util.ArraySet; -import java.lang.IllegalArgumentException; +import com.android.internal.annotations.VisibleForTesting; +import com.android.internal.app.LocalePicker; + import java.util.ArrayList; import java.util.HashMap; import java.util.Locale; @@ -145,9 +141,6 @@ public class SettingsHelper { if (Settings.System.SOUND_EFFECTS_ENABLED.equals(name)) { setSoundEffects(Integer.parseInt(value) == 1); // fall through to the ordinary write to settings - } else if (Settings.Secure.LOCATION_PROVIDERS_ALLOWED.equals(name)) { - setGpsLocation(value); - return; } else if (Settings.Secure.BACKUP_AUTO_RESTORE.equals(name)) { setAutoRestore(Integer.parseInt(value) == 1); } else if (isAlreadyConfiguredCriticalAccessibilitySetting(name)) { @@ -297,21 +290,6 @@ public class SettingsHelper { } catch (RemoteException e) {} } - private void setGpsLocation(String value) { - UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE); - if (um.hasUserRestriction(UserManager.DISALLOW_SHARE_LOCATION)) { - return; - } - final String GPS = LocationManager.GPS_PROVIDER; - boolean enabled = - GPS.equals(value) || - value.startsWith(GPS + ",") || - value.endsWith("," + GPS) || - value.contains("," + GPS + ","); - LocationManager lm = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE); - lm.setProviderEnabledForUser(GPS, enabled, Process.myUserHandle()); - } - private void setSoundEffects(boolean enable) { if (enable) { mAudioManager.loadSoundEffects(); |