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 SecureSettingsProto {
28    option (android.msg_privacy).dest = DEST_EXPLICIT;
29
30    repeated SettingsOperationProto historical_operations = 1;
31
32    message Accessibility {
33        option (android.msg_privacy).dest = DEST_EXPLICIT;
34
35        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
36        // List of the enabled accessibility providers.
37        optional SettingProto enabled_accessibility_services = 2;
38        optional SettingProto autoclick_enabled = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
39        optional SettingProto autoclick_delay = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
40        // Setting specifying the accessibility service or feature to be toggled via
41        // the accessibility button in the navigation bar. This is either a
42        // flattened ComponentName or the class name of a system class implementing
43        // a supported accessibility feature.
44        optional SettingProto button_target_component = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
45        optional SettingProto captioning_enabled = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
46        optional SettingProto captioning_locale = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
47        optional SettingProto captioning_preset = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
48        optional SettingProto captioning_background_color = 9 [ (android.privacy).dest = DEST_AUTOMATIC ];
49        optional SettingProto captioning_foreground_color = 10 [ (android.privacy).dest = DEST_AUTOMATIC ];
50        optional SettingProto captioning_edge_type = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
51        optional SettingProto captioning_edge_color = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
52        optional SettingProto captioning_window_color = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
53        optional SettingProto captioning_typeface = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
54        optional SettingProto captioning_font_scale = 15 [ (android.privacy).dest = DEST_AUTOMATIC ];
55        optional SettingProto display_daltonizer_enabled = 16 [ (android.privacy).dest = DEST_AUTOMATIC ];
56        // Integer property that specifies the type of color space adjustment to perform.
57        optional SettingProto display_daltonizer = 17 [ (android.privacy).dest = DEST_AUTOMATIC ];
58        optional SettingProto display_inversion_enabled = 18 [ (android.privacy).dest = DEST_AUTOMATIC ];
59        optional SettingProto display_magnification_enabled = 19 [ (android.privacy).dest = DEST_AUTOMATIC ];
60        optional SettingProto display_magnification_navbar_enabled = 20 [ (android.privacy).dest = DEST_AUTOMATIC ];
61        optional SettingProto display_magnification_scale = 21 [ (android.privacy).dest = DEST_AUTOMATIC ];
62        optional SettingProto high_text_contrast_enabled = 22 [ (android.privacy).dest = DEST_AUTOMATIC ];
63        optional SettingProto large_pointer_icon = 23 [ (android.privacy).dest = DEST_AUTOMATIC ];
64        optional SettingProto shortcut_enabled = 24 [ (android.privacy).dest = DEST_AUTOMATIC ];
65        optional SettingProto shortcut_on_lock_screen = 25 [ (android.privacy).dest = DEST_AUTOMATIC ];
66        optional SettingProto shortcut_dialog_shown = 26 [ (android.privacy).dest = DEST_AUTOMATIC ];
67        optional SettingProto shortcut_target_service = 27 [ (android.privacy).dest = DEST_AUTOMATIC ];
68        optional SettingProto soft_keyboard_mode = 28 [ (android.privacy).dest = DEST_AUTOMATIC ];
69        // Whether to speak passwords while in accessibility mode.
70        optional SettingProto speak_password = 29 [ (android.privacy).dest = DEST_AUTOMATIC ];
71        optional SettingProto touch_exploration_enabled = 30 [ (android.privacy).dest = DEST_AUTOMATIC ];
72        // List of the accessibility services to which the user has granted
73        // permission to put the device into touch exploration mode.
74        optional SettingProto touch_exploration_granted_accessibility_services = 31;
75        // Settings for accessibility timeout
76        optional SettingProto non_interactive_ui_timeout_ms = 32 [ (android.privacy).dest = DEST_AUTOMATIC ];
77        optional SettingProto interactive_ui_timeout_ms = 33 [ (android.privacy).dest = DEST_AUTOMATIC ];
78        // Settings for magnification mode
79        optional SettingProto accessibility_magnification_mode = 34 [ (android.privacy).dest = DEST_AUTOMATIC ];
80        optional SettingProto button_targets = 35 [ (android.privacy).dest = DEST_AUTOMATIC ];
81    }
82    optional Accessibility accessibility = 2;
83
84    message AdaptiveSleep {
85        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
86    }
87    optional AdaptiveSleep adaptive_sleep = 78;
88
89    // Origins for which browsers should allow geolocation by default.
90    // The value is a space-separated list of origins.
91    optional SettingProto allowed_geolocation_origins = 3;
92
93    message AlwaysOnVpn {
94        option (android.msg_privacy).dest = DEST_EXPLICIT;
95
96        optional SettingProto app = 1;
97        optional SettingProto lockdown = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
98    }
99    optional AlwaysOnVpn always_on_vpn = 4;
100
101    optional SettingProto android_id = 5;
102    optional SettingProto anr_show_background = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
103
104    message Assist {
105        option (android.msg_privacy).dest = DEST_EXPLICIT;
106
107        // The current assistant component. It could be a voice interaction service,
108        // or an activity that handles ACTION_ASSIST, or empty, which means using
109        // the default handling.
110        optional SettingProto assistant = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
111        optional SettingProto structure_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
112        optional SettingProto screenshot_enabled = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
113        optional SettingProto disclosure_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
114        optional SettingProto gesture_enabled = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
115        optional SettingProto gesture_sensitivity = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
116        optional SettingProto gesture_silence_alerts_enabled = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
117        optional SettingProto gesture_wake_enabled = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
118        optional SettingProto gesture_setup_complete = 9 [ (android.privacy).dest = DEST_AUTOMATIC ];
119    }
120    optional Assist assist = 7;
121
122    message Autofill {
123        option (android.msg_privacy).dest = DEST_EXPLICIT;
124
125        // The currently selected autofill service flattened ComponentName.
126        optional SettingProto service = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
127        // Boolean indicating if Autofill supports field classification.
128        optional SettingProto feature_field_classification = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
129        optional SettingProto user_data_max_user_data_size = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
130        optional SettingProto user_data_max_field_classification_ids_size = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
131        optional SettingProto user_data_max_category_count = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
132        optional SettingProto user_data_max_value_length = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
133        optional SettingProto user_data_min_value_length = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
134        // The query URI to find an auto fill service to install.
135        optional SettingProto service_search_uri = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
136    }
137    optional Autofill autofill = 8;
138
139    message AutomaticStorageManager {
140        option (android.msg_privacy).dest = DEST_EXPLICIT;
141
142        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
143        optional SettingProto days_to_retain = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
144        optional SettingProto bytes_cleared = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
145        optional SettingProto last_run = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
146        optional SettingProto turned_off_by_policy = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
147    }
148    optional AutomaticStorageManager automatic_storage_manager = 9;
149
150    message Backup {
151        option (android.msg_privacy).dest = DEST_EXPLICIT;
152
153        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
154        optional SettingProto auto_restore = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
155        optional SettingProto provisioned = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
156        optional SettingProto transport = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
157        optional SettingProto manager_constants = 5;
158        // Local transport parameters so we can configure it for tests.
159        // This is encoded as a key=value list, separated by commas.
160        // The following keys are supported:
161        //   fake_encryption_flag  (boolean)
162        optional SettingProto local_transport_parameters = 6;
163        optional SettingProto packages_to_clear_data_before_full_restore = 7;
164    }
165    optional Backup backup = 10;
166
167    optional SettingProto bluetooth_on_while_driving = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
168
169    message Camera {
170        option (android.msg_privacy).dest = DEST_EXPLICIT;
171
172        optional SettingProto gesture_disabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
173        optional SettingProto double_tap_power_gesture_disabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
174        optional SettingProto double_twist_to_flip_enabled = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
175        optional SettingProto lift_trigger_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
176    }
177    optional Camera camera = 12;
178
179    optional SettingProto carrier_apps_handled = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
180    optional SettingProto cmas_additional_broadcast_pkg = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
181    repeated SettingProto completed_categories = 15;
182    optional SettingProto connectivity_release_pending_intent_delay_ms = 16 [ (android.privacy).dest = DEST_AUTOMATIC ];
183
184    message Controls {
185        option (android.msg_privacy).dest = DEST_EXPLICIT;
186
187        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
188    }
189    optional Controls controls = 79;
190
191    optional SettingProto device_paired = 17 [ (android.privacy).dest = DEST_AUTOMATIC ];
192    optional SettingProto dialer_default_application = 18 [ (android.privacy).dest = DEST_AUTOMATIC ];
193    optional SettingProto display_density_forced = 19 [ (android.privacy).dest = DEST_AUTOMATIC ];
194    optional SettingProto double_tap_to_wake = 20 [ (android.privacy).dest = DEST_AUTOMATIC ];
195
196    message Doze {
197        option (android.msg_privacy).dest = DEST_EXPLICIT;
198
199        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
200        optional SettingProto always_on = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
201        optional SettingProto pulse_on_pick_up = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
202        optional SettingProto pulse_on_long_press = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
203        optional SettingProto pulse_on_double_tap = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
204        optional SettingProto pulse_on_tap = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
205        optional SettingProto suppress = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
206    }
207    optional Doze doze = 21;
208
209    optional SettingProto emergency_assistance_application = 22 [ (android.privacy).dest = DEST_AUTOMATIC ];
210    optional SettingProto enhanced_voice_privacy_enabled = 23 [ (android.privacy).dest = DEST_AUTOMATIC ];
211
212    message Gesture {
213        optional SettingProto aware_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
214
215        optional SettingProto silence_alarms_count = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
216        optional SettingProto silence_calls_count = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
217        optional SettingProto silence_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
218        // del: silence_notification_count = 5
219        optional SettingProto silence_timer_count = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
220
221        optional SettingProto skip_count = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
222        optional SettingProto skip_enabled = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
223
224        optional SettingProto silence_alarms_touch_count = 9 [ (android.privacy).dest =
225            DEST_AUTOMATIC ];
226        optional SettingProto silence_calls_touch_count = 10 [ (android.privacy).dest =
227            DEST_AUTOMATIC ];
228        optional SettingProto silence_timer_touch_count = 11 [ (android.privacy).dest =
229            DEST_AUTOMATIC ];
230        optional SettingProto skip_touch_count = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
231        optional SettingProto aware_tap_pause_gesture_count = 13 [
232            (android.privacy).dest =
233            DEST_AUTOMATIC ];
234        optional SettingProto aware_tap_pause_touch_count = 14 [ (android.privacy).dest =
235            DEST_AUTOMATIC ];
236    }
237    optional Gesture gesture = 74;
238
239    message GestureNavigation {
240        optional SettingProto back_gesture_inset_scale_left = 1 [(android.privacy).dest = DEST_AUTOMATIC];
241        optional SettingProto back_gesture_inset_scale_right = 2 [(android.privacy).dest = DEST_AUTOMATIC];
242    }
243    optional GestureNavigation gesture_navigation = 77;
244
245    optional SettingProto immersive_mode_confirmations = 24 [ (android.privacy).dest = DEST_AUTOMATIC ];
246
247    message Incall {
248        option (android.msg_privacy).dest = DEST_EXPLICIT;
249
250        optional SettingProto power_button_behavior = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
251        optional SettingProto back_button_behavior = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
252    }
253    optional Incall incall = 25;
254
255    message InputMethods {
256        option (android.msg_privacy).dest = DEST_EXPLICIT;
257
258        optional SettingProto default_input_method = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
259        optional SettingProto disabled_system_input_methods = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
260        optional SettingProto enabled_input_methods = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
261        optional SettingProto method_selector_visibility = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
262        optional SettingProto subtype_history = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
263        optional SettingProto selected_input_method_subtype = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
264        optional SettingProto show_ime_with_hard_keyboard = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
265    }
266    optional InputMethods input_methods = 26;
267
268    optional SettingProto install_non_market_apps = 27 [ (android.privacy).dest = DEST_AUTOMATIC ];
269    optional SettingProto instant_apps_enabled = 28 [ (android.privacy).dest = DEST_AUTOMATIC ];
270    // Uri of the slice that's presented on the keyguard. Defaults to a slice
271    // with the date and next alarm.
272    optional SettingProto keyguard_slice_uri = 29;
273    optional SettingProto last_setup_shown = 30 [ (android.privacy).dest = DEST_AUTOMATIC ];
274
275    message Launcher {
276        option (android.msg_privacy).dest = DEST_EXPLICIT;
277
278        optional SettingProto swipe_up_to_switch_apps_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
279    }
280    optional Launcher launcher = 70;
281
282    message Location {
283        option (android.msg_privacy).dest = DEST_EXPLICIT;
284
285        // The degree of location access enabled by the user.
286        optional SettingProto mode = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
287        // The App or module that changes the location mode.
288        optional SettingProto changer = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
289
290        reserved 3; // used to be used for permissions_upgrade_to_q_mode
291    }
292    optional Location location = 31;
293
294    // How frequently will the user be reminded about location permission grants
295    message LocationAccessCheck {
296        option (android.msg_privacy).dest = DEST_EXPLICIT;
297
298        // Time in between periodic checks
299        optional SettingProto interval_millis = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
300
301        // Time in between the user granting a location permission and a check
302        optional SettingProto delay_millis = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
303    }
304    optional LocationAccessCheck location_access_check = 73;
305
306    message LockScreen {
307        option (android.msg_privacy).dest = DEST_EXPLICIT;
308
309        optional SettingProto lock_after_timeout = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
310        optional SettingProto allow_private_notifications = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
311        optional SettingProto allow_remote_input = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
312        optional SettingProto show_notifications = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
313    }
314    optional LockScreen lock_screen = 32;
315
316    // Whether lock-to-app will lock the keyguard when exiting.
317    optional SettingProto lock_to_app_exit_locked = 33 [ (android.privacy).dest = DEST_AUTOMATIC ];
318    optional SettingProto lockdown_in_power_menu = 34 [ (android.privacy).dest = DEST_AUTOMATIC ];
319    optional SettingProto long_press_timeout = 35 [ (android.privacy).dest = DEST_AUTOMATIC ];
320
321    message ManagedProfile {
322        option (android.msg_privacy).dest = DEST_EXPLICIT;
323
324        optional SettingProto contact_remote_search = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
325    }
326    optional ManagedProfile managed_profile = 36;
327
328    message Mount {
329        option (android.msg_privacy).dest = DEST_EXPLICIT;
330
331        // Whether or not alert sounds are played on StorageManagerService events.
332        optional SettingProto play_notification_snd = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
333        optional SettingProto ums_autostart = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
334        optional SettingProto ums_prompt = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
335        optional SettingProto ums_notify_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
336    }
337    optional Mount mount = 37;
338
339    optional SettingProto multi_press_timeout = 38 [ (android.privacy).dest = DEST_AUTOMATIC ];
340
341    optional SettingProto navigation_mode = 76 [ (android.privacy).dest = DEST_AUTOMATIC ];
342
343    message NfcPayment {
344        option (android.msg_privacy).dest = DEST_EXPLICIT;
345
346        optional SettingProto default_component = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
347        // Whether NFC payment is handled by the foreground application or a default.
348        optional SettingProto foreground = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
349        // The query URI to find an NFC service to install.
350        optional SettingProto payment_service_search_uri = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
351    }
352    optional NfcPayment nfc_payment = 39;
353
354    message NightDisplay {
355        option (android.msg_privacy).dest = DEST_EXPLICIT;
356
357        optional SettingProto activated = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
358        optional SettingProto auto_mode = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
359        optional SettingProto color_temperature = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
360        optional SettingProto custom_start_time = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
361        optional SettingProto custom_end_time = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
362        optional SettingProto last_activated_time = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
363    }
364    optional NightDisplay night_display = 40;
365
366    message Notification {
367        option (android.msg_privacy).dest = DEST_EXPLICIT;
368
369        // Read only list of the service components that the current user has
370        // explicitly allowed to see and assist with all of the user's
371        // notifications.
372        // "enabled_notification_assistant" in code.
373        optional SettingProto enabled_assistant = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
374        optional SettingProto enabled_listeners = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
375        optional SettingProto enabled_policy_access_packages = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
376        optional SettingProto badging = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
377        optional SettingProto show_note_about_notification_hiding = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
378        optional SettingProto in_call_notification_enabled = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
379        optional SettingProto bubbles = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
380    }
381    optional Notification notification = 41;
382
383    message PackageVerifier {
384        option (android.msg_privacy).dest = DEST_EXPLICIT;
385
386        optional SettingProto user_consent = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
387        optional SettingProto state = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
388    }
389    optional PackageVerifier package_verifier = 42;
390
391    message ParentalControl {
392        option (android.msg_privacy).dest = DEST_EXPLICIT;
393
394        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
395        optional SettingProto last_update = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
396        optional SettingProto redirect_url = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
397    }
398    optional ParentalControl parental_control = 43;
399
400    message PowerMenuPrivacy {
401        option (android.msg_privacy).dest = DEST_EXPLICIT;
402
403        optional SettingProto show = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
404    }
405    optional PowerMenuPrivacy power_menu_privacy = 81;
406
407    message PrintService {
408        option (android.msg_privacy).dest = DEST_EXPLICIT;
409
410        // The query URI to find a print service to install.
411        optional SettingProto search_uri = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
412        optional SettingProto disabled_print_services = 2;
413        optional SettingProto enabled_print_services = 3;
414    }
415    optional PrintService print_service = 44;
416
417    message QuickSettings {
418        option (android.msg_privacy).dest = DEST_EXPLICIT;
419
420        // Holds comma-separated list of ordering of QuickSettings tiles.
421        optional SettingProto tiles = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
422        optional SettingProto auto_added_tiles = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
423    }
424    optional QuickSettings qs = 45;
425
426    message Rotation {
427        option (android.msg_privacy).dest = DEST_EXPLICIT;
428
429        optional SettingProto show_rotation_suggestions = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
430        optional SettingProto num_rotation_suggestions_accepted = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
431    }
432    optional Rotation rotation = 46;
433
434    // User-selected RTT mode. When on, outgoing and incoming calls will be
435    // answered as RTT calls when supported by the device and carrier. Boolean
436    // value.
437    optional SettingProto rtt_calling_mode = 69 [ (android.privacy).dest = DEST_AUTOMATIC ];
438
439    message Screensaver {
440        option (android.msg_privacy).dest = DEST_EXPLICIT;
441
442        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
443        optional SettingProto components = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
444        optional SettingProto activate_on_dock = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
445        optional SettingProto activate_on_sleep = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
446        optional SettingProto default_component = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
447    }
448    optional Screensaver screensaver = 47;
449
450    message Search {
451        option (android.msg_privacy).dest = DEST_EXPLICIT;
452
453        optional SettingProto global_search_activity = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
454        optional SettingProto num_promoted_sources = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
455        optional SettingProto max_results_to_display = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
456        optional SettingProto max_results_per_source = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
457        optional SettingProto web_results_override_limit = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
458        optional SettingProto promoted_source_deadline_millis = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
459        optional SettingProto source_timeout_millis = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
460        optional SettingProto prefill_millis = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
461        optional SettingProto max_stat_age_millis = 9 [ (android.privacy).dest = DEST_AUTOMATIC ];
462        optional SettingProto max_source_event_age_millis = 10 [ (android.privacy).dest = DEST_AUTOMATIC ];
463        optional SettingProto min_impressions_for_source_ranking = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
464        optional SettingProto min_clicks_for_source_ranking = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
465        optional SettingProto max_shortcuts_returned = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
466        optional SettingProto query_thread_core_pool_size = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
467        optional SettingProto query_thread_max_pool_size = 15 [ (android.privacy).dest = DEST_AUTOMATIC ];
468        optional SettingProto shortcut_refresh_core_pool_size = 16 [ (android.privacy).dest = DEST_AUTOMATIC ];
469        optional SettingProto shortcut_refresh_max_pool_size = 17 [ (android.privacy).dest = DEST_AUTOMATIC ];
470        optional SettingProto thread_keepalive_seconds = 18 [ (android.privacy).dest = DEST_AUTOMATIC ];
471        optional SettingProto per_source_concurrent_query_limit = 19 [ (android.privacy).dest = DEST_AUTOMATIC ];
472    }
473    optional Search search = 48;
474
475    message SpellChecker {
476        option (android.msg_privacy).dest = DEST_EXPLICIT;
477
478        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
479        // "selected_spell_checker" in code.
480        optional SettingProto selected = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
481        // "selected_spell_checker_subtype" in code.
482        optional SettingProto selected_subtype = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
483    }
484    optional SpellChecker spell_checker = 49;
485
486    optional SettingProto settings_classname = 50 [ (android.privacy).dest = DEST_AUTOMATIC ];
487    optional SettingProto show_first_crash_dialog_dev_option = 51 [ (android.privacy).dest = DEST_AUTOMATIC ];
488    optional SettingProto skip_first_use_hints = 52 [ (android.privacy).dest = DEST_AUTOMATIC ];
489    optional SettingProto sleep_timeout = 53 [ (android.privacy).dest = DEST_AUTOMATIC ];
490    optional SettingProto sms_default_application = 54 [ (android.privacy).dest = DEST_AUTOMATIC ];
491
492    message Sounds {
493        option (android.msg_privacy).dest = DEST_EXPLICIT;
494
495        optional SettingProto charging_sounds_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
496        optional SettingProto charging_vibration_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
497    }
498    optional Sounds sounds = 72;
499
500    // Defines whether managed profile ringtones should be synced from its
501    // parent profile.
502    optional SettingProto sync_parent_sounds = 55 [ (android.privacy).dest = DEST_AUTOMATIC ];
503    optional SettingProto system_navigation_keys_enabled = 56 [ (android.privacy).dest = DEST_AUTOMATIC ];
504    optional SettingProto theme_customization_overlay_packages = 75 [ (android.privacy).dest = DEST_AUTOMATIC ];
505    optional SettingProto trust_agents_initialized = 57 [ (android.privacy).dest = DEST_AUTOMATIC ];
506
507    message Tts {
508        option (android.msg_privacy).dest = DEST_EXPLICIT;
509
510        optional SettingProto default_rate = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
511        optional SettingProto default_pitch = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
512        optional SettingProto default_synth = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
513        optional SettingProto default_locale = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
514        optional SettingProto enabled_plugins = 5;
515    }
516    optional Tts tts = 58;
517
518    message Tty {
519        option (android.msg_privacy).dest = DEST_EXPLICIT;
520
521        optional SettingProto tty_mode_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
522        // The preferred TTY mode:
523        // 0 = TTy Off, CDMA default
524        // 1 = TTY Full
525        // 2 = TTY HCO
526        // 3 = TTY VCO
527        optional SettingProto preferred_tty_mode = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
528    }
529    optional Tty tty = 59;
530
531    message Tv {
532        option (android.msg_privacy).dest = DEST_EXPLICIT;
533
534        // Whether the current user has been set up via setup wizard (0 = false,
535        // 1 = true). This value differs from USER_SETUP_COMPLETE in that it can be
536        // reset back to 0 in case SetupWizard has been re-enabled on TV devices.
537        optional SettingProto user_setup_complete = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
538        optional SettingProto input_hidden_inputs = 2;
539        optional SettingProto input_custom_labels = 3;
540    }
541    optional Tv tv = 60;
542
543    optional SettingProto ui_night_mode = 61 [ (android.privacy).dest = DEST_AUTOMATIC ];
544    optional SettingProto unknown_sources_default_reversed = 62 [ (android.privacy).dest = DEST_AUTOMATIC ];
545    optional SettingProto usb_audio_automatic_routing_disabled = 63 [ (android.privacy).dest = DEST_AUTOMATIC ];
546    // Whether the current user has been set up via setup wizard (0 = false, 1 = true)
547    optional SettingProto user_setup_complete = 64 [ (android.privacy).dest = DEST_AUTOMATIC ];
548
549    message Voice {
550        option (android.msg_privacy).dest = DEST_EXPLICIT;
551
552        // The currently selected voice interaction service flattened ComponentName.
553        optional SettingProto interaction_service = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
554        // The ComponentName string of the service to be used as the voice
555        // recognition service.
556        optional SettingProto recognition_service = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
557    }
558    optional Voice voice = 65;
559
560    message Volume {
561        option (android.msg_privacy).dest = DEST_EXPLICIT;
562
563        // What behavior should be invoked when the volume hush gesture is triggered
564        // One of VOLUME_HUSH_OFF, VOLUME_HUSH_VIBRATE, VOLUME_HUSH_MUTE.
565        optional SettingProto hush_gesture = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
566        // Persisted playback time after a user confirmation of an unsafe volume level.
567        optional SettingProto unsafe_volume_music_active_ms = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
568    }
569    optional Volume volume = 66;
570
571    message Vr {
572        option (android.msg_privacy).dest = DEST_EXPLICIT;
573
574        optional SettingProto display_mode = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
575        optional SettingProto enabled_listeners = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
576    }
577    optional Vr vr = 67;
578
579    optional SettingProto wake_gesture_enabled = 68 [ (android.privacy).dest = DEST_AUTOMATIC ];
580
581    message Zen {
582        option (android.msg_privacy).dest = DEST_EXPLICIT;
583
584        // If 0, turning on dnd manually will last indefinitely. Else if
585        // non-negative, turning on dnd manually will last for this many minutes.
586        // Else (if negative), turning on dnd manually will surface a dialog that
587        // prompts user to specify a duration.
588        optional SettingProto duration = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
589        optional SettingProto show_zen_upgrade_notification = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
590        optional SettingProto show_zen_settings_suggestion = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
591        optional SettingProto settings_updated = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
592        optional SettingProto settings_suggestion_viewed = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
593    }
594    optional Zen zen = 71;
595
596    // Please insert fields in alphabetical order and group them into messages
597    // if possible (to avoid reaching the method limit).
598    // Next tag = 82;
599}
600