1/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18package android.providers.settings;
19
20option java_multiple_files = true;
21
22import "frameworks/base/core/proto/android/providers/settings/common.proto";
23import "frameworks/base/core/proto/android/privacy.proto";
24
25// Note: it's a conscious decision to add each setting as a separate field. This
26// allows annotating each setting with its own privacy tag.
27message GlobalSettingsProto {
28    option (android.msg_privacy).dest = DEST_EXPLICIT;
29
30    repeated SettingsOperationProto historical_operations = 1;
31
32    // These are key=value lists, separated by commas.
33    optional SettingProto activity_manager_constants = 2;
34    optional SettingProto adb_enabled = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
35    optional SettingProto add_users_when_locked = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
36
37    message AirplaneMode {
38        option (android.msg_privacy).dest = DEST_EXPLICIT;
39
40        // "airplane_mode_on" in code.
41        optional SettingProto on = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
42        // A comma-separated list of radios that need to be disabled when airplane
43        // mode is on. This overrides wifi_on and bluetooth_on if wifi and bluetooth
44        // are included in the comma-separated list.
45        optional SettingProto radios = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
46        optional SettingProto toggleable_radios = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
47    }
48    optional AirplaneMode airplane_mode = 5;
49
50    optional SettingProto alarm_manager_constants = 6;
51    optional SettingProto allow_user_switching_when_system_user_locked = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
52    // This is a key=value list, separated by commas.
53    optional SettingProto always_on_display_constants = 8;
54    optional SettingProto always_finish_activities = 9 [ (android.privacy).dest = DEST_AUTOMATIC ];
55    optional SettingProto animator_duration_scale = 10 [ (android.privacy).dest = DEST_AUTOMATIC ];
56
57    message Anomaly {
58        option (android.msg_privacy).dest = DEST_EXPLICIT;
59
60        // "anomaly_detection_constants" in code.
61        optional SettingProto detection_constants = 1;
62        // Version of the anomaly config.
63        optional SettingProto config_version = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
64        // A base64-encoded string represents anomaly stats config.
65        optional SettingProto config = 3;
66    }
67    optional Anomaly anomaly = 11;
68
69    message ApnDb {
70        option (android.msg_privacy).dest = DEST_EXPLICIT;
71
72        optional SettingProto update_content_url = 1;
73        optional SettingProto update_metadata_url = 2;
74    }
75    optional ApnDb apn_db = 12;
76
77    message App {
78        option (android.msg_privacy).dest = DEST_EXPLICIT;
79
80        // These are key=value lists, separated by commas.
81        optional SettingProto idle_constants = 1;
82        optional SettingProto standby_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
83        optional SettingProto auto_restriction_enabled = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
84        optional SettingProto forced_app_standby_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
85        optional SettingProto forced_app_standby_for_small_battery_enabled = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
86    }
87    optional App app = 13;
88
89    optional SettingProto assisted_gps_enabled = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
90    optional SettingProto audio_safe_volume_state = 15 [ (android.privacy).dest = DEST_AUTOMATIC ];
91
92    message Auto {
93        option (android.msg_privacy).dest = DEST_EXPLICIT;
94
95        optional SettingProto time = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
96        optional SettingProto time_zone = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
97    }
98    optional Auto auto = 16;
99
100    reserved 17; // Used to be autofill_compat_mode_allowed_packages
101
102    message Autofill {
103      option (android.msg_privacy).dest = DEST_EXPLICIT;
104
105      optional SettingProto compat_mode_allowed_packages = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
106      optional SettingProto logging_level = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
107      optional SettingProto max_partitions_size = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
108      optional SettingProto max_visible_datasets = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
109    }
110    optional Autofill autofill = 140;
111
112    reserved 18; // Used to be backup_agent_timeout_parameters
113
114    message Backup {
115        option (android.msg_privacy).dest = DEST_EXPLICIT;
116
117        optional SettingProto backup_agent_timeout_parameters = 1;
118        optional SettingProto backup_multi_user_enabled = 2;
119    }
120    optional Backup backup = 146;
121
122    message Battery {
123        option (android.msg_privacy).dest = DEST_EXPLICIT;
124
125        optional SettingProto discharge_duration_threshold = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
126        optional SettingProto discharge_threshold = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
127        optional SettingProto saver_constants = 3;
128        optional SettingProto saver_device_specific_constants = 4;
129        optional SettingProto stats_constants = 5;
130        optional SettingProto tip_constants = 6;
131    }
132    optional Battery battery = 19;
133
134    message BleScan {
135        option (android.msg_privacy).dest = DEST_EXPLICIT;
136
137        optional SettingProto always_available = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
138        optional SettingProto low_power_window_ms = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
139        optional SettingProto balanced_window_ms = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
140        optional SettingProto low_latency_window_ms = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
141        optional SettingProto low_power_interval_ms = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
142        optional SettingProto balanced_interval_ms = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
143        optional SettingProto low_latency_interval_ms = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
144        optional SettingProto background_mode = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
145    }
146    optional BleScan ble_scan = 20;
147
148    message Bluetooth {
149        option (android.msg_privacy).dest = DEST_EXPLICIT;
150
151        optional SettingProto class_of_device = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
152        optional SettingProto disabled_profiles = 2;
153        optional SettingProto interoperability_list = 3;
154        optional SettingProto on = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
155        repeated SettingProto headset_priorities = 5;
156        repeated SettingProto a2dp_sink_priorities = 6;
157        repeated SettingProto a2dp_src_priorities = 7;
158        repeated SettingProto a2dp_supports_optional_codecs = 8;
159        repeated SettingProto a2dp_optional_codecs_enabled = 9;
160        repeated SettingProto input_device_priorities = 10;
161        repeated SettingProto map_priorities = 11;
162        repeated SettingProto map_client_priorities = 12;
163        repeated SettingProto pbap_client_priorities = 13;
164        repeated SettingProto sap_priorities = 14;
165        repeated SettingProto pan_priorities = 15;
166        repeated SettingProto hearing_aid_priorities = 16;
167    }
168    optional Bluetooth bluetooth = 21;
169
170    optional SettingProto boot_count = 22 [ (android.privacy).dest = DEST_AUTOMATIC ];
171    optional SettingProto bugreport_in_power_menu = 23 [ (android.privacy).dest = DEST_AUTOMATIC ];
172    optional SettingProto call_auto_retry = 24 [ (android.privacy).dest = DEST_AUTOMATIC ];
173
174    message CaptivePortal {
175        option (android.msg_privacy).dest = DEST_EXPLICIT;
176
177        optional SettingProto mode = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
178        optional SettingProto detection_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
179        optional SettingProto server = 3;
180        optional SettingProto https_url = 4;
181        optional SettingProto http_url = 5;
182        optional SettingProto fallback_url = 6;
183        optional SettingProto other_fallback_urls = 7;
184        optional SettingProto use_https = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
185        optional SettingProto user_agent = 9;
186    }
187    optional CaptivePortal captive_portal = 25;
188
189    message Carrier {
190        option (android.msg_privacy).dest = DEST_EXPLICIT;
191
192        // List of carrier app certificate mapped to carrier app package id which are whitelisted to
193        // prompt the user for install when a SIM card with matching UICC carrier privilege rules is
194        // inserted.
195        optional SettingProto app_whitelist = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
196        optional SettingProto app_names = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
197        optional SettingProto install_carrier_app_notification_persistent = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
198        optional SettingProto install_carrier_app_notification_sleep_millis = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
199    }
200    optional Carrier carrier = 26;
201
202    message Cdma {
203        option (android.msg_privacy).dest = DEST_EXPLICIT;
204
205        optional SettingProto cell_broadcast_sms = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
206        optional SettingProto roaming_mode = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
207        optional SettingProto subscription_mode = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
208    }
209    optional Cdma cdma = 27;
210
211    optional SettingProto cell_on = 28 [ (android.privacy).dest = DEST_AUTOMATIC ];
212
213    message CertPin {
214        option (android.msg_privacy).dest = DEST_EXPLICIT;
215
216        optional SettingProto update_content_url = 1;
217        optional SettingProto update_metadata_url = 2;
218    }
219    optional CertPin cert_pin = 29;
220
221    optional SettingProto chained_battery_attribution_enabled = 30 [ (android.privacy).dest = DEST_AUTOMATIC ];
222    optional SettingProto compatibility_mode = 31 [ (android.privacy).dest = DEST_AUTOMATIC ];
223
224    message Connectivity {
225        option (android.msg_privacy).dest = DEST_EXPLICIT;
226
227        optional SettingProto metrics_buffer_size = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
228        optional SettingProto change_delay = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
229        optional SettingProto sampling_interval_in_seconds = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
230    }
231    optional Connectivity connectivity = 32;
232
233    optional SettingProto contact_metadata_sync_enabled = 33 [ (android.privacy).dest = DEST_AUTOMATIC ];
234    optional SettingProto contacts_database_wal_enabled = 34 [ (android.privacy).dest = DEST_AUTOMATIC ];
235
236    message Data {
237        option (android.msg_privacy).dest = DEST_EXPLICIT;
238
239        optional SettingProto activity_timeout_mobile = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
240        optional SettingProto activity_timeout_wifi = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
241        optional SettingProto roaming = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
242        optional SettingProto stall_alarm_non_aggressive_delay_in_ms = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
243        optional SettingProto stall_alarm_aggressive_delay_in_ms = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
244    }
245    optional Data data = 35;
246
247    message Database {
248        option (android.msg_privacy).dest = DEST_EXPLICIT;
249
250        optional SettingProto downgrade_reason = 1;
251        optional SettingProto creation_buildid = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
252    }
253    optional Database database = 36;
254
255    message Debug {
256        option (android.msg_privacy).dest = DEST_EXPLICIT;
257
258        // Name of an application package to be debugged.
259        optional SettingProto app = 1;
260        // Whether views are allowed to save their attribute data.
261        optional SettingProto view_attributes = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
262        // Which application package is allowed to save view attribute data.
263        optional SettingProto view_attributes_application_package = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
264    }
265    optional Debug debug = 37;
266
267    message Default {
268        option (android.msg_privacy).dest = DEST_EXPLICIT;
269
270        optional SettingProto install_location = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
271        optional SettingProto dns_server = 2;
272    }
273    optional Default default = 38;
274
275    message Development {
276        option (android.msg_privacy).dest = DEST_EXPLICIT;
277
278        optional SettingProto settings_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
279        optional SettingProto force_resizable_activities = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
280        optional SettingProto enable_freeform_windows_support = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
281        optional SettingProto force_rtl = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
282        optional SettingProto emulate_display_cutout = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
283        optional SettingProto force_desktop_mode_on_external_displays = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
284    }
285    optional Development development = 39;
286
287    message Device {
288        option (android.msg_privacy).dest = DEST_EXPLICIT;
289
290        optional SettingProto name = 1;
291        optional SettingProto provisioned = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
292        optional SettingProto provisioning_mobile_data_enabled = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
293        optional SettingProto idle_constants = 4;
294        optional SettingProto policy_constants = 5;
295        optional SettingProto demo_mode = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
296    }
297    optional Device device = 40;
298
299    optional SettingProto disk_free_change_reporting_threshold = 41 [ (android.privacy).dest = DEST_AUTOMATIC ];
300
301    message Display {
302        option (android.msg_privacy).dest = DEST_EXPLICIT;
303
304        optional SettingProto size_forced = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
305        optional SettingProto scaling_force = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
306        // Flag to enable or disable display panel low power mode (lpm)
307        // false -> Display panel power saving mode is disabled.
308        // true  -> Display panel power saving mode is enabled.
309        optional SettingProto panel_lpm = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
310    }
311    optional Display display = 42;
312
313    message DnsResolver {
314        option (android.msg_privacy).dest = DEST_EXPLICIT;
315
316        optional SettingProto sample_validity_seconds = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
317        optional SettingProto success_threshold_percent = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
318        optional SettingProto min_samples = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
319        optional SettingProto max_samples = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
320    }
321    optional DnsResolver dns_resolver = 43;
322
323    optional SettingProto dock_audio_media_enabled = 44 [ (android.privacy).dest = DEST_AUTOMATIC ];
324
325    message Download {
326        option (android.msg_privacy).dest = DEST_EXPLICIT;
327
328        optional SettingProto max_bytes_over_mobile = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
329        optional SettingProto recommended_max_bytes_over_mobile = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
330    }
331    optional Download download = 45;
332
333    message Dropbox {
334        option (android.msg_privacy).dest = DEST_EXPLICIT;
335
336        optional SettingProto age_seconds = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
337        optional SettingProto max_files = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
338        optional SettingProto quota_kb = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
339        optional SettingProto quota_percent = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
340        optional SettingProto reserve_percent = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
341        repeated SettingProto settings = 6;
342    }
343    optional Dropbox dropbox = 46;
344
345    message DynamicPowerSavings {
346        option (android.msg_privacy).dest = DEST_EXPLICIT;
347
348        // When to auto disable interventions that were triggered due to
349        // {@link #DYNAMIC_POWER_SAVINGS_ENABLED}. Value is a percentage indicating
350        // a battery level.
351        optional SettingProto disable_threshold = 1 [ (android.privacy).dest = DEST_AUTOMATIC];
352        // Whether dynamic power savings based behaviors should be running or not.
353        optional SettingProto enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC];
354    }
355    optional DynamicPowerSavings dynamic_power_savings = 143;
356
357    message Emergency {
358        option (android.msg_privacy).dest = DEST_EXPLICIT;
359
360        optional SettingProto tone = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
361        optional SettingProto affordance_needed = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
362    }
363    optional Emergency emergency = 47;
364
365    message Enable {
366        option (android.msg_privacy).dest = DEST_EXPLICIT;
367
368        optional SettingProto accessibility_global_gesture_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
369        optional SettingProto gpu_debug_layers = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
370        optional SettingProto ephemeral_feature = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
371        optional SettingProto cellular_on_boot = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
372        optional SettingProto diskstats_logging = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
373        optional SettingProto cache_quota_calculation = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
374        optional SettingProto deletion_helper_no_threshold_toggle = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
375        optional SettingProto gnss_raw_meas_full_tracking = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
376    }
377    optional Enable enable = 48;
378
379    optional SettingProto encoded_surround_output = 49 [ (android.privacy).dest = DEST_AUTOMATIC ];
380    optional SettingProto enhanced_4g_mode_enabled = 50 [ (android.privacy).dest = DEST_AUTOMATIC ];
381    repeated SettingProto error_logcat_lines = 51;
382
383    message Euicc {
384        option (android.msg_privacy).dest = DEST_EXPLICIT;
385
386        optional SettingProto provisioned = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
387        optional SettingProto factory_reset_timeout_millis = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
388        optional SettingProto unsupported_countries = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
389    }
390    optional Euicc euicc = 52;
391
392    optional SettingProto fancy_ime_animations = 53 [ (android.privacy).dest = DEST_AUTOMATIC ];
393    optional SettingProto force_allow_on_external = 54 [ (android.privacy).dest = DEST_AUTOMATIC ];
394    // An integer to reduce the FPS by this factor. Only for experiments.
395    optional SettingProto fps_divisor = 55 [ (android.privacy).dest = DEST_AUTOMATIC ];
396    optional SettingProto fstrim_mandatory_interval = 56 [ (android.privacy).dest = DEST_AUTOMATIC ];
397
398    message GlobalHttpProxy {
399        option (android.msg_privacy).dest = DEST_EXPLICIT;
400
401        // Including Global.HTTP_PROXY is redundant since the data is also
402        // encompassed in the host and port fields.
403
404        optional SettingProto host = 1;
405        optional SettingProto port = 2;
406        optional SettingProto exclusion_list = 3;
407        optional SettingProto pac = 4;
408        // Enables the UI setting to allow the user to specify the global HTTP proxy
409        // and associated exclusion list. Simply "set_global_http_proxy".
410        optional SettingProto setting_ui_enabled = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
411    }
412    optional GlobalHttpProxy global_http_proxy = 57;
413
414    optional SettingProto gprs_register_check_period_ms = 58 [ (android.privacy).dest = DEST_AUTOMATIC ];
415
416    message Gpu {
417        option (android.msg_privacy).dest = DEST_EXPLICIT;
418
419        // App allowed to load GPU debug layers.
420        optional SettingProto debug_app = 1;
421        // Ordered GPU debug layer list for Vulkan
422        // i.e. <layer1>:<layer2>:...:<layerN>
423        optional SettingProto debug_layers = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
424        // ANGLE - Force all PKGs to use ANGLE, regardless of any other settings
425        optional SettingProto angle_gl_driver_all_angle = 3;
426        // ANGLE - List of PKGs that specify an OpenGL driver
427        optional SettingProto angle_gl_driver_selection_pkgs = 4;
428        // ANGLE - Corresponding OpenGL driver selection for the PKG
429        optional SettingProto angle_gl_driver_selection_values = 5;
430        // App that can provide layer libraries.
431        optional SettingProto debug_layer_app = 6;
432        // Ordered GPU debug layer list for GLES
433        // i.e. <layer1>:<layer2>:...:<layerN>
434        optional SettingProto debug_layers_gles = 7;
435        // Game Driver - global preference for all Apps
436        // 0 = Default
437        // 1 = All Apps use Game Driver
438        // 2 = All Apps use system graphics driver
439        optional SettingProto game_driver_all_apps = 8;
440        // Game Driver - List of Apps selected to use Game Driver
441        // i.e. <pkg1>,<pkg2>,...,<pkgN>
442        optional SettingProto game_driver_opt_in_apps = 9;
443        // Game Driver - List of Apps selected not to use Game Driver
444        // i.e. <pkg1>,<pkg2>,...,<pkgN>
445        optional SettingProto game_driver_opt_out_apps = 10;
446        // Game Driver - List of Apps that are forbidden to use Game Driver
447        optional SettingProto game_driver_blacklist = 11;
448        // Game Driver - List of Apps that are allowed to use Game Driver
449        optional SettingProto game_driver_whitelist = 12;
450        // ANGLE - List of Apps that can check ANGLE rules
451        optional SettingProto angle_whitelist = 13;
452        // Game Driver - List of blacklists, each blacklist is a blacklist for
453        // a specific Game Driver version
454        optional SettingProto game_driver_blacklists = 14;
455        // ANGLE - Show a dialog box when ANGLE is selected for the currently running PKG
456        optional SettingProto show_angle_in_use_dialog = 15;
457        // Game Driver - List of libraries in sphal accessible by Game Driver
458        optional SettingProto game_driver_sphal_libraries = 16;
459        // ANGLE - External package containing ANGLE libraries
460        optional SettingProto angle_debug_package = 17;
461        // Game Driver - List of Apps selected to use prerelease Game Driver
462        // i.e. <pkg1>,<pkg2>,...,<pkgN>
463        optional SettingProto game_driver_prerelease_opt_in_apps = 18;
464    }
465    optional Gpu gpu = 59;
466
467    message Hdmi {
468        option (android.msg_privacy).dest = DEST_EXPLICIT;
469
470        optional SettingProto control_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
471        optional SettingProto system_audio_control_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
472        optional SettingProto control_auto_wakeup_enabled = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
473        optional SettingProto control_auto_device_off_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
474    }
475    optional Hdmi hdmi = 60;
476
477    optional SettingProto heads_up_notifications_enabled = 61 [ (android.privacy).dest = DEST_AUTOMATIC ];
478    optional SettingProto hidden_api_blacklist_exemptions = 62 [ (android.privacy).dest = DEST_AUTOMATIC ];
479
480    message InetCondition {
481        option (android.msg_privacy).dest = DEST_EXPLICIT;
482
483        optional SettingProto debounce_up_delay = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
484        optional SettingProto debounce_down_delay = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
485    }
486    optional InetCondition inet_condition = 63;
487
488    message InstantApp {
489        option (android.msg_privacy).dest = DEST_EXPLICIT;
490
491        optional SettingProto dexopt_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
492        optional SettingProto ephemeral_cookie_max_size_bytes = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
493        optional SettingProto installed_min_cache_period = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
494        optional SettingProto installed_max_cache_period = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
495        optional SettingProto uninstalled_min_cache_period = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
496        optional SettingProto uninstalled_max_cache_period = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
497    }
498    optional InstantApp instant_app = 64;
499
500    message IntentFirewall {
501        option (android.msg_privacy).dest = DEST_EXPLICIT;
502
503        optional SettingProto update_content_url = 1;
504        optional SettingProto update_metadata_url = 2;
505    }
506    optional IntentFirewall intent_firewall = 65;
507
508    optional SettingProto job_scheduler_constants = 66 [ (android.privacy).dest = DEST_AUTOMATIC ];
509    optional SettingProto job_scheduler_quota_controller_constants = 149 [ (android.privacy).dest = DEST_AUTOMATIC ];
510    optional SettingProto job_scheduler_time_controller_constants = 150 [ (android.privacy).dest = DEST_AUTOMATIC ];
511
512    optional SettingProto keep_profile_in_background = 67 [ (android.privacy).dest = DEST_AUTOMATIC ];
513
514    message LangId {
515        option (android.msg_privacy).dest = DEST_EXPLICIT;
516
517        optional SettingProto update_content_url = 1;
518        optional SettingProto update_metadata_url = 2;
519    }
520    optional LangId lang_id = 68;
521
522    message Location {
523        option (android.msg_privacy).dest = DEST_EXPLICIT;
524
525        optional SettingProto background_throttle_interval_ms = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
526        optional SettingProto background_throttle_proximity_alert_interval_ms = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
527        // Packages that are whitelisted for background throttling (throttling will
528        // not be applied).
529        optional SettingProto background_throttle_package_whitelist = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
530        optional SettingProto settings_link_to_permissions_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
531        // If set to 1, {@link Secure#LOCATION_MODE} will be set to {@link
532        // Secure#LOCATION_MODE_OFF} temporarily for all users.
533        optional SettingProto global_kill_switch = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
534        optional SettingProto gnss_satellite_blacklist = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
535        optional SettingProto gnss_hal_location_request_duration_millis = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
536        // Packages that are whitelisted for ignoring location settings (during emergencies)
537        optional SettingProto ignore_settings_package_whitelist = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
538    }
539    optional Location location = 69;
540
541    message LowPowerMode {
542        option (android.msg_privacy).dest = DEST_EXPLICIT;
543
544        // Simply "low_power_mode" in code.
545        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
546        // Battery level [1-100] at which low power mode automatically turns on. If
547        // 0, it will not automatically turn on.
548        optional SettingProto trigger_level = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
549        // The max value for {@link #LOW_POWER_MODE_TRIGGER_LEVEL}. If this setting
550        // is not set or the value is 0, the default max will be used.
551        optional SettingProto trigger_level_max = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
552        // Whether automatic battery saver mode is controlled via percentage,
553        // {@link #DYNAMIC_POWER_SAVINGS_ENABLED} or disabled.
554        optional SettingProto automatic_power_saver_mode = 4 [ (android.privacy).dest = DEST_AUTOMATIC];
555        // If 1, battery saver (low_power_mode) will be re-activated after the device is
556        // unplugged from a charger or rebooted.
557        optional SettingProto sticky_enabled = 5;
558        // Whether sticky battery saver should be deactivated once the battery level has reached the
559        // threshold specified by sticky_disable_level.
560        optional SettingProto sticky_auto_disable_enabled = 6;
561        // When a device is unplugged from a changer (or is rebooted), do not re-activate battery
562        // saver even if {@link #LOW_POWER_MODE_STICKY} is 1, if the battery level is equal to or
563        // above this threshold.
564        optional SettingProto sticky_auto_disable_level = 7;
565    }
566    optional LowPowerMode low_power_mode = 70;
567
568    optional SettingProto lte_service_forced = 71 [ (android.privacy).dest = DEST_AUTOMATIC ];
569    optional SettingProto mdc_initial_max_retry = 72 [ (android.privacy).dest = DEST_AUTOMATIC ];
570
571    message Mhl {
572        option (android.msg_privacy).dest = DEST_EXPLICIT;
573
574        optional SettingProto input_switching_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
575        optional SettingProto power_charge_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
576    }
577    optional Mhl mhl = 73;
578
579    message MobileData {
580        option (android.msg_privacy).dest = DEST_EXPLICIT;
581
582        // Whether mobile data connections are allowed by the user. Simply
583        // "mobile_data" in code.
584        optional SettingProto allowed = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
585        // Whether the mobile data connection should remain active even when higher
586        // priority networks like WiFi are active, to help make network switching
587        // faster.
588        optional SettingProto always_on = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
589    }
590    optional MobileData mobile_data = 74;
591
592    // Ringer mode. A change in this value will not reflect as a change in the
593    // ringer mode.
594    optional SettingProto mode_ringer = 75 [ (android.privacy).dest = DEST_AUTOMATIC ];
595
596    optional SettingProto apply_ramping_ringer = 147 [ (android.privacy).dest = DEST_AUTOMATIC ];
597
598    message MultiSim {
599        option (android.msg_privacy).dest = DEST_EXPLICIT;
600
601        // Subscription to be used for voice call on a multi sim device. The
602        // supported values are 0 = SUB1, 1 = SUB2 and etc.
603        optional SettingProto voice_call_subscription = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
604        optional SettingProto voice_prompt = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
605        optional SettingProto data_call_subscription = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
606        optional SettingProto sms_subscription = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
607        optional SettingProto sms_prompt = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
608    }
609    optional MultiSim multi_sim = 76;
610
611    // Whether we've enabled native flags health check on this device. Takes effect on
612    // reboot. The value "1" enables native flags health check; otherwise it's disabled.
613    optional SettingProto native_flags_health_check_enabled = 144 [ (android.privacy).dest = DEST_AUTOMATIC ];
614
615    message Netstats {
616        option (android.msg_privacy).dest = DEST_EXPLICIT;
617
618        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
619        optional SettingProto poll_interval = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
620        optional SettingProto time_cache_max_age = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
621        optional SettingProto global_alert_bytes = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
622        optional SettingProto sample_enabled = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
623        optional SettingProto augment_enabled = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
624        optional SettingProto dev_bucket_duration = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
625        optional SettingProto dev_persist_bytes = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
626        optional SettingProto dev_rotate_age = 9 [ (android.privacy).dest = DEST_AUTOMATIC ];
627        optional SettingProto dev_delete_age = 10 [ (android.privacy).dest = DEST_AUTOMATIC ];
628        optional SettingProto uid_bucket_duration = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
629        optional SettingProto uid_persist_bytes = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
630        optional SettingProto uid_rotate_age = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
631        optional SettingProto uid_delete_age = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
632        optional SettingProto uid_tag_bucket_duration = 15 [ (android.privacy).dest = DEST_AUTOMATIC ];
633        optional SettingProto uid_tag_persist_bytes = 16 [ (android.privacy).dest = DEST_AUTOMATIC ];
634        optional SettingProto uid_tag_rotate_age = 17 [ (android.privacy).dest = DEST_AUTOMATIC ];
635        optional SettingProto uid_tag_delete_age = 18 [ (android.privacy).dest = DEST_AUTOMATIC ];
636    }
637    optional Netstats netstats = 77;
638
639    message Network {
640        option (android.msg_privacy).dest = DEST_EXPLICIT;
641
642        // User preference for which network(s) should be used.
643        optional SettingProto preference = 1;
644        optional SettingProto preferred_network_mode = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
645        optional SettingProto scorer_app = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
646        optional SettingProto switch_notification_daily_limit = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
647        optional SettingProto switch_notification_rate_limit_millis = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
648        optional SettingProto avoid_bad_wifi = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
649        optional SettingProto metered_multipath_preference = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
650        optional SettingProto watchlist_last_report_time = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
651        optional SettingProto scoring_ui_enabled = 9 [ (android.privacy).dest = DEST_AUTOMATIC ];
652        optional SettingProto recommendations_enabled = 10 [ (android.privacy).dest = DEST_AUTOMATIC ];
653        optional SettingProto recommendations_package = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
654        optional SettingProto recommendation_request_timeout_ms = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
655        optional SettingProto watchlist_enabled = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
656        optional SettingProto scoring_provisioned = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
657        optional SettingProto access_timeout_ms = 15 [ (android.privacy).dest = DEST_AUTOMATIC ];
658        optional SettingProto recommended_network_evaluator_cache_expiry_ms = 16 [ (android.privacy).dest = DEST_AUTOMATIC ];
659    }
660    optional Network network = 78;
661
662    // Whether to enable new contacts aggregator or not.
663    // 1 = enable, 0 = disable.
664    optional SettingProto new_contact_aggregator = 79 [ (android.privacy).dest = DEST_AUTOMATIC ];
665    optional SettingProto night_display_forced_auto_mode_available = 80 [ (android.privacy).dest = DEST_AUTOMATIC ];
666
667    message NitzUpdate {
668        option (android.msg_privacy).dest = DEST_EXPLICIT;
669
670        // If the NITZ_UPDATE_DIFF time is exceeded then an automatic adjustment to
671        // SystemClock will be allowed even if NITZ_UPDATE_SPACING has not been
672        // exceeded.
673        optional SettingProto diff = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
674        // The length of time in milli-seconds that automatic small adjustments to
675        // SystemClock are ignored if NITZ_UPDATE_DIFF is not exceeded.
676        optional SettingProto spacing = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
677    }
678    optional NitzUpdate nitz_update = 81;
679
680    message Notification {
681        option (android.msg_privacy).dest = DEST_EXPLICIT;
682
683        optional SettingProto max_notification_enqueue_rate = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
684        optional SettingProto show_notification_channel_warnings = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
685        // The list of snooze options for notifications. This is encoded as a key=value list,
686        // separated by commas.
687        optional SettingProto snooze_options = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
688        optional SettingProto smart_replies_in_notifications_flags = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
689        // Configuration options for smart replies and smart actions in notifications. This is
690        // encoded as a key=value list separated by commas.
691        optional SettingProto smart_suggestions_in_notifications_flags = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
692        optional SettingProto bubbles = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
693    }
694    optional Notification notification = 82;
695
696    optional SettingProto nr_nsa_tracking_screen_off_mode = 153 [ (android.privacy).dest = DEST_AUTOMATIC ];
697
698    optional SettingProto nsd_on = 83 [ (android.privacy).dest = DEST_AUTOMATIC ];
699
700    message Ntp {
701        option (android.msg_privacy).dest = DEST_EXPLICIT;
702
703        // Preferred NTP server.
704        optional SettingProto server = 1;
705        // Timeout in milliseconds to wait for NTP server.
706        optional SettingProto timeout_ms = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
707    }
708    optional Ntp ntp = 84;
709
710    // Details about the User Absent For Small Battery feature.
711    message UserAbsentSmallBattery {
712        option (android.msg_privacy).dest = DEST_EXPLICIT;
713
714        // Whether or not to enable the User Absent, Radios Off feature
715        optional SettingProto radios_off_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
716
717        // Whether or not to enable the User Absent, Touch Off feature
718        optional SettingProto touch_off_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
719    }
720    optional UserAbsentSmallBattery user_absent_small_battery = 85;
721
722    // Whether to disable the automatic scheduling of system updates.
723    optional SettingProto ota_disable_automatic_update = 86 [ (android.privacy).dest = DEST_AUTOMATIC ];
724    // Overlay display devices setting.
725    // The value is a specially formatted string that describes the size and
726    // density of simulated secondary devices.
727    // Format: {width}x{height}/dpi;...
728    optional SettingProto overlay_display_devices = 87 [ (android.privacy).dest = DEST_AUTOMATIC ];
729    // If set to 1, SettingsProvider's restoreAnyVersion="true" attribute will
730    // be ignored and restoring to lower version of platform API will be
731    // skipped.
732    optional SettingProto override_settings_provider_restore_any_version = 88 [ (android.privacy).dest = DEST_AUTOMATIC ];
733    // The series of successively longer delays used in retrying to download PAC file.
734    optional SettingProto pac_change_delay = 89 [ (android.privacy).dest = DEST_AUTOMATIC ];
735
736    message PackageVerifier {
737        option (android.msg_privacy).dest = DEST_EXPLICIT;
738
739        // Whether the package manager should send package verification broadcasts
740        // for verifiers to review apps prior to installation.
741        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
742        optional SettingProto timeout = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
743        optional SettingProto default_response = 3;
744        optional SettingProto setting_visible = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
745        optional SettingProto include_adb = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
746    }
747    optional PackageVerifier package_verifier = 90;
748
749    message PdpWatchdog {
750        option (android.msg_privacy).dest = DEST_EXPLICIT;
751
752        optional SettingProto poll_interval_ms = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
753        optional SettingProto long_poll_interval_ms = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
754        optional SettingProto error_poll_interval_ms = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
755        optional SettingProto trigger_packet_count = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
756        optional SettingProto error_poll_count = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
757        optional SettingProto max_pdp_reset_fail_count = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
758    }
759    optional PdpWatchdog pdp_watchdog = 91;
760
761    // Defines global runtime overrides to window policy.
762    optional SettingProto policy_control = 92;
763    optional SettingProto power_manager_constants = 93;
764    reserved 94; // Used to be priv_app_oob_enabled
765
766    message PrepaidSetup {
767        option (android.msg_privacy).dest = DEST_EXPLICIT;
768
769        // URL to open browser on to allow user to manage a prepay account.
770        optional SettingProto data_service_url = 1;
771        // URL to attempt a GET on to see if this is a prepay device.
772        optional SettingProto detection_target_url = 2;
773        // Host to check for a redirect to after an attempt to GET
774        // SETUP_PREPAID_DETECTION_TARGET_URL. (If we redirected there, this is a
775        // prepaid device with zero balance.)
776        optional SettingProto detection_redir_host = 3;
777    }
778    optional PrepaidSetup prepaid_setup = 95;
779
780    message Private {
781        option (android.msg_privacy).dest = DEST_LOCAL;
782
783        // The requested Private DNS mode and an accompanying specifier.
784        // msg_privacy settings don't apply to sub messages, only to primitive
785        // fields, so these must also be explicitly set to LOCAL.
786        optional SettingProto dns_mode = 1 [ (android.privacy).dest = DEST_LOCAL ];
787        optional SettingProto dns_specifier = 2 [ (android.privacy).dest = DEST_LOCAL ];
788    }
789    optional Private private = 96;
790
791    // The number of milliseconds to allow the provisioning apn to remain active.
792    optional SettingProto provisioning_apn_alarm_delay_in_ms = 97 [ (android.privacy).dest = DEST_AUTOMATIC ];
793    optional SettingProto read_external_storage_enforced_default = 98 [ (android.privacy).dest = DEST_AUTOMATIC ];
794    optional SettingProto require_password_to_decrypt = 99 [ (android.privacy).dest = DEST_AUTOMATIC ];
795    optional SettingProto safe_boot_disallowed = 100 [ (android.privacy).dest = DEST_AUTOMATIC ];
796
797    message Selinux {
798        option (android.msg_privacy).dest = DEST_EXPLICIT;
799
800        optional SettingProto update_content_url = 1;
801        optional SettingProto update_metadata_url = 2;
802        optional SettingProto status = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
803    }
804    optional Selinux selinux = 101;
805
806    // Flag for allowing ActivityManagerService to send ACTION_APP_ERROR intents
807    // on application crashes and ANRs. If this is disabled, the crash/ANR
808    // dialog will never display the "Report" button.
809    optional SettingProto send_action_app_error = 102 [ (android.privacy).dest = DEST_AUTOMATIC ];
810    // Let user pick default install location.
811    optional SettingProto set_install_location = 103 [ (android.privacy).dest = DEST_AUTOMATIC ];
812    optional SettingProto shortcut_manager_constants = 104;
813    optional SettingProto show_first_crash_dialog = 105 [ (android.privacy).dest = DEST_AUTOMATIC ];
814    optional SettingProto show_hidden_launcher_icon_apps_enabled = 141 [ (android.privacy).dest = DEST_AUTOMATIC ];
815    optional SettingProto show_restart_in_crash_dialog = 106 [ (android.privacy).dest = DEST_AUTOMATIC ];
816    optional SettingProto show_mute_in_crash_dialog = 107 [ (android.privacy).dest = DEST_AUTOMATIC ];
817    optional SettingProto show_new_app_installed_notification_enabled = 142 [ (android.privacy).dest = DEST_AUTOMATIC ];
818
819    message SmartSelection {
820        option (android.msg_privacy).dest = DEST_EXPLICIT;
821
822        optional SettingProto update_content_url = 1;
823        optional SettingProto update_metadata_url = 2;
824    }
825    optional SmartSelection smart_selection = 108;
826
827    message Sms {
828        option (android.msg_privacy).dest = DEST_EXPLICIT;
829
830        optional SettingProto outgoing_check_interval_ms = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
831        optional SettingProto outgoing_check_max_count = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
832        // Used to disable SMS short code confirmation. Defaults to true.
833        optional SettingProto short_code_confirmation = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
834        optional SettingProto short_code_rule = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
835        optional SettingProto short_codes_update_content_url = 5;
836        optional SettingProto short_codes_update_metadata_url = 6;
837        optional SettingProto access_restriction_enabled = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
838    }
839    optional Sms sms = 109;
840
841    message Sounds {
842        option (android.msg_privacy).dest = DEST_EXPLICIT;
843
844        optional SettingProto car_dock = 1;
845        optional SettingProto car_undock = 2;
846        reserved 3; // Moved to secure settings Sound.charging_sounds_enabled
847        optional SettingProto charging_started = 4;
848        optional SettingProto desk_dock = 5;
849        optional SettingProto desk_undock = 6;
850        optional SettingProto dock_sounds_enabled = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
851        optional SettingProto dock_sounds_enabled_when_accessibility = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
852        optional SettingProto lock = 9;
853        optional SettingProto low_battery = 10;
854        optional SettingProto low_battery_sound_timeout = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
855        // Called "power_sounds_enabled" in code.
856        optional SettingProto low_battery_sounds_enabled = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
857        optional SettingProto trusted = 13;
858        optional SettingProto unlock = 14;
859    }
860    optional Sounds sounds = 110;
861
862    message SoundTrigger {
863        option (android.msg_privacy).dest = DEST_EXPLICIT;
864
865        // Maximum number of SoundTriggerDetectionService operations per day.
866        optional SettingProto max_sound_trigger_detection_service_ops_per_day = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
867        // Timeout for a single SoundTriggerDetectionService operation (in ms).
868        optional SettingProto detection_service_op_timeout_ms = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
869    }
870    optional SoundTrigger sound_trigger = 111;
871
872    // Value to specify how long in milliseconds to retain seen score cache
873    // curves to be used when generating SSID only bases score curves.
874    optional SettingProto speed_label_cache_eviction_age_ms = 112 [ (android.privacy).dest = DEST_AUTOMATIC ];
875    // Configuration flags for SQLite Compatibility WAL. Encoded as a key-value
876    // list, separated by commas.
877    // E.g.: compatibility_wal_supported=true, wal_syncmode=OFF
878    optional SettingProto sqlite_compatibility_wal_flags = 113 [ (android.privacy).dest = DEST_AUTOMATIC ];
879    optional SettingProto stay_on_while_plugged_in = 114 [ (android.privacy).dest = DEST_AUTOMATIC ];
880
881    message Storage {
882        option (android.msg_privacy).dest = DEST_EXPLICIT;
883
884        optional SettingProto benchmark_interval = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
885        optional SettingProto settings_clobber_threshold = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
886    }
887    optional Storage storage = 115;
888
889    message Sync {
890        option (android.msg_privacy).dest = DEST_EXPLICIT;
891
892        // The maximum reconnect delay for short network outages or when the network is suspended due to phone use.
893        optional SettingProto max_retry_delay_in_seconds = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
894        // Simply "sync_manager_constants" in code.
895        optional SettingProto manager_constants = 2;
896    }
897    optional Sync sync = 116;
898
899    message Sys {
900        option (android.msg_privacy).dest = DEST_EXPLICIT;
901
902        // The interval in minutes after which the amount of free storage left on
903        // the device is logged to the event log.
904        optional SettingProto free_storage_log_interval_mins = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
905        optional SettingProto storage_threshold_percentage = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
906        optional SettingProto storage_threshold_max_bytes = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
907        optional SettingProto storage_full_threshold_bytes = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
908        optional SettingProto storage_cache_percentage = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
909        optional SettingProto storage_cache_max_bytes = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
910        // Used to be sys_vdso
911        reserved 7;
912        // UidCpuPower global setting. This links the sys.uidcpupower system property.
913        // The following values are supported:
914        // 0 -> /proc/uid_cpupower/* are disabled
915        // 1 -> /proc/uid_cpupower/* are enabled
916        // Any other value defaults to enabled.
917        optional SettingProto uidcpupower = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
918    }
919    optional Sys sys = 117;
920
921    optional SettingProto tcp_default_init_rwnd = 118 [ (android.privacy).dest = DEST_AUTOMATIC ];
922
923    message TemperatureWarning {
924        option (android.msg_privacy).dest = DEST_EXPLICIT;
925
926        optional SettingProto show_temperature_warning = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
927        // Temperature at which the high temperature warning notification should
928        // be shown.
929        optional SettingProto warning_temperature_level = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
930        optional SettingProto show_usb_temperature_alarm = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
931    }
932    optional TemperatureWarning temperature_warning = 119;
933
934    message Tether {
935        option (android.msg_privacy).dest = DEST_EXPLICIT;
936
937        optional SettingProto supported = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
938        optional SettingProto dun_required = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
939        optional SettingProto dun_apn = 3;
940        optional SettingProto offload_disabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
941        // Simply "soft_ap_timeout_enabled" in code.
942        optional SettingProto timeout_enabled = 112 [ (android.privacy).dest = DEST_AUTOMATIC ];
943    }
944    optional Tether tether = 120;
945
946    optional SettingProto text_classifier_constants = 121;
947    optional SettingProto theater_mode_on = 122 [ (android.privacy).dest = DEST_AUTOMATIC ];
948    optional SettingProto time_only_mode_constants = 123 [ (android.privacy).dest = DEST_AUTOMATIC ];
949    optional SettingProto transition_animation_scale = 124 [ (android.privacy).dest = DEST_AUTOMATIC ];
950
951    message Tzinfo {
952        option (android.msg_privacy).dest = DEST_EXPLICIT;
953
954        optional SettingProto update_content_url = 1;
955        optional SettingProto update_metadata_url = 2;
956    }
957    optional Tzinfo tzinfo = 125;
958
959    // The min period for caching unused static shared libs in milliseconds.
960    optional SettingProto unused_static_shared_lib_min_cache_period_ms = 126 [ (android.privacy).dest = DEST_AUTOMATIC ];
961    optional SettingProto usb_mass_storage_enabled = 127 [ (android.privacy).dest = DEST_AUTOMATIC ];
962    optional SettingProto use_google_mail = 128 [ (android.privacy).dest = DEST_AUTOMATIC ];
963    optional SettingProto use_open_wifi_package = 129 [ (android.privacy).dest = DEST_AUTOMATIC ];
964    optional SettingProto vt_ims_enabled = 130 [ (android.privacy).dest = DEST_AUTOMATIC ];
965    optional SettingProto wait_for_debugger = 131 [ (android.privacy).dest = DEST_AUTOMATIC ];
966
967    message Webview {
968        option (android.msg_privacy).dest = DEST_EXPLICIT;
969
970        optional SettingProto data_reduction_proxy_key = 1;
971        optional SettingProto fallback_logic_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
972        // Name of the package used as WebView provider.
973        optional SettingProto provider = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
974        optional SettingProto multiprocess = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
975    }
976    optional Webview webview = 132;
977
978    message Wfc {
979        option (android.msg_privacy).dest = DEST_EXPLICIT;
980
981        optional SettingProto ims_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
982        optional SettingProto ims_mode = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
983        optional SettingProto ims_roaming_mode = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
984        optional SettingProto ims_roaming_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
985    }
986    optional Wfc wfc = 133;
987
988    message Wifi {
989        option (android.msg_privacy).dest = DEST_EXPLICIT;
990
991        optional SettingProto sleep_policy = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
992        optional SettingProto badging_thresholds = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
993        optional SettingProto display_on = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
994        optional SettingProto display_certification_on = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
995        optional SettingProto display_wps_config = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
996        optional SettingProto networks_available_notification_on = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
997        optional SettingProto carrier_networks_available_notification_on = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
998        optional SettingProto networks_available_repeat_delay = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
999        optional SettingProto country_code = 9;
1000        optional SettingProto framework_scan_interval_ms = 10 [ (android.privacy).dest = DEST_AUTOMATIC ];
1001        optional SettingProto idle_ms = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
1002        optional SettingProto num_open_networks_kept = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
1003        optional SettingProto on = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
1004        optional SettingProto scan_always_available = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
1005        optional SettingProto wakeup_enabled = 15 [ (android.privacy).dest = DEST_AUTOMATIC ];
1006        optional SettingProto saved_state = 16 [ (android.privacy).dest = DEST_AUTOMATIC ];
1007        optional SettingProto supplicant_scan_interval_ms = 17 [ (android.privacy).dest = DEST_AUTOMATIC ];
1008        optional SettingProto enhanced_auto_join = 18 [ (android.privacy).dest = DEST_AUTOMATIC ];
1009        optional SettingProto network_show_rssi = 19 [ (android.privacy).dest = DEST_AUTOMATIC ];
1010        optional SettingProto scan_interval_when_p2p_connected_ms = 20 [ (android.privacy).dest = DEST_AUTOMATIC ];
1011        optional SettingProto watchdog_on = 21 [ (android.privacy).dest = DEST_AUTOMATIC ];
1012        optional SettingProto watchdog_poor_network_test_enabled = 22 [ (android.privacy).dest = DEST_AUTOMATIC ];
1013        optional SettingProto suspend_optimizations_enabled = 23 [ (android.privacy).dest = DEST_AUTOMATIC ];
1014        optional SettingProto verbose_logging_enabled = 24 [ (android.privacy).dest = DEST_AUTOMATIC ];
1015        reserved 25; // connected_mac_randomization_enabled
1016        optional SettingProto max_dhcp_retry_count = 26 [ (android.privacy).dest = DEST_AUTOMATIC ];
1017        optional SettingProto mobile_data_transition_wakelock_timeout_ms = 27 [ (android.privacy).dest = DEST_AUTOMATIC ];
1018        // Controls whether WiFi configurations created by a Device Owner app should
1019        // be locked down (that is, be editable or removable only by the Device
1020        // Owner App, not even by Settings app). This setting takes integer values.
1021        // Non-zero values mean that the Device Owner-created configurations are
1022        // locked down. Value of zero means they are not. Default value in the
1023        // absence of actual value to this setting is 0.
1024        optional SettingProto device_owner_configs_lockdown = 28 [ (android.privacy).dest = DEST_AUTOMATIC ];
1025        optional SettingProto frequency_band = 29 [ (android.privacy).dest = DEST_AUTOMATIC ];
1026        optional SettingProto p2p_device_name = 30;
1027        optional SettingProto reenable_delay_ms = 31 [ (android.privacy).dest = DEST_AUTOMATIC ];
1028        optional SettingProto ephemeral_out_of_range_timeout_ms = 32 [ (android.privacy).dest = DEST_AUTOMATIC ];
1029        optional SettingProto on_when_proxy_disconnected = 33 [ (android.privacy).dest = DEST_AUTOMATIC ];
1030        optional SettingProto bounce_delay_override_ms = 34 [ (android.privacy).dest = DEST_AUTOMATIC ];
1031    }
1032    optional Wifi wifi = 134;
1033
1034    optional SettingProto wimax_networks_available_notification_on = 135 [ (android.privacy).dest = DEST_AUTOMATIC ];
1035    optional SettingProto window_animation_scale = 136 [ (android.privacy).dest = DEST_AUTOMATIC ];
1036    optional SettingProto wtf_is_fatal = 137 [ (android.privacy).dest = DEST_AUTOMATIC ];
1037
1038    message Zen {
1039        option (android.msg_privacy).dest = DEST_EXPLICIT;
1040
1041        optional SettingProto mode = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
1042        optional SettingProto mode_ringer_level = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
1043        optional SettingProto mode_config_etag = 3;
1044        reserved 4; // Moved to secure settings Zen.duration
1045        reserved 5; // Moved to secure settings Zen.show_zen_upgrade_notification
1046    }
1047    optional Zen zen = 138;
1048
1049    optional SettingProto zram_enabled = 139 [ (android.privacy).dest = DEST_AUTOMATIC ];
1050
1051    optional SettingProto app_ops_constants = 148 [ (android.privacy).dest = DEST_AUTOMATIC ];
1052
1053    optional SettingProto text_classifier_action_model_params = 145 [ (android.privacy).dest = DEST_AUTOMATIC ];
1054
1055    // Please insert fields in alphabetical order and group them into messages
1056    // if possible (to avoid reaching the method limit).
1057    // Next tag = 154;
1058}
1059