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