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