diff options
| author | 2021-01-26 22:51:23 +0000 | |
|---|---|---|
| committer | 2021-02-08 22:42:32 +0000 | |
| commit | 25f6a9222c582bf46a6804561b7de13f612f040f (patch) | |
| tree | 1e33166ac9012310298b21962f05326d5ba5ba4e | |
| parent | ceb8ce05d01ea3ee1f5876a4f4b5829527da8632 (diff) | |
Revert^2 "[SettingsProvider] @Readable annotation to restrict access to hidden keys"
New in this revert:
+ Added missing annotations.
+ Added check for system apps.
BUG: 175024829
Test: atest android.appsecurity.cts.ReadableSettingsFieldsTest
Test: atest android.app.cts.NotificationTemplateTest
Test: atest com.android.systemui.statusbar.notification.row.ExpandableNotificationRowTest
1ca518c1ec75b8307126991ae2d253911b2be10c
Change-Id: I3f270831692b5ba0841e85b84902d0b101ff1095
Change-Id: I4cab132c1ef10f4319b570e8e9e15dcde6d909f8
| -rw-r--r-- | core/java/android/provider/Settings.java | 1626 | ||||
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 54 |
2 files changed, 1409 insertions, 271 deletions
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index a29fcb17b083..ef81ed768e56 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -44,6 +44,7 @@ import android.content.Context; import android.content.IContentProvider; import android.content.Intent; import android.content.pm.ActivityInfo; +import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.content.res.Configuration; @@ -89,8 +90,11 @@ import com.android.internal.util.Preconditions; import com.android.internal.widget.ILockSettings; import java.io.IOException; +import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.reflect.Field; import java.net.URISyntaxException; import java.util.ArrayList; import java.util.HashMap; @@ -99,7 +103,6 @@ import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; - /** * The Settings provider contains global system-level device preferences. */ @@ -2490,7 +2493,7 @@ public final class Settings { public static final String EXTRA_NUMBER_OF_CERTIFICATES = "android.settings.extra.number_of_certificates"; - private static final String JID_RESOURCE_PREFIX = "android"; + private static final String SYSTEM_PACKAGE_NAME = "android"; public static final String AUTHORITY = "settings"; @@ -2659,22 +2662,30 @@ public final class Settings { private final String mCallListCommand; private final String mCallSetAllCommand; + private final ArraySet<String> mReadableFields; + private final ArraySet<String> mAllFields; + @GuardedBy("this") private GenerationTracker mGenerationTracker; - public NameValueCache(Uri uri, String getCommand, String setCommand, - ContentProviderHolder providerHolder) { - this(uri, getCommand, setCommand, null, null, providerHolder); + <T extends NameValueTable> NameValueCache(Uri uri, String getCommand, + String setCommand, ContentProviderHolder providerHolder, Class<T> callerClass) { + this(uri, getCommand, setCommand, null, null, providerHolder, + callerClass); } - NameValueCache(Uri uri, String getCommand, String setCommand, String listCommand, - String setAllCommand, ContentProviderHolder providerHolder) { + private <T extends NameValueTable> NameValueCache(Uri uri, String getCommand, + String setCommand, String listCommand, String setAllCommand, + ContentProviderHolder providerHolder, Class<T> callerClass) { mUri = uri; mCallGetCommand = getCommand; mCallSetCommand = setCommand; mCallListCommand = listCommand; mCallSetAllCommand = setAllCommand; mProviderHolder = providerHolder; + mReadableFields = new ArraySet<>(); + mAllFields = new ArraySet<>(); + getPublicSettingsForClass(callerClass, mAllFields, mReadableFields); } public boolean putStringForUser(ContentResolver cr, String name, String value, @@ -2726,6 +2737,19 @@ public final class Settings { @UnsupportedAppUsage public String getStringForUser(ContentResolver cr, String name, final int userHandle) { + // Check if the target settings key is readable. Reject if the caller is not system and + // is trying to access a settings key defined in the Settings.Secure, Settings.System or + // Settings.Global and is not annotated as @Readable. + // Notice that a key string that is not defined in any of the Settings.* classes will + // still be regarded as readable. + // TODO(b/175024829): provide a register method. + if (!Settings.isInSystemServer() && !isSystemOrPrivilegedApp() + && mAllFields.contains(name) && !mReadableFields.contains(name)) { + throw new SecurityException( + "Settings key: <" + name + "> is not readable. From S+, new public " + + "settings keys need to be annotated with @Readable unless they are " + + "annotated with @hide."); + } final boolean isSelf = (userHandle == UserHandle.myUserId()); int currentGeneration = -1; if (isSelf) { @@ -2900,6 +2924,19 @@ public final class Settings { } } + private static boolean isSystemOrPrivilegedApp() { + if (UserHandle.getAppId(Binder.getCallingUid()) < Process.FIRST_APPLICATION_UID) { + return true; + } + final Application application = ActivityThread.currentApplication(); + if (application == null || application.getApplicationInfo() == null) { + return false; + } + final ApplicationInfo applicationInfo = application.getApplicationInfo(); + return applicationInfo.isSystemApp() || applicationInfo.isPrivilegedApp() + || applicationInfo.isSignedWithPlatformKey(); + } + public ArrayMap<String, String> getStringsForPrefix(ContentResolver cr, String prefix, List<String> names) { String namespace = prefix.substring(0, prefix.length() - 1); @@ -3067,6 +3104,39 @@ public final class Settings { } /** + * This annotation indicates that the value of a setting is allowed to be read + * with the get* methods. The following settings should be readable: + * 1) all the public settings + * 2) all the hidden settings added before S + */ + @Target({ ElementType.FIELD }) + @Retention(RetentionPolicy.RUNTIME) + private @interface Readable { + } + + private static <T extends NameValueTable> void getPublicSettingsForClass( + Class<T> callerClass, Set<String> allKeys, Set<String> readableKeys) { + final Field[] allFields = callerClass.getDeclaredFields(); + try { + for (int i = 0; i < allFields.length; i++) { + final Field field = allFields[i]; + if (!field.getType().equals(String.class)) { + continue; + } + final Object value = field.get(callerClass); + if (!value.getClass().equals(String.class)) { + continue; + } + allKeys.add((String) value); + if (field.getAnnotation(Readable.class) != null) { + readableKeys.add((String) value); + } + } + } catch (IllegalAccessException ignored) { + } + } + + /** * System settings, containing miscellaneous system preferences. This * table holds simple name/value pairs. There are convenience * functions for accessing individual settings entries. @@ -3093,7 +3163,8 @@ public final class Settings { CONTENT_URI, CALL_METHOD_GET_SYSTEM, CALL_METHOD_PUT_SYSTEM, - sProviderHolder); + sProviderHolder, + System.class); @UnsupportedAppUsage private static final HashSet<String> MOVED_TO_SECURE; @@ -3147,8 +3218,11 @@ public final class Settings { MOVED_TO_SECURE_THEN_GLOBAL.add(Global.BLUETOOTH_ON); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.DATA_ROAMING); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.DEVICE_PROVISIONED); - MOVED_TO_SECURE_THEN_GLOBAL.add(Global.USB_MASS_STORAGE_ENABLED); MOVED_TO_SECURE_THEN_GLOBAL.add(Global.HTTP_PROXY); + MOVED_TO_SECURE_THEN_GLOBAL.add(Global.NETWORK_PREFERENCE); + MOVED_TO_SECURE_THEN_GLOBAL.add(Global.USB_MASS_STORAGE_ENABLED); + MOVED_TO_SECURE_THEN_GLOBAL.add(Global.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS); + MOVED_TO_SECURE_THEN_GLOBAL.add(Global.WIFI_MAX_DHCP_RETRY_COUNT); // these are moving directly from system to global MOVED_TO_GLOBAL.add(Settings.Global.AIRPLANE_MODE_ON); @@ -3186,6 +3260,12 @@ public final class Settings { MOVED_TO_GLOBAL.add(Settings.Global.SMS_SHORT_CODES_UPDATE_METADATA_URL); MOVED_TO_GLOBAL.add(Settings.Global.CERT_PIN_UPDATE_CONTENT_URL); MOVED_TO_GLOBAL.add(Settings.Global.CERT_PIN_UPDATE_METADATA_URL); + MOVED_TO_GLOBAL.add(Settings.Global.RADIO_NFC); + MOVED_TO_GLOBAL.add(Settings.Global.RADIO_CELL); + MOVED_TO_GLOBAL.add(Settings.Global.RADIO_WIFI); + MOVED_TO_GLOBAL.add(Settings.Global.RADIO_BLUETOOTH); + MOVED_TO_GLOBAL.add(Settings.Global.RADIO_WIMAX); + MOVED_TO_GLOBAL.add(Settings.Global.SHOW_PROCESSES); } /** @hide */ @@ -3210,6 +3290,11 @@ public final class Settings { sNameValueCache.clearGenerationTrackerForTest(); } + /** @hide */ + public static void getPublicSettings(Set<String> allKeys, Set<String> readableKeys) { + getPublicSettingsForClass(System.class, allKeys, readableKeys); + } + /** * Look up a name in the database. * @param resolver to access the database with @@ -3234,6 +3319,7 @@ public final class Settings { + " to android.provider.Settings.Global, returning read-only value."); return Global.getStringForUser(resolver, name, userHandle); } + return sNameValueCache.getStringForUser(resolver, name, userHandle); } @@ -3711,6 +3797,7 @@ public final class Settings { * 3 - The end button goes to the home screen. If the user is already on the * home screen, it puts the device to sleep. */ + @Readable public static final String END_BUTTON_BEHAVIOR = "end_button_behavior"; /** @@ -3735,6 +3822,7 @@ public final class Settings { * Is advanced settings mode turned on. 0 == no, 1 == yes * @hide */ + @Readable public static final String ADVANCED_SETTINGS = "advanced_settings"; /** @@ -3835,6 +3923,7 @@ public final class Settings { * @deprecated Use {@link WifiManager} instead */ @Deprecated + @Readable public static final String WIFI_USE_STATIC_IP = "wifi_use_static_ip"; /** @@ -3845,6 +3934,7 @@ public final class Settings { * @deprecated Use {@link WifiManager} instead */ @Deprecated + @Readable public static final String WIFI_STATIC_IP = "wifi_static_ip"; /** @@ -3855,6 +3945,7 @@ public final class Settings { * @deprecated Use {@link WifiManager} instead */ @Deprecated + @Readable public static final String WIFI_STATIC_GATEWAY = "wifi_static_gateway"; /** @@ -3865,6 +3956,7 @@ public final class Settings { * @deprecated Use {@link WifiManager} instead */ @Deprecated + @Readable public static final String WIFI_STATIC_NETMASK = "wifi_static_netmask"; /** @@ -3875,6 +3967,7 @@ public final class Settings { * @deprecated Use {@link WifiManager} instead */ @Deprecated + @Readable public static final String WIFI_STATIC_DNS1 = "wifi_static_dns1"; /** @@ -3885,6 +3978,7 @@ public final class Settings { * @deprecated Use {@link WifiManager} instead */ @Deprecated + @Readable public static final String WIFI_STATIC_DNS2 = "wifi_static_dns2"; /** @@ -3895,6 +3989,7 @@ public final class Settings { * 1 -- connectable but not discoverable * 0 -- neither connectable nor discoverable */ + @Readable public static final String BLUETOOTH_DISCOVERABILITY = "bluetooth_discoverability"; @@ -3903,6 +3998,7 @@ public final class Settings { * Bluetooth becomes discoverable for a certain number of seconds, * after which is becomes simply connectable. The value is in seconds. */ + @Readable public static final String BLUETOOTH_DISCOVERABILITY_TIMEOUT = "bluetooth_discoverability_timeout"; @@ -3936,11 +4032,13 @@ public final class Settings { * @deprecated Use {@link android.app.AlarmManager#getNextAlarmClock()}. */ @Deprecated + @Readable public static final String NEXT_ALARM_FORMATTED = "next_alarm_formatted"; /** * Scaling factor for fonts, float. */ + @Readable public static final String FONT_SCALE = "font_scale"; /** @@ -3952,6 +4050,7 @@ public final class Settings { * instead. * @hide */ + @Readable public static final String SYSTEM_LOCALES = "system_locales"; @@ -3977,12 +4076,14 @@ public final class Settings { * @deprecated This setting is no longer used. */ @Deprecated + @Readable public static final String DIM_SCREEN = "dim_screen"; /** * The display color mode. * @hide */ + @Readable public static final String DISPLAY_COLOR_MODE = "display_color_mode"; /** @@ -3990,6 +4091,7 @@ public final class Settings { * unset or a match is not made, only the standard color modes will be restored. * @hide */ + @Readable public static final String DISPLAY_COLOR_MODE_VENDOR_HINT = "display_color_mode_vendor_hint"; @@ -3999,6 +4101,7 @@ public final class Settings { * If this isn't set, 0 will be used. * @hide */ + @Readable public static final String MIN_REFRESH_RATE = "min_refresh_rate"; /** @@ -4007,6 +4110,7 @@ public final class Settings { * If this isn't set, the system falls back to a device specific default. * @hide */ + @Readable public static final String PEAK_REFRESH_RATE = "peak_refresh_rate"; /** @@ -4019,23 +4123,27 @@ public final class Settings { * This value is bounded by maximum timeout set by * {@link android.app.admin.DevicePolicyManager#setMaximumTimeToLock(ComponentName, long)}. */ + @Readable public static final String SCREEN_OFF_TIMEOUT = "screen_off_timeout"; /** * The screen backlight brightness between 0 and 255. */ + @Readable public static final String SCREEN_BRIGHTNESS = "screen_brightness"; /** * The screen backlight brightness between 0 and 255. * @hide */ + @Readable public static final String SCREEN_BRIGHTNESS_FOR_VR = "screen_brightness_for_vr"; /** * The screen backlight brightness between 0.0f and 1.0f. * @hide */ + @Readable public static final String SCREEN_BRIGHTNESS_FOR_VR_FLOAT = "screen_brightness_for_vr_float"; @@ -4043,11 +4151,13 @@ public final class Settings { * The screen backlight brightness between 0.0f and 1.0f. * @hide */ + @Readable public static final String SCREEN_BRIGHTNESS_FLOAT = "screen_brightness_float"; /** * Control whether to enable automatic brightness mode. */ + @Readable public static final String SCREEN_BRIGHTNESS_MODE = "screen_brightness_mode"; /** @@ -4056,6 +4166,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String SCREEN_AUTO_BRIGHTNESS_ADJ = "screen_auto_brightness_adj"; /** @@ -4073,6 +4184,8 @@ public final class Settings { * @deprecated Use {@link android.provider.Settings.Secure#ADAPTIVE_SLEEP} instead. * @hide */ + @Deprecated + @Readable public static final String ADAPTIVE_SLEEP = "adaptive_sleep"; /** @@ -4099,6 +4212,7 @@ public final class Settings { * stream type's bit should be set to 1 if it should be muted when going * into an inaudible ringer mode. */ + @Readable public static final String MODE_RINGER_STREAMS_AFFECTED = "mode_ringer_streams_affected"; /** @@ -4106,12 +4220,14 @@ public final class Settings { * stream type's bit should be set to 1 if it should be muted when a mute request * is received. */ + @Readable public static final String MUTE_STREAMS_AFFECTED = "mute_streams_affected"; /** * Whether vibrate is on for different events. This is used internally, * changing this value will not change the vibrate. See AudioManager. */ + @Readable public static final String VIBRATE_ON = "vibrate_on"; /** @@ -4126,6 +4242,7 @@ public final class Settings { * * @hide */ + @Readable public static final String VIBRATE_INPUT_DEVICES = "vibrate_input_devices"; /** @@ -4142,6 +4259,7 @@ public final class Settings { * 3 - Strong vibrations * @hide */ + @Readable public static final String NOTIFICATION_VIBRATION_INTENSITY = "notification_vibration_intensity"; /** @@ -4158,6 +4276,7 @@ public final class Settings { * 3 - Strong vibrations * @hide */ + @Readable public static final String RING_VIBRATION_INTENSITY = "ring_vibration_intensity"; @@ -4175,6 +4294,7 @@ public final class Settings { * 3 - Strong vibrations * @hide */ + @Readable public static final String HAPTIC_FEEDBACK_INTENSITY = "haptic_feedback_intensity"; @@ -4184,6 +4304,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String VOLUME_RING = "volume_ring"; /** @@ -4192,6 +4313,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String VOLUME_SYSTEM = "volume_system"; /** @@ -4200,6 +4322,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String VOLUME_VOICE = "volume_voice"; /** @@ -4208,6 +4331,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String VOLUME_MUSIC = "volume_music"; /** @@ -4216,6 +4340,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String VOLUME_ALARM = "volume_alarm"; /** @@ -4224,6 +4349,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String VOLUME_NOTIFICATION = "volume_notification"; /** @@ -4232,6 +4358,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String VOLUME_BLUETOOTH_SCO = "volume_bluetooth_sco"; /** @@ -4239,12 +4366,14 @@ public final class Settings { * Acessibility volume. This is used internally, changing this * value will not change the volume. */ + @Readable public static final String VOLUME_ACCESSIBILITY = "volume_a11y"; /** * @hide * Volume index for virtual assistant. */ + @Readable public static final String VOLUME_ASSISTANT = "volume_assistant"; /** @@ -4252,6 +4381,7 @@ public final class Settings { * * @hide */ + @Readable public static final String VOLUME_MASTER = "volume_master"; /** @@ -4260,6 +4390,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String MASTER_MONO = "master_mono"; /** @@ -4267,6 +4398,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MASTER_BALANCE = "master_balance"; /** @@ -4284,6 +4416,7 @@ public final class Settings { * @deprecated */ @Deprecated + @Readable public static final String NOTIFICATIONS_USE_RING_VOLUME = "notifications_use_ring_volume"; @@ -4300,6 +4433,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String VIBRATE_IN_SILENT = "vibrate_in_silent"; /** @@ -4335,6 +4469,7 @@ public final class Settings { * * @removed Not used by anything since API 2. */ + @Readable public static final String APPEND_FOR_LAST_AUDIBLE = "_last_audible"; /** @@ -4346,6 +4481,7 @@ public final class Settings { * * @see #DEFAULT_RINGTONE_URI */ + @Readable public static final String RINGTONE = "ringtone"; /** @@ -4359,6 +4495,7 @@ public final class Settings { public static final Uri DEFAULT_RINGTONE_URI = getUriFor(RINGTONE); /** {@hide} */ + @Readable public static final String RINGTONE_CACHE = "ringtone_cache"; /** {@hide} */ public static final Uri RINGTONE_CACHE_URI = getUriFor(RINGTONE_CACHE); @@ -4369,6 +4506,7 @@ public final class Settings { * @see #RINGTONE * @see #DEFAULT_NOTIFICATION_URI */ + @Readable public static final String NOTIFICATION_SOUND = "notification_sound"; /** @@ -4380,6 +4518,7 @@ public final class Settings { public static final Uri DEFAULT_NOTIFICATION_URI = getUriFor(NOTIFICATION_SOUND); /** {@hide} */ + @Readable public static final String NOTIFICATION_SOUND_CACHE = "notification_sound_cache"; /** {@hide} */ public static final Uri NOTIFICATION_SOUND_CACHE_URI = getUriFor(NOTIFICATION_SOUND_CACHE); @@ -4390,6 +4529,7 @@ public final class Settings { * @see #RINGTONE * @see #DEFAULT_ALARM_ALERT_URI */ + @Readable public static final String ALARM_ALERT = "alarm_alert"; /** @@ -4401,6 +4541,7 @@ public final class Settings { public static final Uri DEFAULT_ALARM_ALERT_URI = getUriFor(ALARM_ALERT); /** {@hide} */ + @Readable public static final String ALARM_ALERT_CACHE = "alarm_alert_cache"; /** {@hide} */ public static final Uri ALARM_ALERT_CACHE_URI = getUriFor(ALARM_ALERT_CACHE); @@ -4410,29 +4551,35 @@ public final class Settings { * * @hide */ + @Readable public static final String MEDIA_BUTTON_RECEIVER = "media_button_receiver"; /** * Setting to enable Auto Replace (AutoText) in text editors. 1 = On, 0 = Off */ + @Readable public static final String TEXT_AUTO_REPLACE = "auto_replace"; /** * Setting to enable Auto Caps in text editors. 1 = On, 0 = Off */ + @Readable public static final String TEXT_AUTO_CAPS = "auto_caps"; /** * Setting to enable Auto Punctuate in text editors. 1 = On, 0 = Off. This * feature converts two spaces to a "." and space. */ + @Readable public static final String TEXT_AUTO_PUNCTUATE = "auto_punctuate"; /** * Setting to showing password characters in text editors. 1 = On, 0 = Off */ + @Readable public static final String TEXT_SHOW_PASSWORD = "show_password"; + @Readable public static final String SHOW_GTALK_SERVICE_STATUS = "SHOW_GTALK_SERVICE_STATUS"; @@ -4442,6 +4589,7 @@ public final class Settings { * @deprecated Use {@link WallpaperManager} instead. */ @Deprecated + @Readable public static final String WALLPAPER_ACTIVITY = "wallpaper_activity"; /** @@ -4463,6 +4611,7 @@ public final class Settings { * 12 * 24 */ + @Readable public static final String TIME_12_24 = "time_12_24"; /** @@ -4471,6 +4620,7 @@ public final class Settings { * dd/mm/yyyy * yyyy/mm/dd */ + @Readable public static final String DATE_FORMAT = "date_format"; /** @@ -4480,6 +4630,7 @@ public final class Settings { * nonzero = it has been run in the past * 0 = it has not been run in the past */ + @Readable public static final String SETUP_WIZARD_HAS_RUN = "setup_wizard_has_run"; /** @@ -4516,6 +4667,7 @@ public final class Settings { * by the application; if 1, it will be used by default unless explicitly * disabled by the application. */ + @Readable public static final String ACCELEROMETER_ROTATION = "accelerometer_rotation"; /** @@ -4526,6 +4678,7 @@ public final class Settings { * * @see Display#getRotation */ + @Readable public static final String USER_ROTATION = "user_rotation"; /** @@ -4540,6 +4693,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY = "hide_rotation_lock_toggle_for_accessibility"; @@ -4553,6 +4707,7 @@ public final class Settings { * relied on the setting, while this is purely about the vibration setting for incoming * calls. */ + @Readable public static final String VIBRATE_WHEN_RINGING = "vibrate_when_ringing"; /** @@ -4560,6 +4715,7 @@ public final class Settings { * {@code 0}, enhanced call blocking functionality is disabled. * @hide */ + @Readable public static final String DEBUG_ENABLE_ENHANCED_CALL_BLOCKING = "debug.enable_enhanced_calling"; @@ -4567,6 +4723,7 @@ public final class Settings { * Whether the audible DTMF tones are played by the dialer when dialing. The value is * boolean (1 or 0). */ + @Readable public static final String DTMF_TONE_WHEN_DIALING = "dtmf_tone"; /** @@ -4575,6 +4732,7 @@ public final class Settings { * 0 = Normal * 1 = Long */ + @Readable public static final String DTMF_TONE_TYPE_WHEN_DIALING = "dtmf_tone_type"; /** @@ -4583,6 +4741,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String HEARING_AID = "hearing_aid"; /** @@ -4595,18 +4754,21 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String TTY_MODE = "tty_mode"; /** * Whether the sounds effects (key clicks, lid open ...) are enabled. The value is * boolean (1 or 0). */ + @Readable public static final String SOUND_EFFECTS_ENABLED = "sound_effects_enabled"; /** * Whether haptic feedback (Vibrate on tap) is enabled. The value is * boolean (1 or 0). */ + @Readable public static final String HAPTIC_FEEDBACK_ENABLED = "haptic_feedback_enabled"; /** @@ -4614,6 +4776,7 @@ public final class Settings { * setting for this. */ @Deprecated + @Readable public static final String SHOW_WEB_SUGGESTIONS = "show_web_suggestions"; /** @@ -4622,6 +4785,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String NOTIFICATION_LIGHT_PULSE = "notification_light_pulse"; /** @@ -4631,6 +4795,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String POINTER_LOCATION = "pointer_location"; /** @@ -4640,6 +4805,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String SHOW_TOUCHES = "show_touches"; /** @@ -4650,6 +4816,7 @@ public final class Settings { * 1 = yes * @hide */ + @Readable public static final String WINDOW_ORIENTATION_LISTENER_LOG = "window_orientation_listener_log"; @@ -4675,12 +4842,14 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String LOCKSCREEN_SOUNDS_ENABLED = "lockscreen_sounds_enabled"; /** * Whether the lockscreen should be completely disabled. * @hide */ + @Readable public static final String LOCKSCREEN_DISABLED = "lockscreen.disabled"; /** @@ -4751,6 +4920,7 @@ public final class Settings { * 1 = yes * @hide */ + @Readable public static final String SIP_RECEIVE_CALLS = "sip_receive_calls"; /** @@ -4759,18 +4929,21 @@ public final class Settings { * "SIP_ADDRESS_ONLY" : Only if destination is a SIP address * @hide */ + @Readable public static final String SIP_CALL_OPTIONS = "sip_call_options"; /** * One of the sip call options: Always use SIP with network access. * @hide */ + @Readable public static final String SIP_ALWAYS = "SIP_ALWAYS"; /** * One of the sip call options: Only if destination is a SIP address. * @hide */ + @Readable public static final String SIP_ADDRESS_ONLY = "SIP_ADDRESS_ONLY"; /** @@ -4781,6 +4954,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String SIP_ASK_ME_EACH_TIME = "SIP_ASK_ME_EACH_TIME"; /** @@ -4792,12 +4966,14 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String POINTER_SPEED = "pointer_speed"; /** * Whether lock-to-app will be triggered by long-press on recents. * @hide */ + @Readable public static final String LOCK_TO_APP_ENABLED = "lock_to_app_enabled"; /** @@ -4807,6 +4983,7 @@ public final class Settings { * Backward-compatible with <code>PrefGetPreference(prefAllowEasterEggs)</code>. * @hide */ + @Readable public static final String EGG_MODE = "egg_mode"; /** @@ -4815,6 +4992,7 @@ public final class Settings { * 1 - Show percentage * @hide */ + @Readable public static final String SHOW_BATTERY_PERCENT = "status_bar_show_battery_percent"; /** @@ -4823,6 +5001,7 @@ public final class Settings { * for instance pausing media apps when another starts. * @hide */ + @Readable public static final String MULTI_AUDIO_FOCUS_ENABLED = "multi_audio_focus_enabled"; /** @@ -5017,6 +5196,7 @@ public final class Settings { * @see android.telephony.TelephonyManager.WifiCallingChoices * @hide */ + @Readable public static final String WHEN_TO_MAKE_WIFI_CALLS = "when_to_make_wifi_calls"; // Settings moved to Settings.Secure @@ -5173,6 +5353,7 @@ public final class Settings { * instead */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = Secure.WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE; @@ -5187,6 +5368,7 @@ public final class Settings { * {@link android.provider.Settings.Secure#WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS} instead */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS; @@ -5195,6 +5377,7 @@ public final class Settings { * {@link android.provider.Settings.Secure#WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED} instead */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED; @@ -5204,6 +5387,7 @@ public final class Settings { * instead */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = Secure.WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS; @@ -5212,6 +5396,7 @@ public final class Settings { * {@link android.provider.Settings.Secure#WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT} instead */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = Secure.WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT; @@ -5246,6 +5431,7 @@ public final class Settings { * instead */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_PING_TIMEOUT_MS = Secure.WIFI_WATCHDOG_PING_TIMEOUT_MS; @@ -5295,7 +5481,8 @@ public final class Settings { CONTENT_URI, CALL_METHOD_GET_SECURE, CALL_METHOD_PUT_SECURE, - sProviderHolder); + sProviderHolder, + Secure.class); private static ILockSettings sLockSettings = null; @@ -5433,6 +5620,11 @@ public final class Settings { sNameValueCache.clearGenerationTrackerForTest(); } + /** @hide */ + public static void getPublicSettings(Set<String> allKeys, Set<String> readableKeys) { + getPublicSettingsForClass(Secure.class, allKeys, readableKeys); + } + /** * Look up a name in the database. * @param resolver to access the database with @@ -5928,6 +6120,7 @@ public final class Settings { * Control whether to enable adaptive sleep mode. * @hide */ + @Readable public static final String ADAPTIVE_SLEEP = "adaptive_sleep"; /** @@ -5935,6 +6128,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAMERA_AUTOROTATE = "camera_autorotate"; /** @@ -5952,6 +6146,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String BUGREPORT_IN_POWER_MENU = "bugreport_in_power_menu"; /** @@ -5969,6 +6164,7 @@ public final class Settings { * @deprecated This settings is not used anymore. */ @Deprecated + @Readable public static final String ALLOW_MOCK_LOCATION = "mock_location"; /** @@ -5977,6 +6173,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled"; /** @@ -6016,6 +6213,7 @@ public final class Settings { * to the Instant App, it is generated when the Instant App is first installed and reset if * the user clears the Instant App. */ + @Readable public static final String ANDROID_ID = "android_id"; /** @@ -6034,12 +6232,14 @@ public final class Settings { * Setting to record the input method used by default, holding the ID * of the desired method. */ + @Readable public static final String DEFAULT_INPUT_METHOD = "default_input_method"; /** * Setting to record the input method subtype used by default, holding the ID * of the desired method. */ + @Readable public static final String SELECTED_INPUT_METHOD_SUBTYPE = "selected_input_method_subtype"; @@ -6048,12 +6248,14 @@ public final class Settings { * and its last used subtype. * @hide */ + @Readable public static final String INPUT_METHODS_SUBTYPE_HISTORY = "input_methods_subtype_history"; /** * Setting to record the visibility of input method selector */ + @Readable public static final String INPUT_METHOD_SELECTOR_VISIBILITY = "input_method_selector_visibility"; @@ -6062,6 +6264,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String VOICE_INTERACTION_SERVICE = "voice_interaction_service"; /** @@ -6069,6 +6272,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String AUTOFILL_SERVICE = "autofill_service"; /** @@ -6079,6 +6283,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification"; @@ -6087,6 +6292,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DARK_MODE_DIALOG_SEEN = "dark_mode_dialog_seen"; @@ -6095,6 +6301,7 @@ public final class Settings { * Represented as milliseconds from midnight (e.g. 79200000 == 10pm). * @hide */ + @Readable public static final String DARK_THEME_CUSTOM_START_TIME = "dark_theme_custom_start_time"; @@ -6103,6 +6310,7 @@ public final class Settings { * Represented as milliseconds from midnight (e.g. 79200000 == 10pm). * @hide */ + @Readable public static final String DARK_THEME_CUSTOM_END_TIME = "dark_theme_custom_end_time"; @@ -6112,6 +6320,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size"; @@ -6122,6 +6331,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size"; @@ -6132,6 +6342,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count"; @@ -6141,6 +6352,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length"; @@ -6150,6 +6362,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length"; @@ -6162,6 +6375,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String CONTENT_CAPTURE_ENABLED = "content_capture_enabled"; /** @@ -6179,6 +6393,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MANAGED_PROVISIONING_DPC_DOWNLOADED = "managed_provisioning_dpc_downloaded"; @@ -6189,6 +6404,7 @@ public final class Settings { * <p> * Type: int (0 for false, 1 for true) */ + @Readable public static final String SECURE_FRP_MODE = "secure_frp_mode"; /** @@ -6199,6 +6415,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String USER_SETUP_COMPLETE = "user_setup_complete"; /** @@ -6254,6 +6471,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state"; @@ -6264,6 +6482,7 @@ public final class Settings { * * @hide */ + @Readable public static final String TV_USER_SETUP_COMPLETE = "tv_user_setup_complete"; /** @@ -6275,6 +6494,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category."; /** @@ -6285,6 +6505,7 @@ public final class Settings { * Format like "ime0;subtype0;subtype1;subtype2:ime1:ime2;subtype0" * where imeId is ComponentName and subtype is int32. */ + @Readable public static final String ENABLED_INPUT_METHODS = "enabled_input_methods"; /** @@ -6293,6 +6514,7 @@ public final class Settings { * by ':'. * @hide */ + @Readable public static final String DISABLED_SYSTEM_INPUT_METHODS = "disabled_system_input_methods"; /** @@ -6301,6 +6523,7 @@ public final class Settings { * @hide */ @TestApi + @Readable @SuppressLint("NoSettingsProvider") public static final String SHOW_IME_WITH_HARD_KEYBOARD = "show_ime_with_hard_keyboard"; @@ -6318,6 +6541,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ALWAYS_ON_VPN_APP = "always_on_vpn_app"; /** @@ -6326,6 +6550,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ALWAYS_ON_VPN_LOCKDOWN = "always_on_vpn_lockdown"; /** @@ -6335,6 +6560,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ALWAYS_ON_VPN_LOCKDOWN_WHITELIST = "always_on_vpn_lockdown_whitelist"; @@ -6348,6 +6574,8 @@ public final class Settings { * {@link PackageManager#canRequestPackageInstalls()} * @see PackageManager#canRequestPackageInstalls() */ + @Deprecated + @Readable public static final String INSTALL_NON_MARKET_APPS = "install_non_market_apps"; /** @@ -6359,6 +6587,7 @@ public final class Settings { * * @hide */ + @Readable public static final String UNKNOWN_SOURCES_DEFAULT_REVERSED = "unknown_sources_default_reversed"; @@ -6372,6 +6601,7 @@ public final class Settings { * instead. */ @Deprecated + @Readable public static final String LOCATION_PROVIDERS_ALLOWED = "location_providers_allowed"; /** @@ -6383,12 +6613,14 @@ public final class Settings { * {@link LocationManager#MODE_CHANGED_ACTION}. */ @Deprecated + @Readable public static final String LOCATION_MODE = "location_mode"; /** * The App or module that changes the location mode. * @hide */ + @Readable public static final String LOCATION_CHANGER = "location_changer"; /** @@ -6457,6 +6689,7 @@ public final class Settings { * android.app.timezonedetector.TimeZoneDetector#updateConfiguration} to update. * @hide */ + @Readable public static final String LOCATION_TIME_ZONE_DETECTION_ENABLED = "location_time_zone_detection_enabled"; @@ -6466,6 +6699,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOCATION_COARSE_ACCURACY_M = "locationCoarseAccuracy"; /** @@ -6473,6 +6707,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String LOCK_BIOMETRIC_WEAK_FLAGS = "lock_biometric_weak_flags"; @@ -6480,6 +6715,7 @@ public final class Settings { * Whether lock-to-app will lock the keyguard when exiting. * @hide */ + @Readable public static final String LOCK_TO_APP_EXIT_LOCKED = "lock_to_app_exit_locked"; /** @@ -6490,6 +6726,7 @@ public final class Settings { * {@link VERSION_CODES#M} or later throws a {@code SecurityException}. */ @Deprecated + @Readable public static final String LOCK_PATTERN_ENABLED = "lock_pattern_autolock"; /** @@ -6499,6 +6736,7 @@ public final class Settings { * {@link VERSION_CODES#M} or later throws a {@code SecurityException}. */ @Deprecated + @Readable public static final String LOCK_PATTERN_VISIBLE = "lock_pattern_visible_pattern"; /** @@ -6512,6 +6750,7 @@ public final class Settings { * {@link VERSION_CODES#M} or later throws a {@code SecurityException}. */ @Deprecated + @Readable public static final String LOCK_PATTERN_TACTILE_FEEDBACK_ENABLED = "lock_pattern_tactile_feedback_enabled"; @@ -6521,6 +6760,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String LOCK_SCREEN_LOCK_AFTER_TIMEOUT = "lock_screen_lock_after_timeout"; @@ -6530,6 +6770,7 @@ public final class Settings { * @deprecated */ @Deprecated + @Readable public static final String LOCK_SCREEN_OWNER_INFO = "lock_screen_owner_info"; /** @@ -6537,6 +6778,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String LOCK_SCREEN_APPWIDGET_IDS = "lock_screen_appwidget_ids"; @@ -6545,6 +6787,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String LOCK_SCREEN_FALLBACK_APPWIDGET_ID = "lock_screen_fallback_appwidget_id"; @@ -6553,6 +6796,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String LOCK_SCREEN_STICKY_APPWIDGET = "lock_screen_sticky_appwidget"; @@ -6563,6 +6807,7 @@ public final class Settings { */ @Deprecated @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String LOCK_SCREEN_OWNER_INFO_ENABLED = "lock_screen_owner_info_enabled"; @@ -6575,6 +6820,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications"; @@ -6583,6 +6829,7 @@ public final class Settings { * without having to unlock * @hide */ + @Readable public static final String LOCK_SCREEN_ALLOW_REMOTE_INPUT = "lock_screen_allow_remote_input"; @@ -6592,12 +6839,14 @@ public final class Settings { * {"clock": id, "_applied_timestamp": timestamp} * @hide */ + @Readable public static final String LOCK_SCREEN_CUSTOM_CLOCK_FACE = "lock_screen_custom_clock_face"; /** * Indicates which clock face to show on lock screen and AOD while docked. * @hide */ + @Readable public static final String DOCKED_CLOCK_FACE = "docked_clock_face"; /** @@ -6605,6 +6854,7 @@ public final class Settings { * the lockscreen notification policy. * @hide */ + @Readable public static final String SHOW_NOTE_ABOUT_NOTIFICATION_HIDING = "show_note_about_notification_hiding"; @@ -6612,6 +6862,7 @@ public final class Settings { * Set to 1 by the system after trust agents have been initialized. * @hide */ + @Readable public static final String TRUST_AGENTS_INITIALIZED = "trust_agents_initialized"; @@ -6622,6 +6873,7 @@ public final class Settings { * many collisions. It should not be used. */ @Deprecated + @Readable public static final String LOGGING_ID = "logging_id"; /** @@ -6633,16 +6885,19 @@ public final class Settings { /** * No longer supported. */ + @Readable public static final String PARENTAL_CONTROL_ENABLED = "parental_control_enabled"; /** * No longer supported. */ + @Readable public static final String PARENTAL_CONTROL_LAST_UPDATE = "parental_control_last_update"; /** * No longer supported. */ + @Readable public static final String PARENTAL_CONTROL_REDIRECT_URL = "parental_control_redirect_url"; /** @@ -6651,6 +6906,7 @@ public final class Settings { * and new Settings apps. */ // TODO: 881807 + @Readable public static final String SETTINGS_CLASSNAME = "settings_classname"; /** @@ -6668,12 +6924,14 @@ public final class Settings { /** * If accessibility is enabled. */ + @Readable public static final String ACCESSIBILITY_ENABLED = "accessibility_enabled"; /** * Setting specifying if the accessibility shortcut is enabled. * @hide */ + @Readable public static final String ACCESSIBILITY_SHORTCUT_ON_LOCK_SCREEN = "accessibility_shortcut_on_lock_screen"; @@ -6681,6 +6939,7 @@ public final class Settings { * Setting specifying if the accessibility shortcut dialog has been shown to this user. * @hide */ + @Readable public static final String ACCESSIBILITY_SHORTCUT_DIALOG_SHOWN = "accessibility_shortcut_dialog_shown"; @@ -6695,6 +6954,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable public static final String ACCESSIBILITY_SHORTCUT_TARGET_SERVICE = "accessibility_shortcut_target_service"; @@ -6705,6 +6965,7 @@ public final class Settings { * accessibility feature. * @hide */ + @Readable public static final String ACCESSIBILITY_BUTTON_TARGET_COMPONENT = "accessibility_button_target_component"; @@ -6717,6 +6978,7 @@ public final class Settings { * accessibility feature. * @hide */ + @Readable public static final String ACCESSIBILITY_BUTTON_TARGETS = "accessibility_button_targets"; /** @@ -6725,17 +6987,20 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_SHORTCUT_TARGET_MAGNIFICATION_CONTROLLER = "com.android.server.accessibility.MagnificationController"; /** * If touch exploration is enabled. */ + @Readable public static final String TOUCH_EXPLORATION_ENABLED = "touch_exploration_enabled"; /** * List of the enabled accessibility providers. */ + @Readable public static final String ENABLED_ACCESSIBILITY_SERVICES = "enabled_accessibility_services"; @@ -6745,6 +7010,7 @@ public final class Settings { * * @hide */ + @Readable public static final String TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES = "touch_exploration_granted_accessibility_services"; @@ -6752,12 +7018,14 @@ public final class Settings { * Whether the Global Actions Panel is enabled. * @hide */ + @Readable public static final String GLOBAL_ACTIONS_PANEL_ENABLED = "global_actions_panel_enabled"; /** * Whether the Global Actions Panel can be toggled on or off in Settings. * @hide */ + @Readable public static final String GLOBAL_ACTIONS_PANEL_AVAILABLE = "global_actions_panel_available"; @@ -6765,6 +7033,7 @@ public final class Settings { * Enables debug mode for the Global Actions Panel. * @hide */ + @Readable public static final String GLOBAL_ACTIONS_PANEL_DEBUG_ENABLED = "global_actions_panel_debug_enabled"; @@ -6773,24 +7042,28 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String HUSH_GESTURE_USED = "hush_gesture_used"; /** * Number of times the user has manually clicked the ringer toggle * @hide */ + @Readable public static final String MANUAL_RINGER_TOGGLE_COUNT = "manual_ringer_toggle_count"; /** * Whether to play a sound for charging events. * @hide */ + @Readable public static final String CHARGING_SOUNDS_ENABLED = "charging_sounds_enabled"; /** * Whether to vibrate for charging events. * @hide */ + @Readable public static final String CHARGING_VIBRATION_ENABLED = "charging_vibration_enabled"; /** @@ -6800,6 +7073,7 @@ public final class Settings { * user to specify a duration. * @hide */ + @Readable public static final String ZEN_DURATION = "zen_duration"; /** @hide */ public static final int ZEN_DURATION_PROMPT = -1; @@ -6809,24 +7083,28 @@ public final class Settings { * If nonzero, will show the zen upgrade notification when the user toggles DND on/off. * @hide */ + @Readable public static final String SHOW_ZEN_UPGRADE_NOTIFICATION = "show_zen_upgrade_notification"; /** * If nonzero, will show the zen update settings suggestion. * @hide */ + @Readable public static final String SHOW_ZEN_SETTINGS_SUGGESTION = "show_zen_settings_suggestion"; /** * If nonzero, zen has not been updated to reflect new changes. * @hide */ + @Readable public static final String ZEN_SETTINGS_UPDATED = "zen_settings_updated"; /** * If nonzero, zen setting suggestion has been viewed by user * @hide */ + @Readable public static final String ZEN_SETTINGS_SUGGESTION_VIEWED = "zen_settings_suggestion_viewed"; @@ -6835,6 +7113,7 @@ public final class Settings { * boolean (1 or 0). * @hide */ + @Readable public static final String IN_CALL_NOTIFICATION_ENABLED = "in_call_notification_enabled"; /** @@ -6843,6 +7122,7 @@ public final class Settings { * * @hide */ + @Readable public static final String KEYGUARD_SLICE_URI = "keyguard_slice_uri"; /** @@ -6855,6 +7135,7 @@ public final class Settings { * * @hide */ + @Readable public static final String FONT_WEIGHT_ADJUSTMENT = "font_weight_adjustment"; /** @@ -6865,6 +7146,7 @@ public final class Settings { * at all times, which was the behavior when this value was {@code true}. */ @Deprecated + @Readable public static final String ACCESSIBILITY_SPEAK_PASSWORD = "speak_password"; /** @@ -6872,6 +7154,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED = "high_text_contrast_enabled"; @@ -6885,6 +7168,7 @@ public final class Settings { */ @UnsupportedAppUsage @TestApi + @Readable public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED = "accessibility_display_magnification_enabled"; @@ -6900,6 +7184,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled"; @@ -6913,6 +7198,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_SCALE = "accessibility_display_magnification_scale"; @@ -6923,6 +7209,7 @@ public final class Settings { * @deprecated */ @Deprecated + @Readable public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_AUTO_UPDATE = "accessibility_display_magnification_auto_update"; @@ -6932,6 +7219,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_SOFT_KEYBOARD_MODE = "accessibility_soft_keyboard_mode"; @@ -6965,6 +7253,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_ENABLED = "accessibility_captioning_enabled"; @@ -6975,6 +7264,7 @@ public final class Settings { * @see java.util.Locale#toString * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_LOCALE = "accessibility_captioning_locale"; @@ -6989,6 +7279,7 @@ public final class Settings { * @see java.util.Locale#toString * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_PRESET = "accessibility_captioning_preset"; @@ -6999,6 +7290,7 @@ public final class Settings { * @see android.graphics.Color#argb * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR = "accessibility_captioning_background_color"; @@ -7009,6 +7301,7 @@ public final class Settings { * @see android.graphics.Color#argb * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR = "accessibility_captioning_foreground_color"; @@ -7023,6 +7316,7 @@ public final class Settings { * @see #ACCESSIBILITY_CAPTIONING_EDGE_COLOR * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_EDGE_TYPE = "accessibility_captioning_edge_type"; @@ -7034,6 +7328,7 @@ public final class Settings { * @see android.graphics.Color#argb * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_EDGE_COLOR = "accessibility_captioning_edge_color"; @@ -7044,6 +7339,7 @@ public final class Settings { * @see android.graphics.Color#argb * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_WINDOW_COLOR = "accessibility_captioning_window_color"; @@ -7060,6 +7356,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String ACCESSIBILITY_CAPTIONING_TYPEFACE = "accessibility_captioning_typeface"; @@ -7068,12 +7365,14 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_CAPTIONING_FONT_SCALE = "accessibility_captioning_font_scale"; /** * Setting that specifies whether display color inversion is enabled. */ + @Readable public static final String ACCESSIBILITY_DISPLAY_INVERSION_ENABLED = "accessibility_display_inversion_enabled"; @@ -7084,6 +7383,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED = "accessibility_display_daltonizer_enabled"; @@ -7100,6 +7400,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String ACCESSIBILITY_DISPLAY_DALTONIZER = "accessibility_display_daltonizer"; @@ -7110,6 +7411,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String ACCESSIBILITY_AUTOCLICK_ENABLED = "accessibility_autoclick_enabled"; @@ -7120,6 +7422,7 @@ public final class Settings { * @see #ACCESSIBILITY_AUTOCLICK_ENABLED * @hide */ + @Readable public static final String ACCESSIBILITY_AUTOCLICK_DELAY = "accessibility_autoclick_delay"; @@ -7130,6 +7433,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String ACCESSIBILITY_LARGE_POINTER_ICON = "accessibility_large_pointer_icon"; @@ -7138,6 +7442,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String LONG_PRESS_TIMEOUT = "long_press_timeout"; /** @@ -7145,6 +7450,7 @@ public final class Settings { * down event for an interaction to be considered part of the same multi-press. * @hide */ + @Readable public static final String MULTI_PRESS_TIMEOUT = "multi_press_timeout"; /** @@ -7153,6 +7459,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_NON_INTERACTIVE_UI_TIMEOUT_MS = "accessibility_non_interactive_ui_timeout_ms"; @@ -7162,6 +7469,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_INTERACTIVE_UI_TIMEOUT_MS = "accessibility_interactive_ui_timeout_ms"; @@ -7172,6 +7480,7 @@ public final class Settings { * * @hide */ + @Readable public static final String REDUCE_BRIGHT_COLORS_ACTIVATED = "reduce_bright_colors_activated"; @@ -7181,6 +7490,7 @@ public final class Settings { * * @hide */ + @Readable public static final String REDUCE_BRIGHT_COLORS_LEVEL = "reduce_bright_colors_level"; @@ -7189,6 +7499,7 @@ public final class Settings { * * @hide */ + @Readable public static final String REDUCE_BRIGHT_COLORS_PERSIST_ACROSS_REBOOTS = "reduce_bright_colors_persist_across_reboots"; @@ -7201,6 +7512,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String ENABLED_PRINT_SERVICES = "enabled_print_services"; @@ -7210,6 +7522,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String DISABLED_PRINT_SERVICES = "disabled_print_services"; @@ -7220,6 +7533,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DISPLAY_DENSITY_FORCED = "display_density_forced"; /** @@ -7232,21 +7546,25 @@ public final class Settings { * the framework text to speech APIs as of the Ice Cream Sandwich release. */ @Deprecated + @Readable public static final String TTS_USE_DEFAULTS = "tts_use_defaults"; /** * Default text-to-speech engine speech rate. 100 = 1x */ + @Readable public static final String TTS_DEFAULT_RATE = "tts_default_rate"; /** * Default text-to-speech engine pitch. 100 = 1x */ + @Readable public static final String TTS_DEFAULT_PITCH = "tts_default_pitch"; /** * Default text-to-speech engine. */ + @Readable public static final String TTS_DEFAULT_SYNTH = "tts_default_synth"; /** @@ -7258,6 +7576,7 @@ public final class Settings { * locale. {@link TextToSpeech#getLanguage()}. */ @Deprecated + @Readable public static final String TTS_DEFAULT_LANG = "tts_default_lang"; /** @@ -7269,6 +7588,7 @@ public final class Settings { * locale. {@link TextToSpeech#getLanguage()}. */ @Deprecated + @Readable public static final String TTS_DEFAULT_COUNTRY = "tts_default_country"; /** @@ -7280,6 +7600,7 @@ public final class Settings { * locale that is in use {@link TextToSpeech#getLanguage()}. */ @Deprecated + @Readable public static final String TTS_DEFAULT_VARIANT = "tts_default_variant"; /** @@ -7294,11 +7615,13 @@ public final class Settings { * * @hide */ + @Readable public static final String TTS_DEFAULT_LOCALE = "tts_default_locale"; /** * Space delimited list of plugin packages that are enabled. */ + @Readable public static final String TTS_ENABLED_PLUGINS = "tts_enabled_plugins"; /** @@ -7338,6 +7661,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_ACCEPTABLE_PACKET_LOSS_PERCENTAGE = "wifi_watchdog_acceptable_packet_loss_percentage"; @@ -7347,6 +7671,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_AP_COUNT = "wifi_watchdog_ap_count"; /** @@ -7354,6 +7679,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_DELAY_MS = "wifi_watchdog_background_check_delay_ms"; @@ -7363,6 +7689,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_ENABLED = "wifi_watchdog_background_check_enabled"; @@ -7371,6 +7698,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_BACKGROUND_CHECK_TIMEOUT_MS = "wifi_watchdog_background_check_timeout_ms"; @@ -7382,6 +7710,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_INITIAL_IGNORED_PING_COUNT = "wifi_watchdog_initial_ignored_ping_count"; @@ -7393,12 +7722,14 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_MAX_AP_CHECKS = "wifi_watchdog_max_ap_checks"; /** * @deprecated Use {@link android.provider.Settings.Global#WIFI_WATCHDOG_ON} instead */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on"; /** @@ -7406,6 +7737,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_WATCH_LIST = "wifi_watchdog_watch_list"; /** @@ -7413,6 +7745,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_PING_COUNT = "wifi_watchdog_ping_count"; /** @@ -7420,6 +7753,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_PING_DELAY_MS = "wifi_watchdog_ping_delay_ms"; /** @@ -7427,6 +7761,7 @@ public final class Settings { * @deprecated This setting is not used. */ @Deprecated + @Readable public static final String WIFI_WATCHDOG_PING_TIMEOUT_MS = "wifi_watchdog_ping_timeout_ms"; /** @@ -7451,6 +7786,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS = "connectivity_release_pending_intent_delay_ms"; @@ -7464,12 +7800,14 @@ public final class Settings { * now appear disconnected. */ @Deprecated + @Readable public static final String BACKGROUND_DATA = "background_data"; /** * Origins for which browsers should allow geolocation by default. * The value is a space-separated list of origins. */ + @Readable public static final String ALLOWED_GEOLOCATION_ORIGINS = "allowed_geolocation_origins"; @@ -7480,6 +7818,7 @@ public final class Settings { * 3 = TTY VCO * @hide */ + @Readable public static final String PREFERRED_TTY_MODE = "preferred_tty_mode"; @@ -7489,6 +7828,7 @@ public final class Settings { * 1 = enhanced voice privacy * @hide */ + @Readable public static final String ENHANCED_VOICE_PRIVACY_ENABLED = "enhanced_voice_privacy_enabled"; /** @@ -7497,6 +7837,7 @@ public final class Settings { * 1 = enabled * @hide */ + @Readable public static final String TTY_MODE_ENABLED = "tty_mode_enabled"; /** @@ -7505,6 +7846,7 @@ public final class Settings { * 0 = OFF * 1 = ON */ + @Readable public static final String RTT_CALLING_MODE = "rtt_calling_mode"; /** @@ -7514,6 +7856,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String BACKUP_ENABLED = "backup_enabled"; /** @@ -7523,6 +7866,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String BACKUP_AUTO_RESTORE = "backup_auto_restore"; /** @@ -7531,6 +7875,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String BACKUP_PROVISIONED = "backup_provisioned"; /** @@ -7538,6 +7883,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String BACKUP_TRANSPORT = "backup_transport"; /** @@ -7547,6 +7893,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String LAST_SETUP_SHOWN = "last_setup_shown"; /** @@ -7569,6 +7916,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SEARCH_GLOBAL_SEARCH_ACTIVITY = "search_global_search_activity"; @@ -7576,21 +7924,25 @@ public final class Settings { * The number of promoted sources in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_NUM_PROMOTED_SOURCES = "search_num_promoted_sources"; /** * The maximum number of suggestions returned by GlobalSearch. * @hide */ + @Readable public static final String SEARCH_MAX_RESULTS_TO_DISPLAY = "search_max_results_to_display"; /** * The number of suggestions GlobalSearch will ask each non-web search source for. * @hide */ + @Readable public static final String SEARCH_MAX_RESULTS_PER_SOURCE = "search_max_results_per_source"; /** * The number of suggestions the GlobalSearch will ask the web search source for. * @hide */ + @Readable public static final String SEARCH_WEB_RESULTS_OVERRIDE_LIMIT = "search_web_results_override_limit"; /** @@ -7598,69 +7950,81 @@ public final class Settings { * promoted sources before continuing with all other sources. * @hide */ + @Readable public static final String SEARCH_PROMOTED_SOURCE_DEADLINE_MILLIS = "search_promoted_source_deadline_millis"; /** * The number of milliseconds before GlobalSearch aborts search suggesiton queries. * @hide */ + @Readable public static final String SEARCH_SOURCE_TIMEOUT_MILLIS = "search_source_timeout_millis"; /** * The maximum number of milliseconds that GlobalSearch shows the previous results * after receiving a new query. * @hide */ + @Readable public static final String SEARCH_PREFILL_MILLIS = "search_prefill_millis"; /** * The maximum age of log data used for shortcuts in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_MAX_STAT_AGE_MILLIS = "search_max_stat_age_millis"; /** * The maximum age of log data used for source ranking in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_MAX_SOURCE_EVENT_AGE_MILLIS = "search_max_source_event_age_millis"; /** * The minimum number of impressions needed to rank a source in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_MIN_IMPRESSIONS_FOR_SOURCE_RANKING = "search_min_impressions_for_source_ranking"; /** * The minimum number of clicks needed to rank a source in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_MIN_CLICKS_FOR_SOURCE_RANKING = "search_min_clicks_for_source_ranking"; /** * The maximum number of shortcuts shown by GlobalSearch. * @hide */ + @Readable public static final String SEARCH_MAX_SHORTCUTS_RETURNED = "search_max_shortcuts_returned"; /** * The size of the core thread pool for suggestion queries in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_QUERY_THREAD_CORE_POOL_SIZE = "search_query_thread_core_pool_size"; /** * The maximum size of the thread pool for suggestion queries in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_QUERY_THREAD_MAX_POOL_SIZE = "search_query_thread_max_pool_size"; /** * The size of the core thread pool for shortcut refreshing in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_SHORTCUT_REFRESH_CORE_POOL_SIZE = "search_shortcut_refresh_core_pool_size"; /** * The maximum size of the thread pool for shortcut refreshing in GlobalSearch. * @hide */ + @Readable public static final String SEARCH_SHORTCUT_REFRESH_MAX_POOL_SIZE = "search_shortcut_refresh_max_pool_size"; /** @@ -7668,12 +8032,14 @@ public final class Settings { * wait before terminating. * @hide */ + @Readable public static final String SEARCH_THREAD_KEEPALIVE_SECONDS = "search_thread_keepalive_seconds"; /** * The maximum number of concurrent suggestion queries to each source. * @hide */ + @Readable public static final String SEARCH_PER_SOURCE_CONCURRENT_QUERY_LIMIT = "search_per_source_concurrent_query_limit"; @@ -7682,24 +8048,28 @@ public final class Settings { * (0 = false, 1 = true) * @hide */ + @Readable public static final String MOUNT_PLAY_NOTIFICATION_SND = "mount_play_not_snd"; /** * Whether or not UMS auto-starts on UMS host detection. (0 = false, 1 = true) * @hide */ + @Readable public static final String MOUNT_UMS_AUTOSTART = "mount_ums_autostart"; /** * Whether or not a notification is displayed on UMS host detection. (0 = false, 1 = true) * @hide */ + @Readable public static final String MOUNT_UMS_PROMPT = "mount_ums_prompt"; /** * Whether or not a notification is displayed while UMS is enabled. (0 = false, 1 = true) * @hide */ + @Readable public static final String MOUNT_UMS_NOTIFY_ENABLED = "mount_ums_notify_enabled"; /** @@ -7711,6 +8081,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable @SuppressLint("NoSettingsProvider") public static final String ANR_SHOW_BACKGROUND = "anr_show_background"; @@ -7720,6 +8091,7 @@ public final class Settings { * @hide */ @TestApi + @Readable @SuppressLint("NoSettingsProvider") public static final String SHOW_FIRST_CRASH_DIALOG_DEV_OPTION = "show_first_crash_dialog_dev_option"; @@ -7731,6 +8103,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String VOICE_RECOGNITION_SERVICE = "voice_recognition_service"; /** @@ -7741,6 +8114,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable @SuppressLint("NoSettingsProvider") public static final String SELECTED_SPELL_CHECKER = "selected_spell_checker"; @@ -7753,6 +8127,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable @SuppressLint("NoSettingsProvider") public static final String SELECTED_SPELL_CHECKER_SUBTYPE = "selected_spell_checker_subtype"; @@ -7762,6 +8137,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SPELL_CHECKER_ENABLED = "spell_checker_enabled"; /** @@ -7774,6 +8150,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String INCALL_POWER_BUTTON_BEHAVIOR = "incall_power_button_behavior"; /** @@ -7788,6 +8165,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MINIMAL_POST_PROCESSING_ALLOWED = "minimal_post_processing_allowed"; @@ -7832,6 +8210,7 @@ public final class Settings { * @see #MATCH_CONTENT_FRAMERATE_ALWAYS * @hide */ + @Readable public static final String MATCH_CONTENT_FRAME_RATE = "match_content_frame_rate"; @@ -7863,6 +8242,7 @@ public final class Settings { * * @hide */ + @Readable public static final String INCALL_BACK_BUTTON_BEHAVIOR = "incall_back_button_behavior"; /** @@ -7888,6 +8268,7 @@ public final class Settings { * Whether the device should wake when the wake gesture sensor detects motion. * @hide */ + @Readable public static final String WAKE_GESTURE_ENABLED = "wake_gesture_enabled"; /** @@ -7895,6 +8276,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String DOZE_ENABLED = "doze_enabled"; /** @@ -7905,36 +8287,42 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String DOZE_ALWAYS_ON = "doze_always_on"; /** * Whether the device should pulse on pick up gesture. * @hide */ + @Readable public static final String DOZE_PICK_UP_GESTURE = "doze_pulse_on_pick_up"; /** * Whether the device should pulse on long press gesture. * @hide */ + @Readable public static final String DOZE_PULSE_ON_LONG_PRESS = "doze_pulse_on_long_press"; /** * Whether the device should pulse on double tap gesture. * @hide */ + @Readable public static final String DOZE_DOUBLE_TAP_GESTURE = "doze_pulse_on_double_tap"; /** * Whether the device should respond to the SLPI tap gesture. * @hide */ + @Readable public static final String DOZE_TAP_SCREEN_GESTURE = "doze_tap_gesture"; /** * Gesture that wakes up the display, showing some version of the lock screen. * @hide */ + @Readable public static final String DOZE_WAKE_LOCK_SCREEN_GESTURE = "doze_wake_screen_gesture"; /** @@ -7942,84 +8330,98 @@ public final class Settings { * {@link Display.STATE_DOZE}. * @hide */ + @Readable public static final String DOZE_WAKE_DISPLAY_GESTURE = "doze_wake_display_gesture"; /** * Whether the device should suppress the current doze configuration and disable dozing. * @hide */ + @Readable public static final String SUPPRESS_DOZE = "suppress_doze"; /** * Gesture that skips media. * @hide */ + @Readable public static final String SKIP_GESTURE = "skip_gesture"; /** * Count of successful gestures. * @hide */ + @Readable public static final String SKIP_GESTURE_COUNT = "skip_gesture_count"; /** * Count of non-gesture interaction. * @hide */ + @Readable public static final String SKIP_TOUCH_COUNT = "skip_touch_count"; /** * Direction to advance media for skip gesture * @hide */ + @Readable public static final String SKIP_DIRECTION = "skip_gesture_direction"; /** * Gesture that silences sound (alarms, notification, calls). * @hide */ + @Readable public static final String SILENCE_GESTURE = "silence_gesture"; /** * Count of successful silence alarms gestures. * @hide */ + @Readable public static final String SILENCE_ALARMS_GESTURE_COUNT = "silence_alarms_gesture_count"; /** * Count of successful silence timer gestures. * @hide */ + @Readable public static final String SILENCE_TIMER_GESTURE_COUNT = "silence_timer_gesture_count"; /** * Count of successful silence call gestures. * @hide */ + @Readable public static final String SILENCE_CALL_GESTURE_COUNT = "silence_call_gesture_count"; /** * Count of non-gesture interaction. * @hide */ + @Readable public static final String SILENCE_ALARMS_TOUCH_COUNT = "silence_alarms_touch_count"; /** * Count of non-gesture interaction. * @hide */ + @Readable public static final String SILENCE_TIMER_TOUCH_COUNT = "silence_timer_touch_count"; /** * Count of non-gesture interaction. * @hide */ + @Readable public static final String SILENCE_CALL_TOUCH_COUNT = "silence_call_touch_count"; /** * Number of successful "Motion Sense" tap gestures to pause media. * @hide */ + @Readable public static final String AWARE_TAP_PAUSE_GESTURE_COUNT = "aware_tap_pause_gesture_count"; /** @@ -8027,12 +8429,14 @@ public final class Settings { * have been used. * @hide */ + @Readable public static final String AWARE_TAP_PAUSE_TOUCH_COUNT = "aware_tap_pause_touch_count"; /** * For user preference if swipe bottom to expand notification gesture enabled. * @hide */ + @Readable public static final String SWIPE_BOTTOM_TO_NOTIFICATION_ENABLED = "swipe_bottom_to_notification_enabled"; @@ -8040,24 +8444,28 @@ public final class Settings { * For user preference if One-Handed Mode enabled. * @hide */ + @Readable public static final String ONE_HANDED_MODE_ENABLED = "one_handed_mode_enabled"; /** * For user preference if One-Handed Mode timeout. * @hide */ + @Readable public static final String ONE_HANDED_MODE_TIMEOUT = "one_handed_mode_timeout"; /** * For user taps app to exit One-Handed Mode. * @hide */ + @Readable public static final String TAPS_APP_TO_EXIT = "taps_app_to_exit"; /** * Internal use, one handed mode tutorial showed times. * @hide */ + @Readable public static final String ONE_HANDED_TUTORIAL_SHOW_COUNT = "one_handed_tutorial_show_count"; @@ -8067,6 +8475,7 @@ public final class Settings { * UiModeManager. * @hide */ + @Readable public static final String UI_NIGHT_MODE = "ui_night_mode"; /** @@ -8075,12 +8484,14 @@ public final class Settings { * UiModeManager. * @hide */ + @Readable public static final String UI_NIGHT_MODE_OVERRIDE_ON = "ui_night_mode_override_on"; /** * The last computed night mode bool the last time the phone was on * @hide */ + @Readable public static final String UI_NIGHT_MODE_LAST_COMPUTED = "ui_night_mode_last_computed"; /** @@ -8089,12 +8500,14 @@ public final class Settings { * UiModeManager. * @hide */ + @Readable public static final String UI_NIGHT_MODE_OVERRIDE_OFF = "ui_night_mode_override_off"; /** * Whether screensavers are enabled. * @hide */ + @Readable public static final String SCREENSAVER_ENABLED = "screensaver_enabled"; /** @@ -8104,6 +8517,7 @@ public final class Settings { * battery, or upon dock insertion (if SCREENSAVER_ACTIVATE_ON_DOCK is set to 1). * @hide */ + @Readable public static final String SCREENSAVER_COMPONENTS = "screensaver_components"; /** @@ -8111,6 +8525,7 @@ public final class Settings { * when the device is inserted into a (desk) dock. * @hide */ + @Readable public static final String SCREENSAVER_ACTIVATE_ON_DOCK = "screensaver_activate_on_dock"; /** @@ -8118,12 +8533,14 @@ public final class Settings { * when the screen times out when not on battery. * @hide */ + @Readable public static final String SCREENSAVER_ACTIVATE_ON_SLEEP = "screensaver_activate_on_sleep"; /** * If screensavers are enabled, the default screensaver component. * @hide */ + @Readable public static final String SCREENSAVER_DEFAULT_COMPONENT = "screensaver_default_component"; /** @@ -8132,12 +8549,14 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable public static final String NFC_PAYMENT_DEFAULT_COMPONENT = "nfc_payment_default_component"; /** * Whether NFC payment is handled by the foreground application or a default. * @hide */ + @Readable public static final String NFC_PAYMENT_FOREGROUND = "nfc_payment_foreground"; /** @@ -8145,6 +8564,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String SMS_DEFAULT_APPLICATION = "sms_default_application"; /** @@ -8152,6 +8572,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String DIALER_DEFAULT_APPLICATION = "dialer_default_application"; /** @@ -8159,6 +8580,7 @@ public final class Settings { * application * @hide */ + @Readable public static final String CALL_SCREENING_DEFAULT_COMPONENT = "call_screening_default_component"; @@ -8169,6 +8591,7 @@ public final class Settings { * * @hide */ + @Readable public static final String EMERGENCY_ASSISTANCE_APPLICATION = "emergency_assistance_application"; /** @@ -8177,6 +8600,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_STRUCTURE_ENABLED = "assist_structure_enabled"; /** @@ -8185,6 +8609,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_SCREENSHOT_ENABLED = "assist_screenshot_enabled"; /** @@ -8196,6 +8621,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_DISCLOSURE_ENABLED = "assist_disclosure_enabled"; /** @@ -8207,7 +8633,7 @@ public final class Settings { * * @hide */ - + @Readable public static final String SHOW_ROTATION_SUGGESTIONS = "show_rotation_suggestions"; /** @@ -8234,6 +8660,7 @@ public final class Settings { * introduced to rotation suggestions. * @hide */ + @Readable public static final String NUM_ROTATION_SUGGESTIONS_ACCEPTED = "num_rotation_suggestions_accepted"; @@ -8246,6 +8673,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String ENABLED_NOTIFICATION_ASSISTANT = "enabled_notification_assistant"; @@ -8259,6 +8687,7 @@ public final class Settings { */ @Deprecated @UnsupportedAppUsage + @Readable public static final String ENABLED_NOTIFICATION_LISTENERS = "enabled_notification_listeners"; /** @@ -8270,6 +8699,7 @@ public final class Settings { */ @Deprecated @TestApi + @Readable public static final String ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES = "enabled_notification_policy_access_packages"; @@ -8283,6 +8713,7 @@ public final class Settings { * @hide */ @TestApi + @Readable @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS) public static final String SYNC_PARENT_SOUNDS = "sync_parent_sounds"; @@ -8291,6 +8722,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable public static final String IMMERSIVE_MODE_CONFIRMATIONS = "immersive_mode_confirmations"; /** @@ -8298,6 +8730,7 @@ public final class Settings { * * @hide */ + @Readable public static final String PRINT_SERVICE_SEARCH_URI = "print_service_search_uri"; /** @@ -8305,6 +8738,7 @@ public final class Settings { * * @hide */ + @Readable public static final String PAYMENT_SERVICE_SEARCH_URI = "payment_service_search_uri"; /** @@ -8312,6 +8746,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOFILL_SERVICE_SEARCH_URI = "autofill_service_search_uri"; /** @@ -8320,6 +8755,7 @@ public final class Settings { * <p> * Type : int (0 to show hints, 1 to skip showing hints) */ + @Readable public static final String SKIP_FIRST_USE_HINTS = "skip_first_use_hints"; /** @@ -8327,6 +8763,7 @@ public final class Settings { * * @hide */ + @Readable public static final String UNSAFE_VOLUME_MUSIC_ACTIVE_MS = "unsafe_volume_music_active_ms"; /** @@ -8337,6 +8774,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications"; @@ -8347,6 +8785,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOCK_SCREEN_SHOW_SILENT_NOTIFICATIONS = "lock_screen_show_silent_notifications"; @@ -8357,6 +8796,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SHOW_NOTIFICATION_SNOOZE = "show_notification_snooze"; /** @@ -8365,6 +8805,7 @@ public final class Settings { * {@link android.net.Uri#encode(String)} and separated by ':'. * @hide */ + @Readable public static final String TV_INPUT_HIDDEN_INPUTS = "tv_input_hidden_inputs"; /** @@ -8373,6 +8814,7 @@ public final class Settings { * and separated by ','. Each pair is separated by ':'. * @hide */ + @Readable public static final String TV_INPUT_CUSTOM_LABELS = "tv_input_custom_labels"; /** @@ -8390,6 +8832,7 @@ public final class Settings { * * @hide */ + @Readable public static final String TV_APP_USES_NON_SYSTEM_INPUTS = "tv_app_uses_non_system_inputs"; /** @@ -8399,6 +8842,7 @@ public final class Settings { * * @hide */ + @Readable public static final String USB_AUDIO_AUTOMATIC_ROUTING_DISABLED = "usb_audio_automatic_routing_disabled"; @@ -8414,6 +8858,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SLEEP_TIMEOUT = "sleep_timeout"; /** @@ -8428,12 +8873,14 @@ public final class Settings { * * @hide */ + @Readable public static final String ATTENTIVE_TIMEOUT = "attentive_timeout"; /** * Controls whether double tap to wake is enabled. * @hide */ + @Readable public static final String DOUBLE_TAP_TO_WAKE = "double_tap_to_wake"; /** @@ -8447,6 +8894,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String ASSISTANT = "assistant"; /** @@ -8454,6 +8902,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAMERA_GESTURE_DISABLED = "camera_gesture_disabled"; /** @@ -8461,6 +8910,7 @@ public final class Settings { * * @hide */ + @Readable public static final String EMERGENCY_GESTURE_ENABLED = "emergency_gesture_enabled"; /** @@ -8468,6 +8918,7 @@ public final class Settings { * * @hide */ + @Readable public static final String EMERGENCY_GESTURE_SOUND_ENABLED = "emergency_gesture_sound_enabled"; @@ -8477,6 +8928,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED = "camera_double_tap_power_gesture_disabled"; @@ -8486,6 +8938,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED = "camera_double_twist_to_flip_enabled"; @@ -8495,6 +8948,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAMERA_LIFT_TRIGGER_ENABLED = "camera_lift_trigger_enabled"; /** @@ -8510,6 +8964,7 @@ public final class Settings { * * @hide */ + @Readable public static final String FLASHLIGHT_AVAILABLE = "flashlight_available"; /** @@ -8517,18 +8972,21 @@ public final class Settings { * * @hide */ + @Readable public static final String FLASHLIGHT_ENABLED = "flashlight_enabled"; /** * Whether or not face unlock is allowed on Keyguard. * @hide */ + @Readable public static final String FACE_UNLOCK_KEYGUARD_ENABLED = "face_unlock_keyguard_enabled"; /** * Whether or not face unlock dismisses the keyguard. * @hide */ + @Readable public static final String FACE_UNLOCK_DISMISSES_KEYGUARD = "face_unlock_dismisses_keyguard"; @@ -8536,6 +8994,7 @@ public final class Settings { * Whether or not media is shown automatically when bypassing as a heads up. * @hide */ + @Readable public static final String SHOW_MEDIA_WHEN_BYPASSING = "show_media_when_bypassing"; @@ -8544,6 +9003,7 @@ public final class Settings { * truth is obtained through the HAL. * @hide */ + @Readable public static final String FACE_UNLOCK_ATTENTION_REQUIRED = "face_unlock_attention_required"; @@ -8552,6 +9012,7 @@ public final class Settings { * cached value, the source of truth is obtained through the HAL. * @hide */ + @Readable public static final String FACE_UNLOCK_DIVERSITY_REQUIRED = "face_unlock_diversity_required"; @@ -8560,6 +9021,7 @@ public final class Settings { * Whether or not face unlock is allowed for apps (through BiometricPrompt). * @hide */ + @Readable public static final String FACE_UNLOCK_APP_ENABLED = "face_unlock_app_enabled"; /** @@ -8569,6 +9031,7 @@ public final class Settings { * setConfirmationRequired API. * @hide */ + @Readable public static final String FACE_UNLOCK_ALWAYS_REQUIRE_CONFIRMATION = "face_unlock_always_require_confirmation"; @@ -8583,12 +9046,14 @@ public final class Settings { * * @hide */ + @Readable public static final String FACE_UNLOCK_RE_ENROLL = "face_unlock_re_enroll"; /** * Whether or not debugging is enabled. * @hide */ + @Readable public static final String BIOMETRIC_DEBUG_ENABLED = "biometric_debug_enabled"; @@ -8597,6 +9062,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_GESTURE_ENABLED = "assist_gesture_enabled"; /** @@ -8604,6 +9070,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_GESTURE_SENSITIVITY = "assist_gesture_sensitivity"; /** @@ -8611,6 +9078,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_GESTURE_SILENCE_ALERTS_ENABLED = "assist_gesture_silence_alerts_enabled"; @@ -8619,6 +9087,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_GESTURE_WAKE_ENABLED = "assist_gesture_wake_enabled"; @@ -8630,36 +9099,42 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete"; /** * Control whether Trust Agents are in active unlock or extend unlock mode. * @hide */ + @Readable public static final String TRUST_AGENTS_EXTEND_UNLOCK = "trust_agents_extend_unlock"; /** * Control whether the screen locks when trust is lost. * @hide */ + @Readable public static final String LOCK_SCREEN_WHEN_TRUST_LOST = "lock_screen_when_trust_lost"; /** * Control whether Night display is currently activated. * @hide */ + @Readable public static final String NIGHT_DISPLAY_ACTIVATED = "night_display_activated"; /** * Control whether Night display will automatically activate/deactivate. * @hide */ + @Readable public static final String NIGHT_DISPLAY_AUTO_MODE = "night_display_auto_mode"; /** * Control the color temperature of Night Display, represented in Kelvin. * @hide */ + @Readable public static final String NIGHT_DISPLAY_COLOR_TEMPERATURE = "night_display_color_temperature"; @@ -8668,6 +9143,7 @@ public final class Settings { * Represented as milliseconds from midnight (e.g. 79200000 == 10pm). * @hide */ + @Readable public static final String NIGHT_DISPLAY_CUSTOM_START_TIME = "night_display_custom_start_time"; @@ -8676,6 +9152,7 @@ public final class Settings { * Represented as milliseconds from midnight (e.g. 21600000 == 6am). * @hide */ + @Readable public static final String NIGHT_DISPLAY_CUSTOM_END_TIME = "night_display_custom_end_time"; /** @@ -8684,6 +9161,7 @@ public final class Settings { * legacy cases, this is represented by the time in milliseconds (since epoch). * @hide */ + @Readable public static final String NIGHT_DISPLAY_LAST_ACTIVATED_TIME = "night_display_last_activated_time"; @@ -8691,6 +9169,7 @@ public final class Settings { * Control whether display white balance is currently enabled. * @hide */ + @Readable public static final String DISPLAY_WHITE_BALANCE_ENABLED = "display_white_balance_enabled"; /** @@ -8701,6 +9180,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable public static final String ENABLED_VR_LISTENERS = "enabled_vr_listeners"; /** @@ -8710,6 +9190,7 @@ public final class Settings { * * @hide */ + @Readable public static final String VR_DISPLAY_MODE = "vr_display_mode"; /** @@ -8743,6 +9224,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CARRIER_APPS_HANDLED = "carrier_apps_handled"; /** @@ -8750,6 +9232,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MANAGED_PROFILE_CONTACT_REMOTE_SEARCH = "managed_profile_contact_remote_search"; @@ -8758,6 +9241,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CROSS_PROFILE_CALENDAR_ENABLED = "cross_profile_calendar_enabled"; @@ -8766,6 +9250,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOMATIC_STORAGE_MANAGER_ENABLED = "automatic_storage_manager_enabled"; @@ -8774,6 +9259,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN = "automatic_storage_manager_days_to_retain"; @@ -8789,6 +9275,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOMATIC_STORAGE_MANAGER_BYTES_CLEARED = "automatic_storage_manager_bytes_cleared"; @@ -8797,6 +9284,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOMATIC_STORAGE_MANAGER_LAST_RUN = "automatic_storage_manager_last_run"; /** @@ -8806,6 +9294,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOMATIC_STORAGE_MANAGER_TURNED_OFF_BY_POLICY = "automatic_storage_manager_turned_off_by_policy"; @@ -8813,6 +9302,7 @@ public final class Settings { * Whether SystemUI navigation keys is enabled. * @hide */ + @Readable public static final String SYSTEM_NAVIGATION_KEYS_ENABLED = "system_navigation_keys_enabled"; @@ -8821,6 +9311,7 @@ public final class Settings { * * @hide */ + @Readable public static final String QS_TILES = "sysui_qs_tiles"; /** @@ -8831,6 +9322,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CONTROLS_ENABLED = "controls_enabled"; /** @@ -8840,6 +9332,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String POWER_MENU_LOCKED_SHOW_CONTENT = "power_menu_locked_show_content"; @@ -8849,18 +9342,21 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled"; /** * Has this pairable device been paired or upgraded from a previously paired system. * @hide */ + @Readable public static final String DEVICE_PAIRED = "device_paired"; /** * Specifies additional package name for broadcasting the CMAS messages. * @hide */ + @Readable public static final String CMAS_ADDITIONAL_BROADCAST_PKG = "cmas_additional_broadcast_pkg"; /** @@ -8870,6 +9366,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable public static final String NOTIFICATION_BADGING = "notification_badging"; /** @@ -8879,6 +9376,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String NOTIFICATION_HISTORY_ENABLED = "notification_history_enabled"; /** @@ -8887,6 +9385,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String BUBBLE_IMPORTANT_CONVERSATIONS = "bubble_important_conversations"; @@ -8896,18 +9395,21 @@ public final class Settings { * * @hide */ + @Readable public static final String NOTIFICATION_DISMISS_RTL = "notification_dismiss_rtl"; /** * Comma separated list of QS tiles that have been auto-added already. * @hide */ + @Readable public static final String QS_AUTO_ADDED_TILES = "qs_auto_tiles"; /** * Whether the Lockdown button should be shown in the power menu. * @hide */ + @Readable public static final String LOCKDOWN_IN_POWER_MENU = "lockdown_in_power_menu"; /** @@ -8935,6 +9437,7 @@ public final class Settings { * Type: string * @hide */ + @Readable public static final String BACKUP_MANAGER_CONSTANTS = "backup_manager_constants"; @@ -8952,6 +9455,7 @@ public final class Settings { * Type: string * @hide */ + @Readable public static final String BACKUP_LOCAL_TRANSPORT_PARAMETERS = "backup_local_transport_parameters"; @@ -8960,6 +9464,7 @@ public final class Settings { * the user is driving. * @hide */ + @Readable public static final String BLUETOOTH_ON_WHILE_DRIVING = "bluetooth_on_while_driving"; /** @@ -8969,6 +9474,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture"; /** @hide */ @@ -8985,6 +9491,7 @@ public final class Settings { * The number of times (integer) the user has manually enabled battery saver. * @hide */ + @Readable public static final String LOW_POWER_MANUAL_ACTIVATION_COUNT = "low_power_manual_activation_count"; @@ -8994,6 +9501,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOW_POWER_WARNING_ACKNOWLEDGED = "low_power_warning_acknowledged"; @@ -9002,6 +9510,7 @@ public final class Settings { * suppressed. * @hide */ + @Readable public static final String SUPPRESS_AUTO_BATTERY_SAVER_SUGGESTION = "suppress_auto_battery_saver_suggestion"; @@ -9010,6 +9519,7 @@ public final class Settings { * Type: string * @hide */ + @Readable public static final String PACKAGES_TO_CLEAR_DATA_BEFORE_FULL_RESTORE = "packages_to_clear_data_before_full_restore"; @@ -9018,6 +9528,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis"; @@ -9026,6 +9537,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis"; @@ -9035,6 +9547,7 @@ public final class Settings { */ @SystemApi @Deprecated + @Readable public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode"; @@ -9043,6 +9556,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled"; /** @@ -9053,6 +9567,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages"; @@ -9063,6 +9578,7 @@ public final class Settings { * 2 = fully gestural * @hide */ + @Readable public static final String NAVIGATION_MODE = "navigation_mode"; @@ -9070,6 +9586,7 @@ public final class Settings { * Scale factor for the back gesture inset size on the left side of the screen. * @hide */ + @Readable public static final String BACK_GESTURE_INSET_SCALE_LEFT = "back_gesture_inset_scale_left"; @@ -9077,6 +9594,7 @@ public final class Settings { * Scale factor for the back gesture inset size on the right side of the screen. * @hide */ + @Readable public static final String BACK_GESTURE_INSET_SCALE_RIGHT = "back_gesture_inset_scale_right"; @@ -9086,30 +9604,35 @@ public final class Settings { * No VALIDATOR as this setting will not be backed up. * @hide */ + @Readable public static final String NEARBY_SHARING_COMPONENT = "nearby_sharing_component"; /** * Controls whether aware is enabled. * @hide */ + @Readable public static final String AWARE_ENABLED = "aware_enabled"; /** * Controls whether aware_lock is enabled. * @hide */ + @Readable public static final String AWARE_LOCK_ENABLED = "aware_lock_enabled"; /** * Controls whether tap gesture is enabled. * @hide */ + @Readable public static final String TAP_GESTURE = "tap_gesture"; /** * Controls whether the people strip is enabled. * @hide */ + @Readable public static final String PEOPLE_STRIP = "people_strip"; /** @@ -9119,6 +9642,7 @@ public final class Settings { * @see Settings.Global#SHOW_MEDIA_ON_QUICK_SETTINGS * @hide */ + @Readable public static final String MEDIA_CONTROLS_RESUME = "qs_media_resumption"; /** @@ -9127,6 +9651,7 @@ public final class Settings { * @see Settings.Secure#MEDIA_CONTROLS_RESUME * @hide */ + @Readable public static final String MEDIA_CONTROLS_RESUME_BLOCKED = "qs_media_resumption_blocked"; /** @@ -9138,6 +9663,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String ACCESSIBILITY_MAGNIFICATION_MODE = "accessibility_magnification_mode"; @@ -9173,6 +9699,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String ACCESSIBILITY_MAGNIFICATION_CAPABILITY = "accessibility_magnification_capability"; @@ -9182,6 +9709,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_SHOW_WINDOW_MAGNIFICATION_PROMPT = "accessibility_show_window_magnification_prompt"; @@ -9198,6 +9726,7 @@ public final class Settings { * @see #ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU * @hide */ + @Readable public static final String ACCESSIBILITY_BUTTON_MODE = "accessibility_button_mode"; @@ -9226,6 +9755,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_FLOATING_MENU_SIZE = "accessibility_floating_menu_size"; @@ -9238,6 +9768,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_FLOATING_MENU_ICON_TYPE = "accessibility_floating_menu_icon_type"; @@ -9246,6 +9777,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED = "accessibility_floating_menu_fade_enabled"; @@ -9255,6 +9787,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ACCESSIBILITY_FLOATING_MENU_OPACITY = "accessibility_floating_menu_opacity"; @@ -9263,6 +9796,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ADAPTIVE_CONNECTIVITY_ENABLED = "adaptive_connectivity_enabled"; /** @@ -9274,6 +9808,7 @@ public final class Settings { * * @hide */ + @Readable public static final String[] LEGACY_RESTORE_SETTINGS = { ENABLED_NOTIFICATION_LISTENERS, ENABLED_NOTIFICATION_ASSISTANT, @@ -9285,6 +9820,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_HANDLES_LEARNING_TIME_ELAPSED_MILLIS = "reminder_exp_learning_time_elapsed"; @@ -9293,6 +9829,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ASSIST_HANDLES_LEARNING_EVENT_COUNT = "reminder_exp_learning_event_count"; @@ -9406,6 +9943,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String NOTIFICATION_BUBBLES = "notification_bubbles"; /** @@ -9414,6 +9952,7 @@ public final class Settings { * Type: int * @hide */ + @Readable public static final String ADD_USERS_WHEN_LOCKED = "add_users_when_locked"; /** @@ -9421,6 +9960,7 @@ public final class Settings { * <p>1 = apply ramping ringer * <p>0 = do not apply ramping ringer */ + @Readable public static final String APPLY_RAMPING_RINGER = "apply_ramping_ringer"; /** @@ -9432,12 +9972,14 @@ public final class Settings { * No longer used. Should be removed once all dependencies have been updated. */ @UnsupportedAppUsage + @Readable public static final String ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED = "enable_accessibility_global_gesture_enabled"; /** * Whether Airplane Mode is on. */ + @Readable public static final String AIRPLANE_MODE_ON = "airplane_mode_on"; /** @@ -9445,30 +9987,36 @@ public final class Settings { * {@hide} */ @SystemApi + @Readable public static final String THEATER_MODE_ON = "theater_mode_on"; /** * Constant for use in AIRPLANE_MODE_RADIOS to specify Bluetooth radio. */ + @Readable public static final String RADIO_BLUETOOTH = "bluetooth"; /** * Constant for use in AIRPLANE_MODE_RADIOS to specify Wi-Fi radio. */ + @Readable public static final String RADIO_WIFI = "wifi"; /** * {@hide} */ + @Readable public static final String RADIO_WIMAX = "wimax"; /** * Constant for use in AIRPLANE_MODE_RADIOS to specify Cellular radio. */ + @Readable public static final String RADIO_CELL = "cell"; /** * Constant for use in AIRPLANE_MODE_RADIOS to specify NFC radio. */ + @Readable public static final String RADIO_NFC = "nfc"; /** @@ -9476,6 +10024,7 @@ public final class Settings { * is on. This overrides WIFI_ON and BLUETOOTH_ON, if Wi-Fi and bluetooth are * included in the comma separated list. */ + @Readable public static final String AIRPLANE_MODE_RADIOS = "airplane_mode_radios"; /** @@ -9487,6 +10036,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios"; /** @@ -9494,6 +10044,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BLUETOOTH_CLASS_OF_DEVICE = "bluetooth_class_of_device"; /** @@ -9501,6 +10052,7 @@ public final class Settings { * See {@link android.bluetooth.BluetoothProfile}. * {@hide} */ + @Readable public static final String BLUETOOTH_DISABLED_PROFILES = "bluetooth_disabled_profiles"; /** @@ -9513,6 +10065,7 @@ public final class Settings { * "00:11:22,0;01:02:03:04,2" * @hide */ + @Readable public static final String BLUETOOTH_INTEROPERABILITY_LIST = "bluetooth_interoperability_list"; /** @@ -9525,6 +10078,7 @@ public final class Settings { * @deprecated This is no longer used or set by the platform. */ @Deprecated + @Readable public static final String WIFI_SLEEP_POLICY = "wifi_sleep_policy"; /** @@ -9556,60 +10110,70 @@ public final class Settings { * Value to specify if the user prefers the date, time and time zone * to be automatically fetched from the network (NITZ). 1=yes, 0=no */ + @Readable public static final String AUTO_TIME = "auto_time"; /** * Value to specify if the user prefers the time zone * to be automatically fetched from the network (NITZ). 1=yes, 0=no */ + @Readable public static final String AUTO_TIME_ZONE = "auto_time_zone"; /** * URI for the car dock "in" event sound. * @hide */ + @Readable public static final String CAR_DOCK_SOUND = "car_dock_sound"; /** * URI for the car dock "out" event sound. * @hide */ + @Readable public static final String CAR_UNDOCK_SOUND = "car_undock_sound"; /** * URI for the desk dock "in" event sound. * @hide */ + @Readable public static final String DESK_DOCK_SOUND = "desk_dock_sound"; /** * URI for the desk dock "out" event sound. * @hide */ + @Readable public static final String DESK_UNDOCK_SOUND = "desk_undock_sound"; /** * Whether to play a sound for dock events. * @hide */ + @Readable public static final String DOCK_SOUNDS_ENABLED = "dock_sounds_enabled"; /** * Whether to play a sound for dock events, only when an accessibility service is on. * @hide */ + @Readable public static final String DOCK_SOUNDS_ENABLED_WHEN_ACCESSIBILITY = "dock_sounds_enabled_when_accessbility"; /** * URI for the "device locked" (keyguard shown) sound. * @hide */ + @Readable public static final String LOCK_SOUND = "lock_sound"; /** * URI for the "device unlocked" sound. * @hide */ + @Readable public static final String UNLOCK_SOUND = "unlock_sound"; /** @@ -9617,24 +10181,28 @@ public final class Settings { * state without unlocking. * @hide */ + @Readable public static final String TRUSTED_SOUND = "trusted_sound"; /** * URI for the low battery sound file. * @hide */ + @Readable public static final String LOW_BATTERY_SOUND = "low_battery_sound"; /** * Whether to play a sound for low-battery alerts. * @hide */ + @Readable public static final String POWER_SOUNDS_ENABLED = "power_sounds_enabled"; /** * URI for the "wireless charging started" sound. * @hide */ + @Readable public static final String WIRELESS_CHARGING_STARTED_SOUND = "wireless_charging_started_sound"; @@ -9642,6 +10210,7 @@ public final class Settings { * URI for "wired charging started" sound. * @hide */ + @Readable public static final String CHARGING_STARTED_SOUND = "charging_started_sound"; /** @@ -9671,6 +10240,7 @@ public final class Settings { * </ul> * These values can be OR-ed together. */ + @Readable public static final String STAY_ON_WHILE_PLUGGED_IN = "stay_on_while_plugged_in"; /** @@ -9678,6 +10248,7 @@ public final class Settings { * in the power menu. * @hide */ + @Readable public static final String BUGREPORT_IN_POWER_MENU = "bugreport_in_power_menu"; /** @@ -9686,6 +10257,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CUSTOM_BUGREPORT_HANDLER_APP = "custom_bugreport_handler_app"; /** @@ -9694,29 +10266,34 @@ public final class Settings { * * @hide */ + @Readable public static final String CUSTOM_BUGREPORT_HANDLER_USER = "custom_bugreport_handler_user"; /** * Whether ADB over USB is enabled. */ + @Readable public static final String ADB_ENABLED = "adb_enabled"; /** * Whether ADB over Wifi is enabled. * @hide */ + @Readable public static final String ADB_WIFI_ENABLED = "adb_wifi_enabled"; /** * Whether Views are allowed to save their attribute data. * @hide */ + @Readable public static final String DEBUG_VIEW_ATTRIBUTES = "debug_view_attributes"; /** * Which application package is allowed to save View attribute data. * @hide */ + @Readable public static final String DEBUG_VIEW_ATTRIBUTES_APPLICATION_PACKAGE = "debug_view_attributes_application_package"; @@ -9724,12 +10301,14 @@ public final class Settings { * Whether assisted GPS should be enabled or not. * @hide */ + @Readable public static final String ASSISTED_GPS_ENABLED = "assisted_gps_enabled"; /** * Whether bluetooth is enabled/disabled * 0=disabled. 1=enabled. */ + @Readable public static final String BLUETOOTH_ON = "bluetooth_on"; /** @@ -9738,6 +10317,7 @@ public final class Settings { * 1 = CDMA Cell Broadcast SMS enabled * @hide */ + @Readable public static final String CDMA_CELL_BROADCAST_SMS = "cdma_cell_broadcast_sms"; @@ -9747,6 +10327,7 @@ public final class Settings { * 2 = Roaming on any networks * @hide */ + @Readable public static final String CDMA_ROAMING_MODE = "roaming_settings"; /** @@ -9754,6 +10335,7 @@ public final class Settings { * 1 = NV * @hide */ + @Readable public static final String CDMA_SUBSCRIPTION_MODE = "subscription_mode"; /** @@ -9763,44 +10345,49 @@ public final class Settings { * * @hide */ + @Readable public static final String DEFAULT_RESTRICT_BACKGROUND_DATA = "default_restrict_background_data"; /** Inactivity timeout to track mobile data activity. - * - * If set to a positive integer, it indicates the inactivity timeout value in seconds to - * infer the data activity of mobile network. After a period of no activity on mobile - * networks with length specified by the timeout, an {@code ACTION_DATA_ACTIVITY_CHANGE} - * intent is fired to indicate a transition of network status from "active" to "idle". Any - * subsequent activity on mobile networks triggers the firing of {@code - * ACTION_DATA_ACTIVITY_CHANGE} intent indicating transition from "idle" to "active". - * - * Network activity refers to transmitting or receiving data on the network interfaces. - * - * Tracking is disabled if set to zero or negative value. - * - * @hide - */ - public static final String DATA_ACTIVITY_TIMEOUT_MOBILE = "data_activity_timeout_mobile"; + * + * If set to a positive integer, it indicates the inactivity timeout value in seconds to + * infer the data activity of mobile network. After a period of no activity on mobile + * networks with length specified by the timeout, an {@code ACTION_DATA_ACTIVITY_CHANGE} + * intent is fired to indicate a transition of network status from "active" to "idle". Any + * subsequent activity on mobile networks triggers the firing of {@code + * ACTION_DATA_ACTIVITY_CHANGE} intent indicating transition from "idle" to "active". + * + * Network activity refers to transmitting or receiving data on the network interfaces. + * + * Tracking is disabled if set to zero or negative value. + * + * @hide + */ + @Readable + public static final String DATA_ACTIVITY_TIMEOUT_MOBILE = "data_activity_timeout_mobile"; - /** Timeout to tracking Wifi data activity. Same as {@code DATA_ACTIVITY_TIMEOUT_MOBILE} - * but for Wifi network. - * @hide - */ - public static final String DATA_ACTIVITY_TIMEOUT_WIFI = "data_activity_timeout_wifi"; + /** Timeout to tracking Wifi data activity. Same as {@code DATA_ACTIVITY_TIMEOUT_MOBILE} + * but for Wifi network. + * @hide + */ + @Readable + public static final String DATA_ACTIVITY_TIMEOUT_WIFI = "data_activity_timeout_wifi"; - /** - * Whether or not data roaming is enabled. (0 = false, 1 = true) - */ - public static final String DATA_ROAMING = "data_roaming"; + /** + * Whether or not data roaming is enabled. (0 = false, 1 = true) + */ + @Readable + public static final String DATA_ROAMING = "data_roaming"; - /** - * The value passed to a Mobile DataConnection via bringUp which defines the - * number of retries to preform when setting up the initial connection. The default - * value defined in DataConnectionTrackerBase#DEFAULT_MDC_INITIAL_RETRY is currently 1. - * @hide - */ - public static final String MDC_INITIAL_MAX_RETRY = "mdc_initial_max_retry"; + /** + * The value passed to a Mobile DataConnection via bringUp which defines the + * number of retries to perform when setting up the initial connection. The default + * value defined in DataConnectionTrackerBase#DEFAULT_MDC_INITIAL_RETRY is currently 1. + * @hide + */ + @Readable + public static final String MDC_INITIAL_MAX_RETRY = "mdc_initial_max_retry"; /** * Whether any package can be on external storage. When this is true, any @@ -9808,6 +10395,7 @@ public final class Settings { * or moving onto external storage. (0 = false, 1 = true) * @hide */ + @Readable public static final String FORCE_ALLOW_ON_EXTERNAL = "force_allow_on_external"; /** @@ -9822,6 +10410,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus"; /** @@ -9833,6 +10422,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String EUICC_PROVISIONED = "euicc_provisioned"; /** @@ -9848,6 +10438,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries"; /** @@ -9863,6 +10454,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries"; /** @@ -9871,6 +10463,7 @@ public final class Settings { * (0 = false, 1 = true) * @hide */ + @Readable public static final String DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES = "force_resizable_activities"; @@ -9878,6 +10471,7 @@ public final class Settings { * Whether to enable experimental freeform support for windows. * @hide */ + @Readable public static final String DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT = "enable_freeform_support"; @@ -9885,6 +10479,7 @@ public final class Settings { * Whether to enable experimental desktop mode on secondary displays. * @hide */ + @Readable public static final String DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS = "force_desktop_mode_on_external_displays"; @@ -9896,6 +10491,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String DEVELOPMENT_ENABLE_SIZECOMPAT_FREEFORM = "enable_sizecompat_freeform"; @@ -9906,6 +10502,7 @@ public final class Settings { * @hide */ @TestApi + @Readable @SuppressLint("NoSettingsProvider") public static final String DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW = "enable_non_resizable_multi_window"; @@ -9917,6 +10514,7 @@ public final class Settings { * (0 = false, 1 = true) * @hide */ + @Readable public static final String DEVELOPMENT_RENDER_SHADOWS_IN_COMPOSITOR = "render_shadows_in_compositor"; @@ -9925,6 +10523,7 @@ public final class Settings { * (0 = false, 1 = true) * @hide */ + @Readable public static final String DEVELOPMENT_USE_BLAST_ADAPTER_VR = "use_blast_adapter_vr"; @@ -9933,6 +10532,7 @@ public final class Settings { * (0 = false, 1 = true) * @hide */ + @Readable public static final String DEVELOPMENT_USE_BLAST_ADAPTER_SV = "use_blast_adapter_sv"; @@ -9942,21 +10542,24 @@ public final class Settings { * * @hide */ + @Readable public static final String DEVELOPMENT_WM_DISPLAY_SETTINGS_PATH = "wm_display_settings_path"; - /** + /** * Whether user has enabled development settings. */ - public static final String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled"; + @Readable + public static final String DEVELOPMENT_SETTINGS_ENABLED = "development_settings_enabled"; - /** + /** * Whether the device has been provisioned (0 = false, 1 = true). * <p>On a multiuser device with a separate system user, the screen may be locked * as soon as this is set to true and further activities cannot be launched on the * system user unless they are marked to show over keyguard. */ - public static final String DEVICE_PROVISIONED = "device_provisioned"; + @Readable + public static final String DEVICE_PROVISIONED = "device_provisioned"; /** * Indicates whether mobile data should be allowed while the device is being provisioned. @@ -9969,52 +10572,58 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data"; - /** + /** * The saved value for WindowManagerService.setForcedDisplaySize(). * Two integers separated by a comma. If unset, then use the real display size. * @hide */ - public static final String DISPLAY_SIZE_FORCED = "display_size_forced"; + @Readable + public static final String DISPLAY_SIZE_FORCED = "display_size_forced"; - /** + /** * The saved value for WindowManagerService.setForcedDisplayScalingMode(). * 0 or unset if scaling is automatic, 1 if scaling is disabled. * @hide */ - public static final String DISPLAY_SCALING_FORCE = "display_scaling_force"; + @Readable + public static final String DISPLAY_SCALING_FORCE = "display_scaling_force"; - /** + /** * The maximum size, in bytes, of a download that the download manager will transfer over * a non-wifi connection. * @hide */ - public static final String DOWNLOAD_MAX_BYTES_OVER_MOBILE = + @Readable + public static final String DOWNLOAD_MAX_BYTES_OVER_MOBILE = "download_manager_max_bytes_over_mobile"; - /** + /** * The recommended maximum size, in bytes, of a download that the download manager should * transfer over a non-wifi connection. Over this size, the use will be warned, but will * have the option to start the download over the mobile connection anyway. * @hide */ - public static final String DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE = + @Readable + public static final String DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE = "download_manager_recommended_max_bytes_over_mobile"; - /** + /** * @deprecated Use {@link android.provider.Settings.Secure#INSTALL_NON_MARKET_APPS} instead */ - @Deprecated - public static final String INSTALL_NON_MARKET_APPS = Secure.INSTALL_NON_MARKET_APPS; + @Deprecated + public static final String INSTALL_NON_MARKET_APPS = Secure.INSTALL_NON_MARKET_APPS; - /** + /** * Whether HDMI control shall be enabled. If disabled, no CEC/MHL command will be * sent or processed. (0 = false, 1 = true) * @hide */ - public static final String HDMI_CONTROL_ENABLED = "hdmi_control_enabled"; + @Readable + public static final String HDMI_CONTROL_ENABLED = "hdmi_control_enabled"; /** * Controls whether volume control commands via HDMI CEC are enabled. (0 = false, 1 = @@ -10050,16 +10659,18 @@ public final class Settings { * @hide * @see android.hardware.hdmi.HdmiControlManager#setHdmiCecVolumeControlEnabled(boolean) */ + @Readable public static final String HDMI_CONTROL_VOLUME_CONTROL_ENABLED = "hdmi_control_volume_control_enabled"; - /** + /** * Whether HDMI System Audio Control feature is enabled. If enabled, TV will try to turn on * system audio mode if there's a connected CEC-enabled AV Receiver. Then audio stream will * be played on AVR instead of TV spaeker. If disabled, the system audio mode will never be * activated. * @hide */ + @Readable public static final String HDMI_SYSTEM_AUDIO_CONTROL_ENABLED = "hdmi_system_audio_control_enabled"; @@ -10069,6 +10680,7 @@ public final class Settings { * disabled, you can only switch the input via controls on this device. * @hide */ + @Readable public static final String HDMI_CEC_SWITCH_ENABLED = "hdmi_cec_switch_enabled"; @@ -10076,6 +10688,7 @@ public final class Settings { * HDMI CEC version to use. Defaults to v1.4b. * @hide */ + @Readable public static final String HDMI_CEC_VERSION = "hdmi_cec_version"; @@ -10085,6 +10698,7 @@ public final class Settings { * * @hide */ + @Readable public static final String HDMI_CONTROL_AUTO_WAKEUP_ENABLED = "hdmi_control_auto_wakeup_enabled"; @@ -10094,6 +10708,7 @@ public final class Settings { * * @hide */ + @Readable public static final String HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED = "hdmi_control_auto_device_off_enabled"; @@ -10115,6 +10730,7 @@ public final class Settings { * * @hide */ + @Readable public static final String HDMI_CONTROL_SEND_STANDBY_ON_SLEEP = "hdmi_control_send_standby_on_sleep"; @@ -10122,6 +10738,7 @@ public final class Settings { * Whether or not media is shown automatically when bypassing as a heads up. * @hide */ + @Readable public static final String SHOW_MEDIA_ON_QUICK_SETTINGS = "qs_media_player"; @@ -10131,6 +10748,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOCATION_BACKGROUND_THROTTLE_INTERVAL_MS = "location_background_throttle_interval_ms"; @@ -10139,6 +10757,7 @@ public final class Settings { * to request. * @hide */ + @Readable public static final String LOCATION_BACKGROUND_THROTTLE_PROXIMITY_ALERT_INTERVAL_MS = "location_background_throttle_proximity_alert_interval_ms"; @@ -10146,6 +10765,7 @@ public final class Settings { * Packages that are whitelisted for background throttling (throttling will not be applied). * @hide */ + @Readable public static final String LOCATION_BACKGROUND_THROTTLE_PACKAGE_WHITELIST = "location_background_throttle_package_whitelist"; @@ -10155,6 +10775,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String LOCATION_IGNORE_SETTINGS_PACKAGE_WHITELIST = "location_ignore_settings_package_whitelist"; @@ -10163,23 +10784,26 @@ public final class Settings { * (0 = false, 1 = true) * @hide */ - public static final String MHL_INPUT_SWITCHING_ENABLED = "mhl_input_switching_enabled"; + @Readable + public static final String MHL_INPUT_SWITCHING_ENABLED = "mhl_input_switching_enabled"; - /** + /** * Whether TV will charge the mobile device connected at MHL port. (0 = false, 1 = true) * @hide */ - public static final String MHL_POWER_CHARGE_ENABLED = "mhl_power_charge_enabled"; + @Readable + public static final String MHL_POWER_CHARGE_ENABLED = "mhl_power_charge_enabled"; - /** + /** * Whether mobile data connections are allowed by the user. See * ConnectivityManager for more info. * @hide */ - @UnsupportedAppUsage - public static final String MOBILE_DATA = "mobile_data"; + @UnsupportedAppUsage + @Readable + public static final String MOBILE_DATA = "mobile_data"; - /** + /** * Whether the mobile data connection should remain active even when higher * priority networks like WiFi are active, to help make network switching faster. * @@ -10188,7 +10812,8 @@ public final class Settings { * (0 = disabled, 1 = enabled) * @hide */ - public static final String MOBILE_DATA_ALWAYS_ON = "mobile_data_always_on"; + @Readable + public static final String MOBILE_DATA_ALWAYS_ON = "mobile_data_always_on"; /** * Whether the wifi data connection should remain active even when higher @@ -10201,195 +10826,249 @@ public final class Settings { * (0 = disabled, 1 = enabled) * @hide */ + @Readable public static final String WIFI_ALWAYS_REQUESTED = "wifi_always_requested"; /** * Size of the event buffer for IP connectivity metrics. * @hide */ + @Readable public static final String CONNECTIVITY_METRICS_BUFFER_SIZE = "connectivity_metrics_buffer_size"; - /** {@hide} */ - public static final String NETSTATS_ENABLED = "netstats_enabled"; - /** {@hide} */ - public static final String NETSTATS_POLL_INTERVAL = "netstats_poll_interval"; - /** {@hide} */ - @Deprecated - public static final String NETSTATS_TIME_CACHE_MAX_AGE = "netstats_time_cache_max_age"; - /** {@hide} */ - public static final String NETSTATS_GLOBAL_ALERT_BYTES = "netstats_global_alert_bytes"; - /** {@hide} */ - public static final String NETSTATS_SAMPLE_ENABLED = "netstats_sample_enabled"; - /** {@hide} */ - public static final String NETSTATS_AUGMENT_ENABLED = "netstats_augment_enabled"; - /** {@hide} */ - public static final String NETSTATS_COMBINE_SUBTYPE_ENABLED = "netstats_combine_subtype_enabled"; - - /** {@hide} */ - public static final String NETSTATS_DEV_BUCKET_DURATION = "netstats_dev_bucket_duration"; - /** {@hide} */ - public static final String NETSTATS_DEV_PERSIST_BYTES = "netstats_dev_persist_bytes"; - /** {@hide} */ - public static final String NETSTATS_DEV_ROTATE_AGE = "netstats_dev_rotate_age"; - /** {@hide} */ - public static final String NETSTATS_DEV_DELETE_AGE = "netstats_dev_delete_age"; - - /** {@hide} */ - public static final String NETSTATS_UID_BUCKET_DURATION = "netstats_uid_bucket_duration"; - /** {@hide} */ - public static final String NETSTATS_UID_PERSIST_BYTES = "netstats_uid_persist_bytes"; - /** {@hide} */ - public static final String NETSTATS_UID_ROTATE_AGE = "netstats_uid_rotate_age"; - /** {@hide} */ - public static final String NETSTATS_UID_DELETE_AGE = "netstats_uid_delete_age"; - - /** {@hide} */ - public static final String NETSTATS_UID_TAG_BUCKET_DURATION = "netstats_uid_tag_bucket_duration"; - /** {@hide} */ - public static final String NETSTATS_UID_TAG_PERSIST_BYTES = "netstats_uid_tag_persist_bytes"; - /** {@hide} */ - public static final String NETSTATS_UID_TAG_ROTATE_AGE = "netstats_uid_tag_rotate_age"; - /** {@hide} */ - public static final String NETSTATS_UID_TAG_DELETE_AGE = "netstats_uid_tag_delete_age"; - - /** {@hide} */ - public static final String NETPOLICY_QUOTA_ENABLED = "netpolicy_quota_enabled"; - /** {@hide} */ - public static final String NETPOLICY_QUOTA_UNLIMITED = "netpolicy_quota_unlimited"; - /** {@hide} */ - public static final String NETPOLICY_QUOTA_LIMITED = "netpolicy_quota_limited"; - /** {@hide} */ - public static final String NETPOLICY_QUOTA_FRAC_JOBS = "netpolicy_quota_frac_jobs"; - /** {@hide} */ - public static final String NETPOLICY_QUOTA_FRAC_MULTIPATH = "netpolicy_quota_frac_multipath"; - - /** {@hide} */ - public static final String NETPOLICY_OVERRIDE_ENABLED = "netpolicy_override_enabled"; + /** {@hide} */ + @Readable + public static final String NETSTATS_ENABLED = "netstats_enabled"; + /** {@hide} */ + @Readable + public static final String NETSTATS_POLL_INTERVAL = "netstats_poll_interval"; + /** + * @deprecated + * {@hide} + */ + @Deprecated + @Readable + public static final String NETSTATS_TIME_CACHE_MAX_AGE = "netstats_time_cache_max_age"; + /** {@hide} */ + @Readable + public static final String NETSTATS_GLOBAL_ALERT_BYTES = "netstats_global_alert_bytes"; + /** {@hide} */ + @Readable + public static final String NETSTATS_SAMPLE_ENABLED = "netstats_sample_enabled"; + /** {@hide} */ + @Readable + public static final String NETSTATS_AUGMENT_ENABLED = "netstats_augment_enabled"; + /** {@hide} */ + @Readable + public static final String NETSTATS_COMBINE_SUBTYPE_ENABLED = + "netstats_combine_subtype_enabled"; - /** + /** {@hide} */ + @Readable + public static final String NETSTATS_DEV_BUCKET_DURATION = "netstats_dev_bucket_duration"; + /** {@hide} */ + @Readable + public static final String NETSTATS_DEV_PERSIST_BYTES = "netstats_dev_persist_bytes"; + /** {@hide} */ + @Readable + public static final String NETSTATS_DEV_ROTATE_AGE = "netstats_dev_rotate_age"; + /** {@hide} */ + @Readable + public static final String NETSTATS_DEV_DELETE_AGE = "netstats_dev_delete_age"; + + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_BUCKET_DURATION = "netstats_uid_bucket_duration"; + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_PERSIST_BYTES = "netstats_uid_persist_bytes"; + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_ROTATE_AGE = "netstats_uid_rotate_age"; + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_DELETE_AGE = "netstats_uid_delete_age"; + + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_TAG_BUCKET_DURATION = + "netstats_uid_tag_bucket_duration"; + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_TAG_PERSIST_BYTES = + "netstats_uid_tag_persist_bytes"; + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_TAG_ROTATE_AGE = "netstats_uid_tag_rotate_age"; + /** {@hide} */ + @Readable + public static final String NETSTATS_UID_TAG_DELETE_AGE = "netstats_uid_tag_delete_age"; + + /** {@hide} */ + @Readable + public static final String NETPOLICY_QUOTA_ENABLED = "netpolicy_quota_enabled"; + /** {@hide} */ + @Readable + public static final String NETPOLICY_QUOTA_UNLIMITED = "netpolicy_quota_unlimited"; + /** {@hide} */ + @Readable + public static final String NETPOLICY_QUOTA_LIMITED = "netpolicy_quota_limited"; + /** {@hide} */ + @Readable + public static final String NETPOLICY_QUOTA_FRAC_JOBS = "netpolicy_quota_frac_jobs"; + /** {@hide} */ + @Readable + public static final String NETPOLICY_QUOTA_FRAC_MULTIPATH = + "netpolicy_quota_frac_multipath"; + + /** {@hide} */ + @Readable + public static final String NETPOLICY_OVERRIDE_ENABLED = "netpolicy_override_enabled"; + + /** * User preference for which network(s) should be used. Only the * connectivity service should touch this. */ - public static final String NETWORK_PREFERENCE = "network_preference"; + @Readable + public static final String NETWORK_PREFERENCE = "network_preference"; - /** + /** * Which package name to use for network scoring. If null, or if the package is not a valid * scorer app, external network scores will neither be requested nor accepted. * @hide */ - @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) - public static final String NETWORK_SCORER_APP = "network_scorer_app"; + @Readable + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + public static final String NETWORK_SCORER_APP = "network_scorer_app"; /** * Whether night display forced auto mode is available. * 0 = unavailable, 1 = available. * @hide */ + @Readable public static final String NIGHT_DISPLAY_FORCED_AUTO_MODE_AVAILABLE = "night_display_forced_auto_mode_available"; - /** + /** * If the NITZ_UPDATE_DIFF time is exceeded then an automatic adjustment * to SystemClock will be allowed even if NITZ_UPDATE_SPACING has not been * exceeded. * @hide */ - public static final String NITZ_UPDATE_DIFF = "nitz_update_diff"; + @Readable + public static final String NITZ_UPDATE_DIFF = "nitz_update_diff"; - /** + /** * The length of time in milli-seconds that automatic small adjustments to * SystemClock are ignored if NITZ_UPDATE_DIFF is not exceeded. * @hide */ - public static final String NITZ_UPDATE_SPACING = "nitz_update_spacing"; + @Readable + public static final String NITZ_UPDATE_SPACING = "nitz_update_spacing"; - /** Preferred NTP server. {@hide} */ - public static final String NTP_SERVER = "ntp_server"; - /** Timeout in milliseconds to wait for NTP server. {@hide} */ - public static final String NTP_TIMEOUT = "ntp_timeout"; + /** Preferred NTP server. {@hide} */ + @Readable + public static final String NTP_SERVER = "ntp_server"; + /** Timeout in milliseconds to wait for NTP server. {@hide} */ + @Readable + public static final String NTP_TIMEOUT = "ntp_timeout"; - /** {@hide} */ - public static final String STORAGE_BENCHMARK_INTERVAL = "storage_benchmark_interval"; + /** {@hide} */ + @Readable + public static final String STORAGE_BENCHMARK_INTERVAL = "storage_benchmark_interval"; /** * Whether or not Settings should enable psd API. * {@hide} */ + @Readable public static final String SETTINGS_USE_PSD_API = "settings_use_psd_api"; /** * Whether or not Settings should enable external provider API. * {@hide} */ + @Readable public static final String SETTINGS_USE_EXTERNAL_PROVIDER_API = "settings_use_external_provider_api"; - /** + /** * Sample validity in seconds to configure for the system DNS resolver. * {@hide} */ - public static final String DNS_RESOLVER_SAMPLE_VALIDITY_SECONDS = + @Readable + public static final String DNS_RESOLVER_SAMPLE_VALIDITY_SECONDS = "dns_resolver_sample_validity_seconds"; - /** + /** * Success threshold in percent for use with the system DNS resolver. * {@hide} */ - public static final String DNS_RESOLVER_SUCCESS_THRESHOLD_PERCENT = + @Readable + public static final String DNS_RESOLVER_SUCCESS_THRESHOLD_PERCENT = "dns_resolver_success_threshold_percent"; - /** + /** * Minimum number of samples needed for statistics to be considered meaningful in the * system DNS resolver. * {@hide} */ - public static final String DNS_RESOLVER_MIN_SAMPLES = "dns_resolver_min_samples"; + @Readable + public static final String DNS_RESOLVER_MIN_SAMPLES = "dns_resolver_min_samples"; - /** + /** * Maximum number taken into account for statistics purposes in the system DNS resolver. * {@hide} */ - public static final String DNS_RESOLVER_MAX_SAMPLES = "dns_resolver_max_samples"; + @Readable + public static final String DNS_RESOLVER_MAX_SAMPLES = "dns_resolver_max_samples"; - /** + /** * Whether to disable the automatic scheduling of system updates. * 1 = system updates won't be automatically scheduled (will always * present notification instead). * 0 = system updates will be automatically scheduled. (default) * @hide */ - @SystemApi - public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update"; + @SystemApi + @Readable + public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update"; - /** Timeout for package verification. + /** Timeout for package verification. * @hide */ - public static final String PACKAGE_VERIFIER_TIMEOUT = "verifier_timeout"; + @Readable + public static final String PACKAGE_VERIFIER_TIMEOUT = "verifier_timeout"; /** Timeout for app integrity verification. * @hide */ + @Readable public static final String APP_INTEGRITY_VERIFICATION_TIMEOUT = "app_integrity_verification_timeout"; - /** Default response code for package verification. + /** Default response code for package verification. * @hide */ - public static final String PACKAGE_VERIFIER_DEFAULT_RESPONSE = "verifier_default_response"; + @Readable + public static final String PACKAGE_VERIFIER_DEFAULT_RESPONSE = "verifier_default_response"; - /** + /** * Show package verification setting in the Settings app. * 1 = show (default) * 0 = hide * @hide */ - public static final String PACKAGE_VERIFIER_SETTING_VISIBLE = "verifier_setting_visible"; + @Readable + public static final String PACKAGE_VERIFIER_SETTING_VISIBLE = "verifier_setting_visible"; - /** + /** * Run package verification on apps installed through ADB/ADT/USB * 1 = perform package verification on ADB installs (default) * 0 = bypass package verification on ADB installs * @hide */ - public static final String PACKAGE_VERIFIER_INCLUDE_ADB = "verifier_verify_adb_installs"; + @Readable + public static final String PACKAGE_VERIFIER_INCLUDE_ADB = "verifier_verify_adb_installs"; /** * Run integrity checks for integrity rule providers. @@ -10397,117 +11076,131 @@ public final class Settings { * 1 = perform integrity verification on installs from rule providers * @hide */ + @Readable public static final String INTEGRITY_CHECK_INCLUDES_RULE_PROVIDER = "verify_integrity_for_rule_provider"; - /** + /** * Time since last fstrim (milliseconds) after which we force one to happen * during device startup. If unset, the default is 3 days. * @hide */ - public static final String FSTRIM_MANDATORY_INTERVAL = "fstrim_mandatory_interval"; + @Readable + public static final String FSTRIM_MANDATORY_INTERVAL = "fstrim_mandatory_interval"; - /** + /** * The interval in milliseconds at which to check packet counts on the * mobile data interface when screen is on, to detect possible data * connection problems. * @hide */ - public static final String PDP_WATCHDOG_POLL_INTERVAL_MS = + @Readable + public static final String PDP_WATCHDOG_POLL_INTERVAL_MS = "pdp_watchdog_poll_interval_ms"; - /** + /** * The interval in milliseconds at which to check packet counts on the * mobile data interface when screen is off, to detect possible data * connection problems. * @hide */ - public static final String PDP_WATCHDOG_LONG_POLL_INTERVAL_MS = + @Readable + public static final String PDP_WATCHDOG_LONG_POLL_INTERVAL_MS = "pdp_watchdog_long_poll_interval_ms"; - /** + /** * The interval in milliseconds at which to check packet counts on the * mobile data interface after {@link #PDP_WATCHDOG_TRIGGER_PACKET_COUNT} * outgoing packets has been reached without incoming packets. * @hide */ - public static final String PDP_WATCHDOG_ERROR_POLL_INTERVAL_MS = + @Readable + public static final String PDP_WATCHDOG_ERROR_POLL_INTERVAL_MS = "pdp_watchdog_error_poll_interval_ms"; - /** + /** * The number of outgoing packets sent without seeing an incoming packet * that triggers a countdown (of {@link #PDP_WATCHDOG_ERROR_POLL_COUNT} * device is logged to the event log * @hide */ - public static final String PDP_WATCHDOG_TRIGGER_PACKET_COUNT = + @Readable + public static final String PDP_WATCHDOG_TRIGGER_PACKET_COUNT = "pdp_watchdog_trigger_packet_count"; - /** + /** * The number of polls to perform (at {@link #PDP_WATCHDOG_ERROR_POLL_INTERVAL_MS}) * after hitting {@link #PDP_WATCHDOG_TRIGGER_PACKET_COUNT} before * attempting data connection recovery. * @hide */ - public static final String PDP_WATCHDOG_ERROR_POLL_COUNT = + @Readable + public static final String PDP_WATCHDOG_ERROR_POLL_COUNT = "pdp_watchdog_error_poll_count"; - /** + /** * The number of failed PDP reset attempts before moving to something more * drastic: re-registering to the network. * @hide */ - public static final String PDP_WATCHDOG_MAX_PDP_RESET_FAIL_COUNT = + @Readable + public static final String PDP_WATCHDOG_MAX_PDP_RESET_FAIL_COUNT = "pdp_watchdog_max_pdp_reset_fail_count"; - /** + /** * URL to open browser on to allow user to manage a prepay account * @hide */ - public static final String SETUP_PREPAID_DATA_SERVICE_URL = + @Readable + public static final String SETUP_PREPAID_DATA_SERVICE_URL = "setup_prepaid_data_service_url"; - /** + /** * URL to attempt a GET on to see if this is a prepay device * @hide */ - public static final String SETUP_PREPAID_DETECTION_TARGET_URL = + @Readable + public static final String SETUP_PREPAID_DETECTION_TARGET_URL = "setup_prepaid_detection_target_url"; - /** + /** * Host to check for a redirect to after an attempt to GET * SETUP_PREPAID_DETECTION_TARGET_URL. (If we redirected there, * this is a prepaid device with zero balance.) * @hide */ - public static final String SETUP_PREPAID_DETECTION_REDIR_HOST = + @Readable + public static final String SETUP_PREPAID_DETECTION_REDIR_HOST = "setup_prepaid_detection_redir_host"; - /** + /** * The interval in milliseconds at which to check the number of SMS sent out without asking * for use permit, to limit the un-authorized SMS usage. * * @hide */ - public static final String SMS_OUTGOING_CHECK_INTERVAL_MS = + @Readable + public static final String SMS_OUTGOING_CHECK_INTERVAL_MS = "sms_outgoing_check_interval_ms"; - /** + /** * The number of outgoing SMS sent without asking for user permit (of {@link * #SMS_OUTGOING_CHECK_INTERVAL_MS} * * @hide */ - public static final String SMS_OUTGOING_CHECK_MAX_COUNT = + @Readable + public static final String SMS_OUTGOING_CHECK_MAX_COUNT = "sms_outgoing_check_max_count"; - /** + /** * Used to disable SMS short code confirmation - defaults to true. * True indcates we will do the check, etc. Set to false to disable. * @see com.android.internal.telephony.SmsUsageMonitor * @hide */ - public static final String SMS_SHORT_CODE_CONFIRMATION = "sms_short_code_confirmation"; + @Readable + public static final String SMS_SHORT_CODE_CONFIRMATION = "sms_short_code_confirmation"; /** * Used to select which country we use to determine premium sms codes. @@ -10516,6 +11209,7 @@ public final class Settings { * or com.android.internal.telephony.SMSDispatcher.PREMIUM_RULE_USE_BOTH. * @hide */ + @Readable public static final String SMS_SHORT_CODE_RULE = "sms_short_code_rule"; /** @@ -10523,6 +11217,7 @@ public final class Settings { * build config value. * @hide */ + @Readable public static final String TCP_DEFAULT_INIT_RWND = "tcp_default_init_rwnd"; /** @@ -10530,6 +11225,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String TETHER_SUPPORTED = "tether_supported"; /** @@ -10537,6 +11233,7 @@ public final class Settings { * which defaults to false. * @hide */ + @Readable public static final String TETHER_DUN_REQUIRED = "tether_dun_required"; /** @@ -10548,6 +11245,7 @@ public final class Settings { * note that empty fields can be omitted: "name,apn,,,,,,,,,310,260,,DUN" * @hide */ + @Readable public static final String TETHER_DUN_APN = "tether_dun_apn"; /** @@ -10558,6 +11256,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled"; /** @@ -10567,6 +11266,7 @@ public final class Settings { * is interpreted as |false|. * @hide */ + @Readable public static final String TETHER_ENABLE_LEGACY_DHCP_SERVER = "tether_enable_legacy_dhcp_server"; @@ -10581,6 +11281,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist"; /** @@ -10591,62 +11292,71 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String CARRIER_APP_NAMES = "carrier_app_names"; - /** + /** * USB Mass Storage Enabled */ - public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled"; + @Readable + public static final String USB_MASS_STORAGE_ENABLED = "usb_mass_storage_enabled"; - /** + /** * If this setting is set (to anything), then all references * to Gmail on the device must change to Google Mail. */ - public static final String USE_GOOGLE_MAIL = "use_google_mail"; + @Readable + public static final String USE_GOOGLE_MAIL = "use_google_mail"; /** * Whether or not switching/creating users is enabled by user. * @hide */ + @Readable public static final String USER_SWITCHER_ENABLED = "user_switcher_enabled"; /** * Webview Data reduction proxy key. * @hide */ + @Readable public static final String WEBVIEW_DATA_REDUCTION_PROXY_KEY = "webview_data_reduction_proxy_key"; - /** + /** * Name of the package used as WebView provider (if unset the provider is instead determined * by the system). * @hide */ - @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) - public static final String WEBVIEW_PROVIDER = "webview_provider"; + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable + public static final String WEBVIEW_PROVIDER = "webview_provider"; - /** + /** * Developer setting to enable WebView multiprocess rendering. * @hide */ - @SystemApi - public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess"; + @SystemApi + @Readable + public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess"; - /** + /** * The maximum number of notifications shown in 24 hours when switching networks. * @hide */ - public static final String NETWORK_SWITCH_NOTIFICATION_DAILY_LIMIT = + @Readable + public static final String NETWORK_SWITCH_NOTIFICATION_DAILY_LIMIT = "network_switch_notification_daily_limit"; - /** + /** * The minimum time in milliseconds between notifications when switching networks. * @hide */ - public static final String NETWORK_SWITCH_NOTIFICATION_RATE_LIMIT_MILLIS = + @Readable + public static final String NETWORK_SWITCH_NOTIFICATION_RATE_LIMIT_MILLIS = "network_switch_notification_rate_limit_millis"; - /** + /** * Whether to automatically switch away from wifi networks that lose Internet access. * Only meaningful if config_networkAvoidBadWifi is set to 0, otherwise the system always * avoids such networks. Valid values are: @@ -10657,16 +11367,18 @@ public final class Settings { * * @hide */ - public static final String NETWORK_AVOID_BAD_WIFI = "network_avoid_bad_wifi"; + @Readable + public static final String NETWORK_AVOID_BAD_WIFI = "network_avoid_bad_wifi"; - /** + /** * User setting for ConnectivityManager.getMeteredMultipathPreference(). This value may be * overridden by the system based on device or application state. If null, the value * specified by config_networkMeteredMultipathPreference is used. * * @hide */ - public static final String NETWORK_METERED_MULTIPATH_PREFERENCE = + @Readable + public static final String NETWORK_METERED_MULTIPATH_PREFERENCE = "network_metered_multipath_preference"; /** @@ -10675,6 +11387,7 @@ public final class Settings { * from data plan or data limit/warning set by the user. * @hide */ + @Readable public static final String NETWORK_DEFAULT_DAILY_MULTIPATH_QUOTA_BYTES = "network_default_daily_multipath_quota_bytes"; @@ -10682,10 +11395,11 @@ public final class Settings { * Network watchlist last report time. * @hide */ + @Readable public static final String NETWORK_WATCHLIST_LAST_REPORT_TIME = "network_watchlist_last_report_time"; - /** + /** * The thresholds of the wifi throughput badging (SD, HD etc.) as a comma-delimited list of * colon-delimited key-value pairs. The key is the badging enum value defined in * android.net.ScoredNetwork and the value is the minimum sustained network throughput in @@ -10693,25 +11407,28 @@ public final class Settings { * * @hide */ - @SystemApi - public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds"; + @SystemApi + @Readable + public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds"; - /** + /** * Whether Wifi display is enabled/disabled * 0=disabled. 1=enabled. * @hide */ - public static final String WIFI_DISPLAY_ON = "wifi_display_on"; + @Readable + public static final String WIFI_DISPLAY_ON = "wifi_display_on"; - /** + /** * Whether Wifi display certification mode is enabled/disabled * 0=disabled. 1=enabled. * @hide */ - public static final String WIFI_DISPLAY_CERTIFICATION_ON = + @Readable + public static final String WIFI_DISPLAY_CERTIFICATION_ON = "wifi_display_certification_on"; - /** + /** * WPS Configuration method used by Wifi display, this setting only * takes effect when WIFI_DISPLAY_CERTIFICATION_ON is 1 (enabled). * @@ -10723,10 +11440,11 @@ public final class Settings { * WpsInfo.DISPLAY: use Display * @hide */ - public static final String WIFI_DISPLAY_WPS_CONFIG = + @Readable + public static final String WIFI_DISPLAY_WPS_CONFIG = "wifi_display_wps_config"; - /** + /** * Whether to notify the user of open networks. * <p> * If not connected and the scan results have an open network, we will @@ -10738,68 +11456,78 @@ public final class Settings { * @deprecated This feature is no longer controlled by this setting in * {@link android.os.Build.VERSION_CODES#O}. */ - @Deprecated - public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = + @Deprecated + @Readable + public static final String WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wifi_networks_available_notification_on"; - /** + /** * {@hide} */ - public static final String WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON = + @Readable + public static final String WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON = "wimax_networks_available_notification_on"; - /** + /** * Delay (in seconds) before repeating the Wi-Fi networks available notification. * Connecting to a network will reset the timer. * @deprecated This is no longer used or set by the platform. */ - @Deprecated - public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = + @Deprecated + @Readable + public static final String WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY = "wifi_networks_available_repeat_delay"; - /** + /** * 802.11 country code in ISO 3166 format * @hide */ - public static final String WIFI_COUNTRY_CODE = "wifi_country_code"; + @Readable + public static final String WIFI_COUNTRY_CODE = "wifi_country_code"; - /** + /** * The interval in milliseconds to issue wake up scans when wifi needs * to connect. This is necessary to connect to an access point when * device is on the move and the screen is off. * @hide */ - public static final String WIFI_FRAMEWORK_SCAN_INTERVAL_MS = + @Readable + public static final String WIFI_FRAMEWORK_SCAN_INTERVAL_MS = "wifi_framework_scan_interval_ms"; - /** + /** * The interval in milliseconds after which Wi-Fi is considered idle. * When idle, it is possible for the device to be switched from Wi-Fi to * the mobile data network. * @hide */ - public static final String WIFI_IDLE_MS = "wifi_idle_ms"; + @Readable + public static final String WIFI_IDLE_MS = "wifi_idle_ms"; - /** + /** * When the number of open networks exceeds this number, the * least-recently-used excess networks will be removed. * @deprecated This is no longer used or set by the platform. */ - @Deprecated - public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; + @Deprecated + @Readable + public static final String WIFI_NUM_OPEN_NETWORKS_KEPT = "wifi_num_open_networks_kept"; - /** + /** * Whether the Wi-Fi should be on. Only the Wi-Fi service should touch this. */ - public static final String WIFI_ON = "wifi_on"; + @Readable + public static final String WIFI_ON = "wifi_on"; - /** + /** * Setting to allow scans to be enabled even wifi is turned off for connectivity. * @hide * @deprecated To be removed. Use {@link WifiManager#setScanAlwaysAvailable(boolean)} for * setting the value and {@link WifiManager#isScanAlwaysAvailable()} for query. */ - public static final String WIFI_SCAN_ALWAYS_AVAILABLE = + @Deprecated + @Readable + public static final String WIFI_SCAN_ALWAYS_AVAILABLE = "wifi_scan_always_enabled"; /** @@ -10809,6 +11537,8 @@ public final class Settings { * @hide * @deprecated To be removed. */ + @Deprecated + @Readable public static final String WIFI_P2P_PENDING_FACTORY_RESET = "wifi_p2p_pending_factory_reset"; @@ -10821,6 +11551,8 @@ public final class Settings { * setAutoShutdownEnabled(boolean)} for setting the value and {@link SoftApConfiguration# * isAutoShutdownEnabled()} for query. */ + @Deprecated + @Readable public static final String SOFT_AP_TIMEOUT_ENABLED = "soft_ap_timeout_enabled"; /** @@ -10833,6 +11565,7 @@ public final class Settings { */ @Deprecated @SystemApi + @Readable public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled"; /** @@ -10842,6 +11575,7 @@ public final class Settings { * Type: int (0 for false, 1 for true) * @hide */ + @Readable public static final String WIFI_MIGRATION_COMPLETED = "wifi_migration_completed"; /** @@ -10850,6 +11584,7 @@ public final class Settings { * Type: int (0 for false, 1 for true) * @hide */ + @Readable public static final String NETWORK_SCORING_UI_ENABLED = "network_scoring_ui_enabled"; /** @@ -10859,6 +11594,7 @@ public final class Settings { * Type: long * @hide */ + @Readable public static final String SPEED_LABEL_CACHE_EVICTION_AGE_MILLIS = "speed_label_cache_eviction_age_millis"; @@ -10877,6 +11613,8 @@ public final class Settings { * @hide * @deprecated To be removed. */ + @Deprecated + @Readable public static final String NETWORK_RECOMMENDATIONS_ENABLED = "network_recommendations_enabled"; @@ -10890,6 +11628,7 @@ public final class Settings { * Type: string - package name * @hide */ + @Readable public static final String NETWORK_RECOMMENDATIONS_PACKAGE = "network_recommendations_package"; @@ -10901,6 +11640,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String USE_OPEN_WIFI_PACKAGE = "use_open_wifi_package"; /** @@ -10910,6 +11650,7 @@ public final class Settings { * Type: long * @hide */ + @Readable public static final String RECOMMENDED_NETWORK_EVALUATOR_CACHE_EXPIRY_MS = "recommended_network_evaluator_cache_expiry_ms"; @@ -10921,6 +11662,8 @@ public final class Settings { * @deprecated Use {@link WifiManager#setScanThrottleEnabled(boolean)} for setting the value * and {@link WifiManager#isScanThrottleEnabled()} for query. */ + @Deprecated + @Readable public static final String WIFI_SCAN_THROTTLE_ENABLED = "wifi_scan_throttle_enabled"; /** @@ -10928,24 +11671,28 @@ public final class Settings { * connectivity. * @hide */ + @Readable public static final String BLE_SCAN_ALWAYS_AVAILABLE = "ble_scan_always_enabled"; /** * The length in milliseconds of a BLE scan window in a low-power scan mode. * @hide */ + @Readable public static final String BLE_SCAN_LOW_POWER_WINDOW_MS = "ble_scan_low_power_window_ms"; /** * The length in milliseconds of a BLE scan window in a balanced scan mode. * @hide */ + @Readable public static final String BLE_SCAN_BALANCED_WINDOW_MS = "ble_scan_balanced_window_ms"; /** * The length in milliseconds of a BLE scan window in a low-latency scan mode. * @hide */ + @Readable public static final String BLE_SCAN_LOW_LATENCY_WINDOW_MS = "ble_scan_low_latency_window_ms"; @@ -10953,6 +11700,7 @@ public final class Settings { * The length in milliseconds of a BLE scan interval in a low-power scan mode. * @hide */ + @Readable public static final String BLE_SCAN_LOW_POWER_INTERVAL_MS = "ble_scan_low_power_interval_ms"; @@ -10960,6 +11708,7 @@ public final class Settings { * The length in milliseconds of a BLE scan interval in a balanced scan mode. * @hide */ + @Readable public static final String BLE_SCAN_BALANCED_INTERVAL_MS = "ble_scan_balanced_interval_ms"; @@ -10967,6 +11716,7 @@ public final class Settings { * The length in milliseconds of a BLE scan interval in a low-latency scan mode. * @hide */ + @Readable public static final String BLE_SCAN_LOW_LATENCY_INTERVAL_MS = "ble_scan_low_latency_interval_ms"; @@ -10974,26 +11724,30 @@ public final class Settings { * The mode that BLE scanning clients will be moved to when in the background. * @hide */ + @Readable public static final String BLE_SCAN_BACKGROUND_MODE = "ble_scan_background_mode"; - /** + /** * The interval in milliseconds to scan as used by the wifi supplicant * @hide */ - public static final String WIFI_SUPPLICANT_SCAN_INTERVAL_MS = + @Readable + public static final String WIFI_SUPPLICANT_SCAN_INTERVAL_MS = "wifi_supplicant_scan_interval_ms"; /** * whether frameworks handles wifi auto-join * @hide */ - public static final String WIFI_ENHANCED_AUTO_JOIN = + @Readable + public static final String WIFI_ENHANCED_AUTO_JOIN = "wifi_enhanced_auto_join"; /** * whether settings show RSSI * @hide */ + @Readable public static final String WIFI_NETWORK_SHOW_RSSI = "wifi_network_show_rssi"; @@ -11001,31 +11755,36 @@ public final class Settings { * The interval in milliseconds to scan at supplicant when p2p is connected * @hide */ - public static final String WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS = + @Readable + public static final String WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS = "wifi_scan_interval_p2p_connected_ms"; - /** + /** * Whether the Wi-Fi watchdog is enabled. */ - public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on"; + @Readable + public static final String WIFI_WATCHDOG_ON = "wifi_watchdog_on"; - /** + /** * Setting to turn off poor network avoidance on Wi-Fi. Feature is enabled by default and * the setting needs to be set to 0 to disable it. * @hide */ - @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) - public static final String WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED = + @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable + public static final String WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED = "wifi_watchdog_poor_network_test_enabled"; - /** + /** * Setting to enable verbose logging in Wi-Fi; disabled by default, and setting to 1 * will enable it. In the future, additional values may be supported. * @hide * @deprecated Use {@link WifiManager#setVerboseLoggingEnabled(boolean)} for setting the * value and {@link WifiManager#isVerboseLoggingEnabled()} for query. */ - public static final String WIFI_VERBOSE_LOGGING_ENABLED = + @Deprecated + @Readable + public static final String WIFI_VERBOSE_LOGGING_ENABLED = "wifi_verbose_logging_enabled"; /** @@ -11035,6 +11794,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String WIFI_CONNECTED_MAC_RANDOMIZATION_ENABLED = "wifi_connected_mac_randomization_enabled"; @@ -11051,24 +11811,28 @@ public final class Settings { * @hide * @deprecated This is no longer used or set by the platform. */ + @Deprecated + @Readable public static final String WIFI_SCORE_PARAMS = "wifi_score_params"; - /** + /** * The maximum number of times we will retry a connection to an access * point for which we have failed in acquiring an IP address from DHCP. * A value of N means that we will make N+1 connection attempts in all. */ - public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count"; + @Readable + public static final String WIFI_MAX_DHCP_RETRY_COUNT = "wifi_max_dhcp_retry_count"; - /** + /** * Maximum amount of time in milliseconds to hold a wakelock while waiting for mobile * data connectivity to be established after a disconnect from Wi-Fi. */ - public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = + @Readable + public static final String WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS = "wifi_mobile_data_transition_wakelock_timeout_ms"; - /** + /** * This setting controls whether WiFi configurations created by a Device Owner app * should be locked down (that is, be editable or removable only by the Device Owner App, * not even by Settings app). @@ -11076,10 +11840,11 @@ public final class Settings { * are locked down. Value of zero means they are not. Default value in the absence of * actual value to this setting is 0. */ - public static final String WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN = + @Readable + public static final String WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN = "wifi_device_owner_configs_lockdown"; - /** + /** * The operational wifi frequency band * Set to one of {@link WifiManager#WIFI_FREQUENCY_BAND_AUTO}, * {@link WifiManager#WIFI_FREQUENCY_BAND_5GHZ} or @@ -11087,18 +11852,21 @@ public final class Settings { * * @hide */ - public static final String WIFI_FREQUENCY_BAND = "wifi_frequency_band"; + @Readable + public static final String WIFI_FREQUENCY_BAND = "wifi_frequency_band"; - /** + /** * The Wi-Fi peer-to-peer device name * @hide * @deprecated Use {@link WifiP2pManager#setDeviceName(WifiP2pManager.Channel, String, * WifiP2pManager.ActionListener)} for setting the value and * {@link android.net.wifi.p2p.WifiP2pDevice#deviceName} for query. */ - public static final String WIFI_P2P_DEVICE_NAME = "wifi_p2p_device_name"; + @Deprecated + @Readable + public static final String WIFI_P2P_DEVICE_NAME = "wifi_p2p_device_name"; - /** + /** * Timeout for ephemeral networks when all known BSSIDs go out of range. We will disconnect * from an ephemeral network if there is no BSSID for that network with a non-null score that * has been seen in this time period. @@ -11107,53 +11875,60 @@ public final class Settings { * for a non-null score from the currently connected or target BSSID. * @hide */ - public static final String WIFI_EPHEMERAL_OUT_OF_RANGE_TIMEOUT_MS = + @Readable + public static final String WIFI_EPHEMERAL_OUT_OF_RANGE_TIMEOUT_MS = "wifi_ephemeral_out_of_range_timeout_ms"; - /** + /** * The number of milliseconds to delay when checking for data stalls during * non-aggressive detection. (screen is turned off.) * @hide */ - public static final String DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS = + @Readable + public static final String DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS = "data_stall_alarm_non_aggressive_delay_in_ms"; - /** + /** * The number of milliseconds to delay when checking for data stalls during * aggressive detection. (screen on or suspected data stall) * @hide */ - public static final String DATA_STALL_ALARM_AGGRESSIVE_DELAY_IN_MS = + @Readable + public static final String DATA_STALL_ALARM_AGGRESSIVE_DELAY_IN_MS = "data_stall_alarm_aggressive_delay_in_ms"; - /** + /** * The number of milliseconds to allow the provisioning apn to remain active * @hide */ - public static final String PROVISIONING_APN_ALARM_DELAY_IN_MS = + @Readable + public static final String PROVISIONING_APN_ALARM_DELAY_IN_MS = "provisioning_apn_alarm_delay_in_ms"; - /** + /** * The interval in milliseconds at which to check gprs registration * after the first registration mismatch of gprs and voice service, * to detect possible data network registration problems. * * @hide */ - public static final String GPRS_REGISTER_CHECK_PERIOD_MS = + @Readable + public static final String GPRS_REGISTER_CHECK_PERIOD_MS = "gprs_register_check_period_ms"; - /** + /** * Nonzero causes Log.wtf() to crash. * @hide */ - public static final String WTF_IS_FATAL = "wtf_is_fatal"; + @Readable + public static final String WTF_IS_FATAL = "wtf_is_fatal"; - /** + /** * Ringer mode. This is used internally, changing this value will not * change the ringer mode. See AudioManager. */ - public static final String MODE_RINGER = "mode_ringer"; + @Readable + public static final String MODE_RINGER = "mode_ringer"; /** * Overlay display devices setting. @@ -11194,6 +11969,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable public static final String OVERLAY_DISPLAY_DEVICES = "overlay_display_devices"; /** @@ -11202,10 +11978,12 @@ public final class Settings { * * @hide */ + @Readable public static final String BATTERY_DISCHARGE_DURATION_THRESHOLD = "battery_discharge_duration_threshold"; /** @hide */ + @Readable public static final String BATTERY_DISCHARGE_THRESHOLD = "battery_discharge_threshold"; /** @@ -11217,6 +11995,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SEND_ACTION_APP_ERROR = "send_action_app_error"; /** @@ -11224,6 +12003,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DROPBOX_AGE_SECONDS = "dropbox_age_seconds"; /** @@ -11232,6 +12012,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DROPBOX_MAX_FILES = "dropbox_max_files"; /** @@ -11240,6 +12021,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DROPBOX_QUOTA_KB = "dropbox_quota_kb"; /** @@ -11248,6 +12030,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DROPBOX_QUOTA_PERCENT = "dropbox_quota_percent"; /** @@ -11256,6 +12039,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DROPBOX_RESERVE_PERCENT = "dropbox_reserve_percent"; /** @@ -11263,6 +12047,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DROPBOX_TAG_PREFIX = "dropbox:"; /** @@ -11273,6 +12058,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ERROR_LOGCAT_PREFIX = "logcat_for_"; /** @@ -11286,6 +12072,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MAX_ERROR_BYTES_PREFIX = "max_error_bytes_for_"; /** @@ -11294,6 +12081,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SYS_FREE_STORAGE_LOG_INTERVAL = "sys_free_storage_log_interval"; /** @@ -11303,6 +12091,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DISK_FREE_CHANGE_REPORTING_THRESHOLD = "disk_free_change_reporting_threshold"; @@ -11315,6 +12104,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SYS_STORAGE_THRESHOLD_PERCENTAGE = "sys_storage_threshold_percentage"; @@ -11326,6 +12116,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SYS_STORAGE_THRESHOLD_MAX_BYTES = "sys_storage_threshold_max_bytes"; @@ -11336,6 +12127,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SYS_STORAGE_FULL_THRESHOLD_BYTES = "sys_storage_full_threshold_bytes"; @@ -11345,6 +12137,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SYS_STORAGE_CACHE_PERCENTAGE = "sys_storage_cache_percentage"; @@ -11354,6 +12147,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SYS_STORAGE_CACHE_MAX_BYTES = "sys_storage_cache_max_bytes"; @@ -11363,6 +12157,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SYNC_MAX_RETRY_DELAY_IN_SECONDS = "sync_max_retry_delay_in_seconds"; @@ -11372,6 +12167,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CONNECTIVITY_CHANGE_DELAY = "connectivity_change_delay"; @@ -11381,7 +12177,7 @@ public final class Settings { * * @hide */ - + @Readable public static final String CONNECTIVITY_SAMPLING_INTERVAL_IN_SECONDS = "connectivity_sampling_interval_in_seconds"; @@ -11391,6 +12187,7 @@ public final class Settings { * * @hide */ + @Readable public static final String PAC_CHANGE_DELAY = "pac_change_delay"; /** @@ -11423,6 +12220,7 @@ public final class Settings { * The default for this setting is CAPTIVE_PORTAL_MODE_PROMPT. * @hide */ + @Readable public static final String CAPTIVE_PORTAL_MODE = "captive_portal_mode"; /** @@ -11433,6 +12231,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String CAPTIVE_PORTAL_DETECTION_ENABLED = "captive_portal_detection_enabled"; @@ -11443,6 +12242,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAPTIVE_PORTAL_SERVER = "captive_portal_server"; /** @@ -11451,6 +12251,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAPTIVE_PORTAL_HTTPS_URL = "captive_portal_https_url"; /** @@ -11459,6 +12260,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAPTIVE_PORTAL_HTTP_URL = "captive_portal_http_url"; /** @@ -11467,6 +12269,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAPTIVE_PORTAL_FALLBACK_URL = "captive_portal_fallback_url"; /** @@ -11475,6 +12278,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAPTIVE_PORTAL_OTHER_FALLBACK_URLS = "captive_portal_other_fallback_urls"; @@ -11484,6 +12288,7 @@ public final class Settings { * by "@@,@@". * @hide */ + @Readable public static final String CAPTIVE_PORTAL_FALLBACK_PROBE_SPECS = "captive_portal_fallback_probe_specs"; @@ -11494,6 +12299,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAPTIVE_PORTAL_USE_HTTPS = "captive_portal_use_https"; /** @@ -11502,6 +12308,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CAPTIVE_PORTAL_USER_AGENT = "captive_portal_user_agent"; /** @@ -11509,6 +12316,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DATA_STALL_RECOVERY_ON_BAD_NETWORK = "data_stall_recovery_on_bad_network"; @@ -11517,6 +12325,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MIN_DURATION_BETWEEN_RECOVERY_STEPS_IN_MS = "min_duration_between_recovery_steps"; /** @@ -11524,6 +12333,7 @@ public final class Settings { * * @hide */ + @Readable public static final String NSD_ON = "nsd_on"; /** @@ -11531,6 +12341,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SET_INSTALL_LOCATION = "set_install_location"; /** @@ -11540,6 +12351,7 @@ public final class Settings { * 2 = sdcard * @hide */ + @Readable public static final String DEFAULT_INSTALL_LOCATION = "default_install_location"; /** @@ -11548,6 +12360,7 @@ public final class Settings { * * @hide */ + @Readable public static final String INET_CONDITION_DEBOUNCE_UP_DELAY = "inet_condition_debounce_up_delay"; @@ -11557,10 +12370,12 @@ public final class Settings { * * @hide */ + @Readable public static final String INET_CONDITION_DEBOUNCE_DOWN_DELAY = "inet_condition_debounce_down_delay"; /** {@hide} */ + @Readable public static final String READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT = "read_external_storage_enforced_default"; @@ -11568,6 +12383,7 @@ public final class Settings { * Host name and port for global http proxy. Uses ':' seperator for * between host and port. */ + @Readable public static final String HTTP_PROXY = "http_proxy"; /** @@ -11575,6 +12391,7 @@ public final class Settings { * * @hide */ + @Readable public static final String GLOBAL_HTTP_PROXY_HOST = "global_http_proxy_host"; /** @@ -11582,6 +12399,7 @@ public final class Settings { * * @hide */ + @Readable public static final String GLOBAL_HTTP_PROXY_PORT = "global_http_proxy_port"; /** @@ -11593,6 +12411,7 @@ public final class Settings { * * @hide */ + @Readable public static final String GLOBAL_HTTP_PROXY_EXCLUSION_LIST = "global_http_proxy_exclusion_list"; @@ -11600,6 +12419,7 @@ public final class Settings { * The location PAC File for the proxy. * @hide */ + @Readable public static final String GLOBAL_HTTP_PROXY_PAC = "global_proxy_pac_url"; @@ -11609,6 +12429,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SET_GLOBAL_HTTP_PROXY = "set_global_http_proxy"; /** @@ -11616,6 +12437,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DEFAULT_DNS_SERVER = "default_dns_server"; /** @@ -11628,11 +12450,13 @@ public final class Settings { * * @hide */ + @Readable public static final String PRIVATE_DNS_MODE = "private_dns_mode"; /** * @hide */ + @Readable public static final String PRIVATE_DNS_SPECIFIER = "private_dns_specifier"; /** @@ -11644,46 +12468,60 @@ public final class Settings { * * {@hide} */ + @Readable public static final String PRIVATE_DNS_DEFAULT_MODE = "private_dns_default_mode"; /** {@hide} */ + @Readable public static final String BLUETOOTH_BTSNOOP_DEFAULT_MODE = "bluetooth_btsnoop_default_mode"; /** {@hide} */ + @Readable public static final String BLUETOOTH_HEADSET_PRIORITY_PREFIX = "bluetooth_headset_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX = "bluetooth_a2dp_sink_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_A2DP_SRC_PRIORITY_PREFIX = "bluetooth_a2dp_src_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_A2DP_SUPPORTS_OPTIONAL_CODECS_PREFIX = "bluetooth_a2dp_supports_optional_codecs_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_A2DP_OPTIONAL_CODECS_ENABLED_PREFIX = "bluetooth_a2dp_optional_codecs_enabled_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX = "bluetooth_input_device_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_MAP_PRIORITY_PREFIX = "bluetooth_map_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_MAP_CLIENT_PRIORITY_PREFIX = "bluetooth_map_client_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_PBAP_CLIENT_PRIORITY_PREFIX = "bluetooth_pbap_client_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_SAP_PRIORITY_PREFIX = "bluetooth_sap_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_PAN_PRIORITY_PREFIX = "bluetooth_pan_priority_"; /** {@hide} */ + @Readable public static final String BLUETOOTH_HEARING_AID_PRIORITY_PREFIX = "bluetooth_hearing_aid_priority_"; @@ -11692,6 +12530,7 @@ public final class Settings { * * {@hide} */ + @Readable public static final String ENABLE_RADIO_BUG_DETECTION = "enable_radio_bug_detection"; @@ -11700,6 +12539,7 @@ public final class Settings { * * {@hide} */ + @Readable public static final String RADIO_BUG_WAKELOCK_TIMEOUT_COUNT_THRESHOLD = "radio_bug_wakelock_timeout_count_threshold"; @@ -11709,6 +12549,7 @@ public final class Settings { * * {@hide} */ + @Readable public static final String RADIO_BUG_SYSTEM_ERROR_COUNT_THRESHOLD = "radio_bug_system_error_count_threshold"; @@ -11755,6 +12596,7 @@ public final class Settings { * @hide * @see com.android.server.am.ActivityManagerConstants */ + @Readable public static final String ACTIVITY_MANAGER_CONSTANTS = "activity_manager_constants"; /** @@ -11763,6 +12605,7 @@ public final class Settings { * Default: 1 * @hide */ + @Readable public static final String ACTIVITY_STARTS_LOGGING_ENABLED = "activity_starts_logging_enabled"; @@ -11772,6 +12615,7 @@ public final class Settings { * Default: 1 * @hide */ + @Readable public static final String FOREGROUND_SERVICE_STARTS_LOGGING_ENABLED = "foreground_service_starts_logging_enabled"; @@ -11779,6 +12623,7 @@ public final class Settings { * @hide * @see com.android.server.appbinding.AppBindingConstants */ + @Readable public static final String APP_BINDING_CONSTANTS = "app_binding_constants"; /** @@ -11801,6 +12646,7 @@ public final class Settings { * @see com.android.server.AppOpsService.Constants */ @TestApi + @Readable public static final String APP_OPS_CONSTANTS = "app_ops_constants"; /** @@ -11836,6 +12682,7 @@ public final class Settings { */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) @TestApi + @Readable public static final String BATTERY_SAVER_CONSTANTS = "battery_saver_constants"; /** @@ -11853,6 +12700,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BATTERY_SAVER_DEVICE_SPECIFIC_CONSTANTS = "battery_saver_device_specific_constants"; @@ -11882,6 +12730,7 @@ public final class Settings { * </pre> * @hide */ + @Readable public static final String BATTERY_TIP_CONSTANTS = "battery_tip_constants"; /** @@ -11907,6 +12756,7 @@ public final class Settings { * </pre> * @hide */ + @Readable public static final String ANOMALY_DETECTION_CONSTANTS = "anomaly_detection_constants"; /** @@ -11914,6 +12764,7 @@ public final class Settings { * current version is 1. * @hide */ + @Readable public static final String ANOMALY_CONFIG_VERSION = "anomaly_config_version"; /** @@ -11921,6 +12772,7 @@ public final class Settings { * {@link android.app.StatsManager}. * @hide */ + @Readable public static final String ANOMALY_CONFIG = "anomaly_config"; /** @@ -11940,6 +12792,7 @@ public final class Settings { * </pre> * @hide */ + @Readable public static final String ALWAYS_ON_DISPLAY_CONSTANTS = "always_on_display_constants"; /** @@ -11950,6 +12803,7 @@ public final class Settings { * Any other value defaults to enabled. * @hide */ + @Readable public static final String SYS_UIDCPUPOWER = "sys_uidcpupower"; /** @@ -11961,6 +12815,7 @@ public final class Settings { * Any other value defaults to disabled. * @hide */ + @Readable public static final String SYS_TRACED = "sys_traced"; /** @@ -11969,6 +12824,7 @@ public final class Settings { * * @hide */ + @Readable public static final String FPS_DEVISOR = "fps_divisor"; /** @@ -11978,6 +12834,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DISPLAY_PANEL_LPM = "display_panel_lpm"; /** @@ -11992,6 +12849,7 @@ public final class Settings { * Need to reboot the device for this setting to take effect. * @hide */ + @Readable public static final String APP_TIME_LIMIT_USAGE_SOURCE = "app_time_limit_usage_source"; /** @@ -11999,6 +12857,7 @@ public final class Settings { * 0 = disable, 1 = enable. * @hide */ + @Readable public static final String ART_VERIFIER_VERIFY_DEBUGGABLE = "art_verifier_verify_debuggable"; @@ -12019,6 +12878,7 @@ public final class Settings { * @hide * @see com.android.server.power.PowerManagerConstants */ + @Readable public static final String POWER_MANAGER_CONSTANTS = "power_manager_constants"; /** @@ -12044,6 +12904,7 @@ public final class Settings { * @hide * @see com.android.server.pm.ShortcutService.ConfigConstants */ + @Readable public static final String SHORTCUT_MANAGER_CONSTANTS = "shortcut_manager_constants"; /** @@ -12061,6 +12922,7 @@ public final class Settings { * @hide * see also com.android.server.devicepolicy.DevicePolicyConstants */ + @Readable public static final String DEVICE_POLICY_CONSTANTS = "device_policy_constants"; /** @@ -12097,6 +12959,7 @@ public final class Settings { * @hide * see also android.view.textclassifier.TextClassificationConstants */ + @Readable public static final String TEXT_CLASSIFIER_CONSTANTS = "text_classifier_constants"; /** @@ -12121,6 +12984,7 @@ public final class Settings { * @hide * see also com.android.internal.os.BatteryStatsImpl.Constants */ + @Readable public static final String BATTERY_STATS_CONSTANTS = "battery_stats_constants"; /** @@ -12131,6 +12995,7 @@ public final class Settings { * @hide * @see com.android.server.content.SyncManagerConstants */ + @Readable public static final String SYNC_MANAGER_CONSTANTS = "sync_manager_constants"; /** @@ -12150,6 +13015,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BROADCAST_FG_CONSTANTS = "bcast_fg_constants"; /** @@ -12160,6 +13026,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BROADCAST_BG_CONSTANTS = "bcast_bg_constants"; /** @@ -12170,6 +13037,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BROADCAST_OFFLOAD_CONSTANTS = "bcast_offload_constants"; /** @@ -12182,6 +13050,7 @@ public final class Settings { * @see #ADAPTIVE_BATTERY_MANAGEMENT_ENABLED */ @SystemApi + @Readable public static final String APP_STANDBY_ENABLED = "app_standby_enabled"; /** @@ -12192,6 +13061,7 @@ public final class Settings { * @hide * @see #APP_STANDBY_ENABLED */ + @Readable public static final String ADAPTIVE_BATTERY_MANAGEMENT_ENABLED = "adaptive_battery_management_enabled"; @@ -12203,6 +13073,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ENABLE_RESTRICTED_BUCKET = "enable_restricted_bucket"; /** @@ -12220,6 +13091,7 @@ public final class Settings { * * @hide */ + @Readable public static final String APP_AUTO_RESTRICTION_ENABLED = "app_auto_restriction_enabled"; @@ -12229,6 +13101,7 @@ public final class Settings { * Default: 1 * @hide */ + @Readable public static final String FORCED_APP_STANDBY_ENABLED = "forced_app_standby_enabled"; /** @@ -12237,6 +13110,7 @@ public final class Settings { * Default: 0 * @hide */ + @Readable public static final String FORCED_APP_STANDBY_FOR_SMALL_BATTERY_ENABLED = "forced_app_standby_for_small_battery_enabled"; @@ -12246,6 +13120,7 @@ public final class Settings { * Default: 0 * @hide */ + @Readable public static final String USER_ABSENT_RADIOS_OFF_FOR_SMALL_BATTERY_ENABLED = "user_absent_radios_off_for_small_battery_enabled"; @@ -12255,6 +13130,7 @@ public final class Settings { * Default: 0 * @hide */ + @Readable public static final String USER_ABSENT_TOUCH_OFF_FOR_SMALL_BATTERY_ENABLED = "user_absent_touch_off_for_small_battery_enabled"; @@ -12264,6 +13140,7 @@ public final class Settings { * Default: 1 * @hide */ + @Readable public static final String WIFI_ON_WHEN_PROXY_DISCONNECTED = "wifi_on_when_proxy_disconnected"; @@ -12282,6 +13159,7 @@ public final class Settings { * Type: string * @hide */ + @Readable public static final String TIME_ONLY_MODE_CONSTANTS = "time_only_mode_constants"; @@ -12292,6 +13170,7 @@ public final class Settings { * Default: 0 * @hide */ + @Readable public static final String UNGAZE_SLEEP_ENABLED = "ungaze_sleep_enabled"; /** @@ -12300,6 +13179,7 @@ public final class Settings { * Default: 0 * @hide */ + @Readable public static final String NETWORK_WATCHLIST_ENABLED = "network_watchlist_enabled"; /** @@ -12308,6 +13188,7 @@ public final class Settings { * Default: 1 * @hide */ + @Readable public static final String SHOW_HIDDEN_LAUNCHER_ICON_APPS_ENABLED = "show_hidden_icon_apps_enabled"; @@ -12317,6 +13198,7 @@ public final class Settings { * Default: 0 * @hide */ + @Readable public static final String SHOW_NEW_APP_INSTALLED_NOTIFICATION_ENABLED = "show_new_app_installed_notification_enabled"; @@ -12330,6 +13212,7 @@ public final class Settings { * * @hide */ + @Readable public static final String KEEP_PROFILE_IN_BACKGROUND = "keep_profile_in_background"; /** @@ -12351,6 +13234,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ADB_ALLOWED_CONNECTION_TIME = "adb_allowed_connection_time"; @@ -12358,12 +13242,14 @@ public final class Settings { * Scaling factor for normal window animations. Setting to 0 will * disable window animations. */ + @Readable public static final String WINDOW_ANIMATION_SCALE = "window_animation_scale"; /** * Scaling factor for activity transition animations. Setting to 0 will * disable window animations. */ + @Readable public static final String TRANSITION_ANIMATION_SCALE = "transition_animation_scale"; /** @@ -12371,6 +13257,7 @@ public final class Settings { * start delay and duration of all such animations. Setting to 0 will * cause animations to end immediately. The default value is 1. */ + @Readable public static final String ANIMATOR_DURATION_SCALE = "animator_duration_scale"; /** @@ -12379,6 +13266,7 @@ public final class Settings { * * @hide */ + @Readable public static final String FANCY_IME_ANIMATIONS = "fancy_ime_animations"; /** @@ -12387,6 +13275,7 @@ public final class Settings { * TODO: remove this settings before code freeze (bug/1907571) * @hide */ + @Readable public static final String COMPATIBILITY_MODE = "compatibility_mode"; /** @@ -12396,6 +13285,7 @@ public final class Settings { * 2 = Vibrate * @hide */ + @Readable public static final String EMERGENCY_TONE = "emergency_tone"; /** @@ -12404,6 +13294,7 @@ public final class Settings { * boolean (1 or 0). * @hide */ + @Readable public static final String CALL_AUTO_RETRY = "call_auto_retry"; /** @@ -12411,6 +13302,7 @@ public final class Settings { * The value is a boolean (1 or 0). * @hide */ + @Readable public static final String EMERGENCY_AFFORDANCE_NEEDED = "emergency_affordance_needed"; /** @@ -12420,6 +13312,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ENABLE_AUTOMATIC_SYSTEM_SERVER_HEAP_DUMPS = "enable_automatic_system_server_heap_dumps"; @@ -12428,18 +13321,21 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String PREFERRED_NETWORK_MODE = "preferred_network_mode"; /** * Name of an application package to be debugged. */ + @Readable public static final String DEBUG_APP = "debug_app"; /** * If 1, when launching DEBUG_APP it will wait for the debugger before * starting user code. If 0, it will run normally. */ + @Readable public static final String WAIT_FOR_DEBUGGER = "wait_for_debugger"; /** @@ -12448,12 +13344,14 @@ public final class Settings { * 1 = yes * @hide */ + @Readable public static final String ENABLE_GPU_DEBUG_LAYERS = "enable_gpu_debug_layers"; /** * App allowed to load GPU debug layers * @hide */ + @Readable public static final String GPU_DEBUG_APP = "gpu_debug_app"; /** @@ -12461,6 +13359,7 @@ public final class Settings { * to dumpable apps that opt-in. * @hide */ + @Readable public static final String ANGLE_DEBUG_PACKAGE = "angle_debug_package"; /** @@ -12468,12 +13367,14 @@ public final class Settings { * The value is a boolean (1 or 0). * @hide */ + @Readable public static final String ANGLE_GL_DRIVER_ALL_ANGLE = "angle_gl_driver_all_angle"; /** * List of PKGs that have an OpenGL driver selected * @hide */ + @Readable public static final String ANGLE_GL_DRIVER_SELECTION_PKGS = "angle_gl_driver_selection_pkgs"; @@ -12481,6 +13382,7 @@ public final class Settings { * List of selected OpenGL drivers, corresponding to the PKGs in GLOBAL_SETTINGS_DRIVER_PKGS * @hide */ + @Readable public static final String ANGLE_GL_DRIVER_SELECTION_VALUES = "angle_gl_driver_selection_values"; @@ -12488,6 +13390,7 @@ public final class Settings { * List of package names that should check ANGLE rules * @hide */ + @Readable public static final String ANGLE_ALLOWLIST = "angle_allowlist"; /** @@ -12497,6 +13400,7 @@ public final class Settings { * e.g. feature1:feature2:feature3,feature1:feature3:feature5 * @hide */ + @Readable public static final String ANGLE_EGL_FEATURES = "angle_egl_features"; /** @@ -12504,6 +13408,7 @@ public final class Settings { * The value is a boolean (1 or 0). * @hide */ + @Readable public static final String SHOW_ANGLE_IN_USE_DIALOG_BOX = "show_angle_in_use_dialog_box"; /** @@ -12514,6 +13419,7 @@ public final class Settings { * 3 = All Apps use system graphics driver * @hide */ + @Readable public static final String UPDATABLE_DRIVER_ALL_APPS = "updatable_driver_all_apps"; /** @@ -12521,6 +13427,7 @@ public final class Settings { * i.e. <pkg1>,<pkg2>,...,<pkgN> * @hide */ + @Readable public static final String UPDATABLE_DRIVER_PRODUCTION_OPT_IN_APPS = "updatable_driver_production_opt_in_apps"; @@ -12529,6 +13436,7 @@ public final class Settings { * i.e. <pkg1>,<pkg2>,...,<pkgN> * @hide */ + @Readable public static final String UPDATABLE_DRIVER_PRERELEASE_OPT_IN_APPS = "updatable_driver_prerelease_opt_in_apps"; @@ -12537,6 +13445,7 @@ public final class Settings { * i.e. <pkg1>,<pkg2>,...,<pkgN> * @hide */ + @Readable public static final String UPDATABLE_DRIVER_PRODUCTION_OPT_OUT_APPS = "updatable_driver_production_opt_out_apps"; @@ -12544,6 +13453,7 @@ public final class Settings { * Apps on the denylist that are forbidden to use updatable production driver. * @hide */ + @Readable public static final String UPDATABLE_DRIVER_PRODUCTION_DENYLIST = "updatable_driver_production_denylist"; @@ -12552,6 +13462,7 @@ public final class Settings { * updatable production driver. * @hide */ + @Readable public static final String UPDATABLE_DRIVER_PRODUCTION_DENYLISTS = "updatable_driver_production_denylists"; @@ -12561,6 +13472,7 @@ public final class Settings { * i.e. <apk1>,<apk2>,...,<apkN> * @hide */ + @Readable public static final String UPDATABLE_DRIVER_PRODUCTION_ALLOWLIST = "updatable_driver_production_allowlist"; @@ -12570,6 +13482,7 @@ public final class Settings { * i.e. <lib1>:<lib2>:...:<libN> * @hide */ + @Readable public static final String UPDATABLE_DRIVER_SPHAL_LIBRARIES = "updatable_driver_sphal_libraries"; @@ -12578,6 +13491,7 @@ public final class Settings { * i.e. <layer1>:<layer2>:...:<layerN> * @hide */ + @Readable public static final String GPU_DEBUG_LAYERS = "gpu_debug_layers"; /** @@ -12585,12 +13499,14 @@ public final class Settings { * i.e. <layer1>:<layer2>:...:<layerN> * @hide */ + @Readable public static final String GPU_DEBUG_LAYERS_GLES = "gpu_debug_layers_gles"; /** * Addition app for GPU layer discovery * @hide */ + @Readable public static final String GPU_DEBUG_LAYER_APP = "gpu_debug_layer_app"; /** @@ -12600,6 +13516,7 @@ public final class Settings { * {@link android.os.Build.VERSION_CODES#N_MR1}. */ @Deprecated + @Readable public static final String SHOW_PROCESSES = "show_processes"; /** @@ -12607,6 +13524,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String LOW_POWER_MODE = "low_power"; /** @@ -12615,6 +13533,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String LOW_POWER_MODE_STICKY = "low_power_sticky"; /** @@ -12624,6 +13543,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL = "low_power_sticky_auto_disable_level"; @@ -12633,6 +13553,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED = "low_power_sticky_auto_disable_enabled"; @@ -12646,6 +13567,7 @@ public final class Settings { * @see android.os.PowerManager#getPowerSaveModeTrigger() * @hide */ + @Readable public static final String LOW_POWER_MODE_TRIGGER_LEVEL = "low_power_trigger_level"; /** @@ -12656,6 +13578,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String AUTOMATIC_POWER_SAVE_MODE = "automatic_power_save_mode"; /** @@ -12666,6 +13589,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD = "dynamic_power_savings_disable_threshold"; @@ -12676,6 +13600,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String DYNAMIC_POWER_SAVINGS_ENABLED = "dynamic_power_savings_enabled"; /** @@ -12687,6 +13612,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String TIME_REMAINING_ESTIMATE_MILLIS = "time_remaining_estimate_millis"; @@ -12700,6 +13626,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String TIME_REMAINING_ESTIMATE_BASED_ON_USAGE = "time_remaining_estimate_based_on_usage"; @@ -12712,6 +13639,7 @@ public final class Settings { * @hide */ @Deprecated + @Readable public static final String AVERAGE_TIME_TO_DISCHARGE = "average_time_to_discharge"; /** @@ -12723,6 +13651,7 @@ public final class Settings { * @deprecated No longer needed due to {@link PowerManager#getBatteryDischargePrediction}. */ @Deprecated + @Readable public static final String BATTERY_ESTIMATES_LAST_UPDATE_TIME = "battery_estimates_last_update_time"; @@ -12732,12 +13661,14 @@ public final class Settings { * * @hide */ + @Readable public static final String LOW_POWER_MODE_TRIGGER_LEVEL_MAX = "low_power_trigger_level_max"; /** * See com.android.settingslib.fuelgauge.BatterySaverUtils. * @hide */ + @Readable public static final String LOW_POWER_MODE_SUGGESTION_PARAMS = "low_power_mode_suggestion_params"; @@ -12746,6 +13677,7 @@ public final class Settings { * processes as soon as they are no longer needed. If 0, the normal * extended lifetime is used. */ + @Readable public static final String ALWAYS_FINISH_ACTIVITIES = "always_finish_activities"; /** @@ -12755,6 +13687,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String HIDE_ERROR_DIALOGS = "hide_error_dialogs"; /** @@ -12763,6 +13696,7 @@ public final class Settings { * 1 = enabled * @hide */ + @Readable public static final String DOCK_AUDIO_MEDIA_ENABLED = "dock_audio_media_enabled"; /** @@ -12822,6 +13756,7 @@ public final class Settings { * ENCODED_SURROUND_OUTPUT_MANUAL * @hide */ + @Readable public static final String ENCODED_SURROUND_OUTPUT = "encoded_surround_output"; /** @@ -12833,6 +13768,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS = "encoded_surround_output_enabled_formats"; @@ -12840,36 +13776,42 @@ public final class Settings { * Persisted safe headphone volume management state by AudioService * @hide */ + @Readable public static final String AUDIO_SAFE_VOLUME_STATE = "audio_safe_volume_state"; /** * URL for tzinfo (time zone) updates * @hide */ + @Readable public static final String TZINFO_UPDATE_CONTENT_URL = "tzinfo_content_url"; /** * URL for tzinfo (time zone) update metadata * @hide */ + @Readable public static final String TZINFO_UPDATE_METADATA_URL = "tzinfo_metadata_url"; /** * URL for selinux (mandatory access control) updates * @hide */ + @Readable public static final String SELINUX_UPDATE_CONTENT_URL = "selinux_content_url"; /** * URL for selinux (mandatory access control) update metadata * @hide */ + @Readable public static final String SELINUX_UPDATE_METADATA_URL = "selinux_metadata_url"; /** * URL for sms short code updates * @hide */ + @Readable public static final String SMS_SHORT_CODES_UPDATE_CONTENT_URL = "sms_short_codes_content_url"; @@ -12877,6 +13819,7 @@ public final class Settings { * URL for sms short code update metadata * @hide */ + @Readable public static final String SMS_SHORT_CODES_UPDATE_METADATA_URL = "sms_short_codes_metadata_url"; @@ -12884,30 +13827,35 @@ public final class Settings { * URL for apn_db updates * @hide */ + @Readable public static final String APN_DB_UPDATE_CONTENT_URL = "apn_db_content_url"; /** * URL for apn_db update metadata * @hide */ + @Readable public static final String APN_DB_UPDATE_METADATA_URL = "apn_db_metadata_url"; /** * URL for cert pinlist updates * @hide */ + @Readable public static final String CERT_PIN_UPDATE_CONTENT_URL = "cert_pin_content_url"; /** * URL for cert pinlist updates * @hide */ + @Readable public static final String CERT_PIN_UPDATE_METADATA_URL = "cert_pin_metadata_url"; /** * URL for intent firewall updates * @hide */ + @Readable public static final String INTENT_FIREWALL_UPDATE_CONTENT_URL = "intent_firewall_content_url"; @@ -12915,6 +13863,7 @@ public final class Settings { * URL for intent firewall update metadata * @hide */ + @Readable public static final String INTENT_FIREWALL_UPDATE_METADATA_URL = "intent_firewall_metadata_url"; @@ -12922,18 +13871,21 @@ public final class Settings { * URL for lang id model updates * @hide */ + @Readable public static final String LANG_ID_UPDATE_CONTENT_URL = "lang_id_content_url"; /** * URL for lang id model update metadata * @hide */ + @Readable public static final String LANG_ID_UPDATE_METADATA_URL = "lang_id_metadata_url"; /** * URL for smart selection model updates * @hide */ + @Readable public static final String SMART_SELECTION_UPDATE_CONTENT_URL = "smart_selection_content_url"; @@ -12941,6 +13893,7 @@ public final class Settings { * URL for smart selection model update metadata * @hide */ + @Readable public static final String SMART_SELECTION_UPDATE_METADATA_URL = "smart_selection_metadata_url"; @@ -12948,6 +13901,7 @@ public final class Settings { * URL for conversation actions model updates * @hide */ + @Readable public static final String CONVERSATION_ACTIONS_UPDATE_CONTENT_URL = "conversation_actions_content_url"; @@ -12955,6 +13909,7 @@ public final class Settings { * URL for conversation actions model update metadata * @hide */ + @Readable public static final String CONVERSATION_ACTIONS_UPDATE_METADATA_URL = "conversation_actions_metadata_url"; @@ -12962,12 +13917,14 @@ public final class Settings { * SELinux enforcement status. If 0, permissive; if 1, enforcing. * @hide */ + @Readable public static final String SELINUX_STATUS = "selinux_status"; /** * Developer setting to force RTL layout. * @hide */ + @Readable public static final String DEVELOPMENT_FORCE_RTL = "debug.force_rtl"; /** @@ -12978,6 +13935,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOW_BATTERY_SOUND_TIMEOUT = "low_battery_sound_timeout"; /** @@ -12987,6 +13945,7 @@ public final class Settings { * * @hide */ + @Readable public static final String WIFI_BOUNCE_DELAY_OVERRIDE_MS = "wifi_bounce_delay_override_ms"; /** @@ -12996,6 +13955,7 @@ public final class Settings { * * @hide */ + @Readable public static final String POLICY_CONTROL = "policy_control"; /** @@ -13003,6 +13963,7 @@ public final class Settings { * * @hide */ + @Readable public static final String EMULATE_DISPLAY_CUTOUT = "emulate_display_cutout"; /** @hide */ public static final int EMULATE_DISPLAY_CUTOUT_OFF = 0; @@ -13013,6 +13974,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BLOCKED_SLICES = "blocked_slices"; /** @@ -13022,6 +13984,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String ZEN_MODE = "zen_mode"; /** @hide */ @@ -13061,6 +14024,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ZEN_MODE_RINGER_LEVEL = "zen_mode_ringer_level"; /** @@ -13069,6 +14033,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String ZEN_MODE_CONFIG_ETAG = "zen_mode_config_etag"; /** @@ -13098,6 +14063,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) + @Readable public static final String HEADS_UP_NOTIFICATIONS_ENABLED = "heads_up_notifications_enabled"; @@ -13111,6 +14077,7 @@ public final class Settings { /** * The name of the device */ + @Readable public static final String DEVICE_NAME = "device_name"; /** @@ -13119,6 +14086,7 @@ public final class Settings { * Type: int (0 for false, 1 for true) * @hide */ + @Readable public static final String NETWORK_SCORING_PROVISIONED = "network_scoring_provisioned"; /** @@ -13130,6 +14098,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt"; /** @@ -13143,6 +14112,7 @@ public final class Settings { * {@link android.provider.Telephony.SimInfo#COLUMN_ENHANCED_4G_MODE_ENABLED} instead. */ @Deprecated + @Readable public static final String ENHANCED_4G_MODE_ENABLED = Telephony.SimInfo.COLUMN_ENHANCED_4G_MODE_ENABLED; @@ -13155,6 +14125,7 @@ public final class Settings { * @deprecated Use {@link android.provider.Telephony.SimInfo#COLUMN_VT_IMS_ENABLED} instead. */ @Deprecated + @Readable public static final String VT_IMS_ENABLED = Telephony.SimInfo.COLUMN_VT_IMS_ENABLED; /** @@ -13167,6 +14138,7 @@ public final class Settings { * {@link android.provider.Telephony.SimInfo#COLUMN_WFC_IMS_ENABLED} instead. */ @Deprecated + @Readable public static final String WFC_IMS_ENABLED = Telephony.SimInfo.COLUMN_WFC_IMS_ENABLED; /** @@ -13178,6 +14150,7 @@ public final class Settings { * @deprecated Use {@link android.provider.Telephony.SimInfo#COLUMN_WFC_IMS_MODE} instead. */ @Deprecated + @Readable public static final String WFC_IMS_MODE = Telephony.SimInfo.COLUMN_WFC_IMS_MODE; /** @@ -13190,6 +14163,7 @@ public final class Settings { * instead. */ @Deprecated + @Readable public static final String WFC_IMS_ROAMING_MODE = Telephony.SimInfo.COLUMN_WFC_IMS_ROAMING_MODE; @@ -13203,6 +14177,7 @@ public final class Settings { * instead */ @Deprecated + @Readable public static final String WFC_IMS_ROAMING_ENABLED = Telephony.SimInfo.COLUMN_WFC_IMS_ROAMING_ENABLED; @@ -13213,6 +14188,7 @@ public final class Settings { * Type: int (0 for false, 1 for true) * @hide */ + @Readable public static final String LTE_SERVICE_FORCED = "lte_service_forced"; @@ -13222,6 +14198,7 @@ public final class Settings { * See WindowManagerPolicy.WindowManagerFuncs * @hide */ + @Readable public static final String LID_BEHAVIOR = "lid_behavior"; /** @@ -13230,6 +14207,7 @@ public final class Settings { * Type: int * @hide */ + @Readable public static final String EPHEMERAL_COOKIE_MAX_SIZE_BYTES = "ephemeral_cookie_max_size_bytes"; @@ -13241,6 +14219,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ENABLE_EPHEMERAL_FEATURE = "enable_ephemeral_feature"; /** @@ -13251,6 +14230,7 @@ public final class Settings { * * @hide */ + @Readable public static final String INSTANT_APP_DEXOPT_ENABLED = "instant_app_dexopt_enabled"; /** @@ -13259,6 +14239,7 @@ public final class Settings { * Type: long * @hide */ + @Readable public static final String INSTALLED_INSTANT_APP_MIN_CACHE_PERIOD = "installed_instant_app_min_cache_period"; @@ -13268,6 +14249,7 @@ public final class Settings { * Type: long * @hide */ + @Readable public static final String INSTALLED_INSTANT_APP_MAX_CACHE_PERIOD = "installed_instant_app_max_cache_period"; @@ -13277,6 +14259,7 @@ public final class Settings { * Type: long * @hide */ + @Readable public static final String UNINSTALLED_INSTANT_APP_MIN_CACHE_PERIOD = "uninstalled_instant_app_min_cache_period"; @@ -13286,6 +14269,7 @@ public final class Settings { * Type: long * @hide */ + @Readable public static final String UNINSTALLED_INSTANT_APP_MAX_CACHE_PERIOD = "uninstalled_instant_app_max_cache_period"; @@ -13295,6 +14279,7 @@ public final class Settings { * Type: long * @hide */ + @Readable public static final String UNUSED_STATIC_SHARED_LIB_MIN_CACHE_PERIOD = "unused_static_shared_lib_min_cache_period"; @@ -13304,6 +14289,7 @@ public final class Settings { * Type: int * @hide */ + @Readable public static final String ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED = "allow_user_switching_when_system_user_locked"; @@ -13312,6 +14298,7 @@ public final class Settings { * <p> * Type: int */ + @Readable public static final String BOOT_COUNT = "boot_count"; /** @@ -13322,6 +14309,7 @@ public final class Settings { * before the user restrictions are loaded. * @hide */ + @Readable public static final String SAFE_BOOT_DISALLOWED = "safe_boot_disallowed"; /** @@ -13333,6 +14321,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String DEVICE_DEMO_MODE = "device_demo_mode"; /** @@ -13342,6 +14331,7 @@ public final class Settings { * * @hide */ + @Readable public static final String NETWORK_ACCESS_TIMEOUT_MS = "network_access_timeout_ms"; /** @@ -13352,6 +14342,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DATABASE_DOWNGRADE_REASON = "database_downgrade_reason"; /** @@ -13362,6 +14353,7 @@ public final class Settings { * * @hide */ + @Readable public static final String DATABASE_CREATION_BUILDID = "database_creation_buildid"; /** @@ -13370,6 +14362,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CONTACTS_DATABASE_WAL_ENABLED = "contacts_database_wal_enabled"; /** @@ -13377,6 +14370,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOCATION_SETTINGS_LINK_TO_PERMISSIONS_ENABLED = "location_settings_link_to_permissions_enabled"; @@ -13387,6 +14381,7 @@ public final class Settings { * * @hide */ + @Readable public static final String EUICC_REMOVING_INVISIBLE_PROFILES_TIMEOUT_MILLIS = "euicc_removing_invisible_profiles_timeout_millis"; @@ -13396,6 +14391,7 @@ public final class Settings { * * @hide */ + @Readable public static final String EUICC_FACTORY_RESET_TIMEOUT_MILLIS = "euicc_factory_reset_timeout_millis"; @@ -13405,6 +14401,7 @@ public final class Settings { * * @hide */ + @Readable public static final String EUICC_SWITCH_SLOT_TIMEOUT_MILLIS = "euicc_switch_slot_timeout_millis"; @@ -13414,6 +14411,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ENABLE_MULTI_SLOT_TIMEOUT_MILLIS = "enable_multi_slot_timeout_millis"; @@ -13423,6 +14421,7 @@ public final class Settings { * * @hide */ + @Readable public static final String STORAGE_SETTINGS_CLOBBER_THRESHOLD = "storage_settings_clobber_threshold"; @@ -13432,6 +14431,7 @@ public final class Settings { * * @hide */ + @Readable public static final String OVERRIDE_SETTINGS_PROVIDER_RESTORE_ANY_VERSION = "override_settings_provider_restore_any_version"; /** @@ -13442,6 +14442,7 @@ public final class Settings { * * @hide */ + @Readable public static final String CHAINED_BATTERY_ATTRIBUTION_ENABLED = "chained_battery_attribution_enabled"; @@ -13454,6 +14455,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ENABLE_ADB_INCREMENTAL_INSTALL_DEFAULT = "enable_adb_incremental_install_default"; @@ -13471,6 +14473,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages"; @@ -13484,6 +14487,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOFILL_LOGGING_LEVEL = "autofill_logging_level"; /** @@ -13491,6 +14495,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOFILL_MAX_PARTITIONS_SIZE = "autofill_max_partitions_size"; /** @@ -13499,6 +14504,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTOFILL_MAX_VISIBLE_DATASETS = "autofill_max_visible_datasets"; /** @@ -13507,6 +14513,7 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String HIDDEN_API_BLACKLIST_EXEMPTIONS = "hidden_api_blacklist_exemptions"; @@ -13519,14 +14526,16 @@ public final class Settings { * @hide */ @TestApi + @Readable public static final String HIDDEN_API_POLICY = "hidden_api_policy"; - /** + /** * Flag for forcing {@link com.android.server.compat.OverrideValidatorImpl} * to consider this a non-debuggable build. * * @hide */ + @Readable public static final String FORCE_NON_DEBUGGABLE_FINAL_BUILD_FOR_COMPAT = "force_non_debuggable_final_build_for_compat"; @@ -13536,6 +14545,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SIGNED_CONFIG_VERSION = "signed_config_version"; /** @@ -13544,6 +14554,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SOUND_TRIGGER_DETECTION_SERVICE_OP_TIMEOUT = "sound_trigger_detection_service_op_timeout"; @@ -13553,6 +14564,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MAX_SOUND_TRIGGER_DETECTION_SERVICE_OPS_PER_DAY = "max_sound_trigger_detection_service_ops_per_day"; @@ -13560,6 +14572,7 @@ public final class Settings { * Indicates whether aware is available in the current location. * @hide */ + @Readable public static final String AWARE_ALLOWED = "aware_allowed"; /** @@ -13568,6 +14581,7 @@ public final class Settings { * Used by PhoneWindowManager. * @hide */ + @Readable public static final String POWER_BUTTON_LONG_PRESS = "power_button_long_press"; @@ -13577,6 +14591,7 @@ public final class Settings { * Used by PhoneWindowManager. * @hide */ + @Readable public static final String POWER_BUTTON_VERY_LONG_PRESS = "power_button_very_long_press"; @@ -13602,7 +14617,8 @@ public final class Settings { CONTENT_URI, CALL_METHOD_GET_GLOBAL, CALL_METHOD_PUT_GLOBAL, - sProviderHolder); + sProviderHolder, + Global.class); // Certain settings have been moved from global to the per-user secure namespace @UnsupportedAppUsage @@ -13631,6 +14647,11 @@ public final class Settings { sNameValueCache.clearGenerationTrackerForTest(); } + /** @hide */ + public static void getPublicSettings(Set<String> allKeys, Set<String> readableKeys) { + getPublicSettingsForClass(Global.class, allKeys, readableKeys); + } + /** * Look up a name in the database. * @param resolver to access the database with @@ -14040,6 +15061,7 @@ public final class Settings { * Subscription Id to be used for voice call on a multi sim device. * @hide */ + @Readable public static final String MULTI_SIM_VOICE_CALL_SUBSCRIPTION = "multi_sim_voice_call"; /** @@ -14048,18 +15070,21 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String MULTI_SIM_VOICE_PROMPT = "multi_sim_voice_prompt"; /** * Subscription Id to be used for data call on a multi sim device. * @hide */ + @Readable public static final String MULTI_SIM_DATA_CALL_SUBSCRIPTION = "multi_sim_data_call"; /** * Subscription Id to be used for SMS on a multi sim device. * @hide */ + @Readable public static final String MULTI_SIM_SMS_SUBSCRIPTION = "multi_sim_sms"; /** @@ -14067,6 +15092,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String MULTI_SIM_SMS_PROMPT = "multi_sim_sms_prompt"; /** User preferred subscriptions setting. @@ -14076,6 +15102,7 @@ public final class Settings { * @hide */ @UnsupportedAppUsage + @Readable public static final String[] MULTI_SIM_USER_PREFERRED_SUBS = {"user_preferred_sub1", "user_preferred_sub2","user_preferred_sub3"}; @@ -14083,6 +15110,7 @@ public final class Settings { * Which subscription is enabled for a physical slot. * @hide */ + @Readable public static final String ENABLED_SUBSCRIPTION_FOR_SLOT = "enabled_subscription_for_slot"; /** @@ -14090,6 +15118,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String MODEM_STACK_ENABLED_FOR_SLOT = "modem_stack_enabled_for_slot"; /** @@ -14097,6 +15126,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String NEW_CONTACT_AGGREGATOR = "new_contact_aggregator"; /** @@ -14106,12 +15136,14 @@ public final class Settings { * @removed */ @Deprecated + @Readable public static final String CONTACT_METADATA_SYNC = "contact_metadata_sync"; /** * Whether to enable contacts metadata syncing or not * The value 1 - enable, 0 - disable */ + @Readable public static final String CONTACT_METADATA_SYNC_ENABLED = "contact_metadata_sync_enabled"; /** @@ -14119,6 +15151,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String ENABLE_CELLULAR_ON_BOOT = "enable_cellular_on_boot"; /** @@ -14127,6 +15160,7 @@ public final class Settings { * Should be a float, and includes updates only. * @hide */ + @Readable public static final String MAX_NOTIFICATION_ENQUEUE_RATE = "max_notification_enqueue_rate"; /** @@ -14135,6 +15169,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String SHOW_NOTIFICATION_CHANNEL_WARNINGS = "show_notification_channel_warnings"; @@ -14142,6 +15177,7 @@ public final class Settings { * Whether cell is enabled/disabled * @hide */ + @Readable public static final String CELL_ON = "cell_on"; /** @@ -14170,30 +15206,35 @@ public final class Settings { * Whether to show the high temperature warning notification. * @hide */ + @Readable public static final String SHOW_TEMPERATURE_WARNING = "show_temperature_warning"; /** * Whether to show the usb high temperature alarm notification. * @hide */ + @Readable public static final String SHOW_USB_TEMPERATURE_ALARM = "show_usb_temperature_alarm"; /** * Temperature at which the high temperature warning notification should be shown. * @hide */ + @Readable public static final String WARNING_TEMPERATURE = "warning_temperature"; /** * Whether the diskstats logging task is enabled/disabled. * @hide */ + @Readable public static final String ENABLE_DISKSTATS_LOGGING = "enable_diskstats_logging"; /** * Whether the cache quota calculation task is enabled/disabled. * @hide */ + @Readable public static final String ENABLE_CACHE_QUOTA_CALCULATION = "enable_cache_quota_calculation"; @@ -14201,6 +15242,7 @@ public final class Settings { * Whether the Deletion Helper no threshold toggle is available. * @hide */ + @Readable public static final String ENABLE_DELETION_HELPER_NO_THRESHOLD_TOGGLE = "enable_deletion_helper_no_threshold_toggle"; @@ -14221,6 +15263,7 @@ public final class Settings { * Options will be used in order up to the maximum allowed by the UI. * @hide */ + @Readable public static final String NOTIFICATION_SNOOZE_OPTIONS = "notification_snooze_options"; @@ -14232,6 +15275,7 @@ public final class Settings { * The value 1 - enable, 0 - disable * @hide */ + @Readable public static final String NOTIFICATION_FEEDBACK_ENABLED = "notification_feedback_enabled"; /** @@ -14243,6 +15287,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BLOCKING_HELPER_DISMISS_TO_VIEW_RATIO_LIMIT = "blocking_helper_dismiss_to_view_ratio"; @@ -14254,6 +15299,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BLOCKING_HELPER_STREAK_LIMIT = "blocking_helper_streak_limit"; /** @@ -14281,6 +15327,7 @@ public final class Settings { * * @hide */ + @Readable public static final String SQLITE_COMPATIBILITY_WAL_FLAGS = "sqlite_compatibility_wal_flags"; @@ -14290,6 +15337,7 @@ public final class Settings { * 1 = yes * @hide */ + @Readable public static final String ENABLE_GNSS_RAW_MEAS_FULL_TRACKING = "enable_gnss_raw_meas_full_tracking"; @@ -14301,6 +15349,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent"; @@ -14312,6 +15361,7 @@ public final class Settings { * @hide */ @SystemApi + @Readable public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis"; @@ -14321,6 +15371,7 @@ public final class Settings { * everything else is unspecified. * @hide */ + @Readable public static final String ZRAM_ENABLED = "zram_enabled"; @@ -14330,6 +15381,7 @@ public final class Settings { * "device_default" will let the system decide whether to enable the freezer or not * @hide */ + @Readable public static final String CACHED_APPS_FREEZER_ENABLED = "cached_apps_freezer"; /** @@ -14352,6 +15404,7 @@ public final class Settings { * @see com.android.systemui.statusbar.policy.SmartReplyConstants * @hide */ + @Readable public static final String SMART_REPLIES_IN_NOTIFICATIONS_FLAGS = "smart_replies_in_notifications_flags"; @@ -14368,6 +15421,7 @@ public final class Settings { * </pre> * @hide */ + @Readable public static final String SMART_SUGGESTIONS_IN_NOTIFICATIONS_FLAGS = "smart_suggestions_in_notifications_flags"; @@ -14377,6 +15431,7 @@ public final class Settings { * @hide */ @TestApi + @Readable @SuppressLint("NoSettingsProvider") public static final String SHOW_FIRST_CRASH_DIALOG = "show_first_crash_dialog"; @@ -14384,6 +15439,7 @@ public final class Settings { * If nonzero, crash dialogs will show an option to restart the app. * @hide */ + @Readable public static final String SHOW_RESTART_IN_CRASH_DIALOG = "show_restart_in_crash_dialog"; /** @@ -14391,6 +15447,7 @@ public final class Settings { * this app. * @hide */ + @Readable public static final String SHOW_MUTE_IN_CRASH_DIALOG = "show_mute_in_crash_dialog"; @@ -14446,6 +15503,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BACKUP_AGENT_TIMEOUT_PARAMETERS = "backup_agent_timeout_parameters"; @@ -14460,6 +15518,7 @@ public final class Settings { * * @hide */ + @Readable public static final String GNSS_SATELLITE_BLOCKLIST = "gnss_satellite_blocklist"; /** @@ -14471,6 +15530,7 @@ public final class Settings { * * @hide */ + @Readable public static final String GNSS_HAL_LOCATION_REQUEST_DURATION_MILLIS = "gnss_hal_location_request_duration_millis"; @@ -14487,6 +15547,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BINDER_CALLS_STATS = "binder_calls_stats"; /** @@ -14500,6 +15561,7 @@ public final class Settings { * * @hide */ + @Readable public static final String LOOPER_STATS = "looper_stats"; /** @@ -14514,6 +15576,7 @@ public final class Settings { * * @hide */ + @Readable public static final String KERNEL_CPU_THREAD_READER = "kernel_cpu_thread_reader"; /** @@ -14521,6 +15584,7 @@ public final class Settings { * reboot. The value "1" enables native flags health check; otherwise it's disabled. * @hide */ + @Readable public static final String NATIVE_FLAGS_HEALTH_CHECK_ENABLED = "native_flags_health_check_enabled"; @@ -14530,6 +15594,7 @@ public final class Settings { * * @hide */ + @Readable public static final String APPOP_HISTORY_MODE = "mode"; /** @@ -14539,6 +15604,7 @@ public final class Settings { * * @hide */ + @Readable public static final String APPOP_HISTORY_BASE_INTERVAL_MILLIS = "baseIntervalMillis"; /** @@ -14547,6 +15613,7 @@ public final class Settings { * * @hide */ + @Readable public static final String APPOP_HISTORY_INTERVAL_MULTIPLIER = "intervalMultiplier"; /** @@ -14568,6 +15635,7 @@ public final class Settings { * * @hide */ + @Readable public static final String APPOP_HISTORY_PARAMETERS = "appop_history_parameters"; @@ -14585,6 +15653,7 @@ public final class Settings { * * @hide */ + @Readable public static final String AUTO_REVOKE_PARAMETERS = "auto_revoke_parameters"; @@ -14596,6 +15665,7 @@ public final class Settings { * @see com.android.internal.os.BatteryStatsImpl.Constants.KEY_BATTERY_CHARGED_DELAY_MS * @hide */ + @Readable public static final String BATTERY_CHARGING_STATE_UPDATE_DELAY = "battery_charging_state_update_delay"; @@ -14604,6 +15674,7 @@ public final class Settings { * * @hide */ + @Readable public static final String TEXT_CLASSIFIER_ACTION_MODEL_PARAMS = "text_classifier_action_model_params"; @@ -14617,6 +15688,7 @@ public final class Settings { * * @hide */ + @Readable public static final String POWER_BUTTON_SUPPRESSION_DELAY_AFTER_GESTURE_WAKE = "power_button_suppression_delay_after_gesture_wake"; @@ -14625,6 +15697,7 @@ public final class Settings { * * @hide */ + @Readable public static final String ADVANCED_BATTERY_USAGE_AMOUNT = "advanced_battery_usage_amount"; /** @@ -14639,6 +15712,7 @@ public final class Settings { * 2: always on - All 5G NSA tracking indications are on whether the screen is on or off. * @hide */ + @Readable public static final String NR_NSA_TRACKING_SCREEN_OFF_MODE = "nr_nsa_tracking_screen_off_mode"; @@ -14649,6 +15723,7 @@ public final class Settings { * 1: Enabled * @hide */ + @Readable public static final String SHOW_PEOPLE_SPACE = "show_people_space"; /** @@ -14659,6 +15734,7 @@ public final class Settings { * 2: All conversations * @hide */ + @Readable public static final String PEOPLE_SPACE_CONVERSATION_TYPE = "people_space_conversation_type"; @@ -14669,6 +15745,7 @@ public final class Settings { * 1: Enabled * @hide */ + @Readable public static final String SHOW_NEW_NOTIF_DISMISS = "show_new_notif_dismiss"; /** @@ -14683,6 +15760,7 @@ public final class Settings { * 1: Enabled (All apps will receive the new rules) * @hide */ + @Readable public static final String BACKPORT_S_NOTIF_RULES = "backport_s_notif_rules"; /** @@ -14697,6 +15775,7 @@ public final class Settings { * <p>See {@link android.app.Notification.DevFlags} for more details. * @hide */ + @Readable public static final String FULLY_CUSTOM_VIEW_NOTIF_DECORATION = "fully_custom_view_notif_decoration"; @@ -14710,6 +15789,7 @@ public final class Settings { * <p>See {@link android.app.Notification.DevFlags} for more details. * @hide */ + @Readable public static final String DECORATED_CUSTOM_VIEW_NOTIF_DECORATION = "decorated_custom_view_notif_decoration"; @@ -14726,6 +15806,7 @@ public final class Settings { * * @hide */ + @Readable public static final String BLOCK_UNTRUSTED_TOUCHES_MODE = "block_untrusted_touches"; /** @@ -14751,6 +15832,7 @@ public final class Settings { * * @hide */ + @Readable public static final String MAXIMUM_OBSCURING_OPACITY_FOR_TOUCH = "maximum_obscuring_opacity_for_touch"; @@ -14763,6 +15845,7 @@ public final class Settings { * 1: enabled * @hide */ + @Readable public static final String RESTRICTED_NETWORKING_MODE = "restricted_networking_mode"; } @@ -14784,7 +15867,8 @@ public final class Settings { CALL_METHOD_PUT_CONFIG, CALL_METHOD_LIST_CONFIG, CALL_METHOD_SET_ALL_CONFIG, - sProviderHolder); + sProviderHolder, + Config.class); /** * Look up a name in the database. diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index c7790fd3ace7..a1fd7eefaf9a 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -297,6 +297,24 @@ public class SettingsProvider extends ContentProvider { Settings.System.getCloneFromParentOnValueSettings(sSystemCloneFromParentOnDependency); } + private static final Set<String> sAllSecureSettings = new ArraySet<>(); + private static final Set<String> sReadableSecureSettings = new ArraySet<>(); + static { + Settings.Secure.getPublicSettings(sAllSecureSettings, sReadableSecureSettings); + } + + private static final Set<String> sAllSystemSettings = new ArraySet<>(); + private static final Set<String> sReadableSystemSettings = new ArraySet<>(); + static { + Settings.System.getPublicSettings(sAllSystemSettings, sReadableSystemSettings); + } + + private static final Set<String> sAllGlobalSettings = new ArraySet<>(); + private static final Set<String> sReadableGlobalSettings = new ArraySet<>(); + static { + Settings.Global.getPublicSettings(sAllGlobalSettings, sReadableGlobalSettings); + } + private final Object mLock = new Object(); @GuardedBy("mLock") @@ -1919,6 +1937,7 @@ public class SettingsProvider extends ContentProvider { if (UserHandle.getAppId(Binder.getCallingUid()) < Process.FIRST_APPLICATION_UID) { return; } + checkReadableAnnotation(settingsType, settingName); ApplicationInfo ai = getCallingApplicationInfoOrThrow(); if (!ai.isInstantApp()) { return; @@ -1932,6 +1951,41 @@ public class SettingsProvider extends ContentProvider { } } + /** + * Check if the target settings key is readable. Reject if the caller app is trying to access a + * settings key defined in the Settings.Secure, Settings.System or Settings.Global and is not + * annotated as @Readable. + * Notice that a key string that is not defined in any of the Settings.* classes will still be + * regarded as readable. + */ + private void checkReadableAnnotation(int settingsType, String settingName) { + final Set<String> allFields; + final Set<String> readableFields; + switch (settingsType) { + case SETTINGS_TYPE_GLOBAL: + allFields = sAllGlobalSettings; + readableFields = sReadableGlobalSettings; + break; + case SETTINGS_TYPE_SYSTEM: + allFields = sAllSystemSettings; + readableFields = sReadableSystemSettings; + break; + case SETTINGS_TYPE_SECURE: + allFields = sAllSecureSettings; + readableFields = sReadableSecureSettings; + break; + default: + throw new IllegalArgumentException("Invalid settings type: " + settingsType); + } + + if (allFields.contains(settingName) && !readableFields.contains(settingName)) { + throw new SecurityException( + "Settings key: <" + settingName + "> is not readable. From S+, new public " + + "settings keys need to be annotated with @Readable unless they are " + + "annotated with @hide."); + } + } + private ApplicationInfo getCallingApplicationInfoOrThrow() { // We always use the callingUid for this lookup. This means that if hypothetically an // app was installed in user A with cross user and in user B as an Instant App |