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        // del: silence_notification_count = 5
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 SettingProto silence_alarms_touch_count = 9 [ (android.privacy).dest =
208            DEST_AUTOMATIC ];
209        optional SettingProto silence_calls_touch_count = 10 [ (android.privacy).dest =
210            DEST_AUTOMATIC ];
211        optional SettingProto silence_timer_touch_count = 11 [ (android.privacy).dest =
212            DEST_AUTOMATIC ];
213        optional SettingProto skip_touch_count = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
214        optional SettingProto aware_tap_pause_gesture_count = 13 [
215            (android.privacy).dest =
216            DEST_AUTOMATIC ];
217        optional SettingProto aware_tap_pause_touch_count = 14 [ (android.privacy).dest =
218            DEST_AUTOMATIC ];
219    }
220    optional Gesture gesture = 74;
221
222    optional SettingProto immersive_mode_confirmations = 24 [ (android.privacy).dest = DEST_AUTOMATIC ];
223
224    message Incall {
225        option (android.msg_privacy).dest = DEST_EXPLICIT;
226
227        optional SettingProto power_button_behavior = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
228        optional SettingProto back_button_behavior = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
229    }
230    optional Incall incall = 25;
231
232    message InputMethods {
233        option (android.msg_privacy).dest = DEST_EXPLICIT;
234
235        optional SettingProto default_input_method = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
236        optional SettingProto disabled_system_input_methods = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
237        optional SettingProto enabled_input_methods = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
238        optional SettingProto method_selector_visibility = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
239        optional SettingProto subtype_history = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
240        optional SettingProto selected_input_method_subtype = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
241        optional SettingProto show_ime_with_hard_keyboard = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
242    }
243    optional InputMethods input_methods = 26;
244
245    optional SettingProto install_non_market_apps = 27 [ (android.privacy).dest = DEST_AUTOMATIC ];
246    optional SettingProto instant_apps_enabled = 28 [ (android.privacy).dest = DEST_AUTOMATIC ];
247    // Uri of the slice that's presented on the keyguard. Defaults to a slice
248    // with the date and next alarm.
249    optional SettingProto keyguard_slice_uri = 29;
250    optional SettingProto last_setup_shown = 30 [ (android.privacy).dest = DEST_AUTOMATIC ];
251
252    message Launcher {
253        option (android.msg_privacy).dest = DEST_EXPLICIT;
254
255        optional SettingProto swipe_up_to_switch_apps_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
256    }
257    optional Launcher launcher = 70;
258
259    message Location {
260        option (android.msg_privacy).dest = DEST_EXPLICIT;
261
262        // The degree of location access enabled by the user.
263        optional SettingProto mode = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
264        // The App or module that changes the location mode.
265        optional SettingProto changer = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
266
267        // What should happen to the location permissions when upgraded to Android Q.
268        // 0 == revoke permissions. Anything else == do nothing.
269        optional SettingProto permissions_upgrade_to_q_mode = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
270    }
271    optional Location location = 31;
272
273    // How frequently will the user be reminded about location permission grants
274    message LocationAccessCheck {
275        option (android.msg_privacy).dest = DEST_EXPLICIT;
276
277        // Time in between periodic checks
278        optional SettingProto interval_millis = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
279
280        // Time in between the user granting a location permission and a check
281        optional SettingProto delay_millis = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
282    }
283    optional LocationAccessCheck location_access_check = 73;
284
285    message LockScreen {
286        option (android.msg_privacy).dest = DEST_EXPLICIT;
287
288        optional SettingProto lock_after_timeout = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
289        optional SettingProto allow_private_notifications = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
290        optional SettingProto allow_remote_input = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
291        optional SettingProto show_notifications = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
292    }
293    optional LockScreen lock_screen = 32;
294
295    // Whether lock-to-app will lock the keyguard when exiting.
296    optional SettingProto lock_to_app_exit_locked = 33 [ (android.privacy).dest = DEST_AUTOMATIC ];
297    optional SettingProto lockdown_in_power_menu = 34 [ (android.privacy).dest = DEST_AUTOMATIC ];
298    optional SettingProto long_press_timeout = 35 [ (android.privacy).dest = DEST_AUTOMATIC ];
299
300    message ManagedProfile {
301        option (android.msg_privacy).dest = DEST_EXPLICIT;
302
303        optional SettingProto contact_remote_search = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
304    }
305    optional ManagedProfile managed_profile = 36;
306
307    message Mount {
308        option (android.msg_privacy).dest = DEST_EXPLICIT;
309
310        // Whether or not alert sounds are played on StorageManagerService events.
311        optional SettingProto play_notification_snd = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
312        optional SettingProto ums_autostart = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
313        optional SettingProto ums_prompt = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
314        optional SettingProto ums_notify_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
315    }
316    optional Mount mount = 37;
317
318    optional SettingProto multi_press_timeout = 38 [ (android.privacy).dest = DEST_AUTOMATIC ];
319
320    optional SettingProto navigation_mode = 76 [ (android.privacy).dest = DEST_AUTOMATIC ];
321    message NfcPayment {
322        option (android.msg_privacy).dest = DEST_EXPLICIT;
323
324        optional SettingProto default_component = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
325        // Whether NFC payment is handled by the foreground application or a default.
326        optional SettingProto foreground = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
327        // The query URI to find an NFC service to install.
328        optional SettingProto payment_service_search_uri = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
329    }
330    optional NfcPayment nfc_payment = 39;
331
332    message NightDisplay {
333        option (android.msg_privacy).dest = DEST_EXPLICIT;
334
335        optional SettingProto activated = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
336        optional SettingProto auto_mode = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
337        optional SettingProto color_temperature = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
338        optional SettingProto custom_start_time = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
339        optional SettingProto custom_end_time = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
340        optional SettingProto last_activated_time = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
341    }
342    optional NightDisplay night_display = 40;
343
344    message Notification {
345        option (android.msg_privacy).dest = DEST_EXPLICIT;
346
347        // Read only list of the service components that the current user has
348        // explicitly allowed to see and assist with all of the user's
349        // notifications.
350        // "enabled_notification_assistant" in code.
351        optional SettingProto enabled_assistant = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
352        optional SettingProto enabled_listeners = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
353        optional SettingProto enabled_policy_access_packages = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
354        optional SettingProto badging = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
355        optional SettingProto show_note_about_notification_hiding = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
356        optional SettingProto in_call_notification_enabled = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
357        optional SettingProto bubbles = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
358    }
359    optional Notification notification = 41;
360
361    message PackageVerifier {
362        option (android.msg_privacy).dest = DEST_EXPLICIT;
363
364        optional SettingProto user_consent = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
365        optional SettingProto state = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
366    }
367    optional PackageVerifier package_verifier = 42;
368
369    message ParentalControl {
370        option (android.msg_privacy).dest = DEST_EXPLICIT;
371
372        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
373        optional SettingProto last_update = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
374        optional SettingProto redirect_url = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
375    }
376    optional ParentalControl parental_control = 43;
377
378    message PrintService {
379        option (android.msg_privacy).dest = DEST_EXPLICIT;
380
381        // The query URI to find a print service to install.
382        optional SettingProto search_uri = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
383        optional SettingProto disabled_print_services = 2;
384        optional SettingProto enabled_print_services = 3;
385    }
386    optional PrintService print_service = 44;
387
388    message QuickSettings {
389        option (android.msg_privacy).dest = DEST_EXPLICIT;
390
391        // Holds comma-separated list of ordering of QuickSettings tiles.
392        optional SettingProto tiles = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
393        optional SettingProto auto_added_tiles = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
394    }
395    optional QuickSettings qs = 45;
396
397    message Rotation {
398        option (android.msg_privacy).dest = DEST_EXPLICIT;
399
400        optional SettingProto show_rotation_suggestions = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
401        optional SettingProto num_rotation_suggestions_accepted = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
402    }
403    optional Rotation rotation = 46;
404
405    // User-selected RTT mode. When on, outgoing and incoming calls will be
406    // answered as RTT calls when supported by the device and carrier. Boolean
407    // value.
408    optional SettingProto rtt_calling_mode = 69 [ (android.privacy).dest = DEST_AUTOMATIC ];
409
410    message Screensaver {
411        option (android.msg_privacy).dest = DEST_EXPLICIT;
412
413        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
414        optional SettingProto components = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
415        optional SettingProto activate_on_dock = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
416        optional SettingProto activate_on_sleep = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
417        optional SettingProto default_component = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
418    }
419    optional Screensaver screensaver = 47;
420
421    message Search {
422        option (android.msg_privacy).dest = DEST_EXPLICIT;
423
424        optional SettingProto global_search_activity = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
425        optional SettingProto num_promoted_sources = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
426        optional SettingProto max_results_to_display = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
427        optional SettingProto max_results_per_source = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
428        optional SettingProto web_results_override_limit = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
429        optional SettingProto promoted_source_deadline_millis = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
430        optional SettingProto source_timeout_millis = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
431        optional SettingProto prefill_millis = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
432        optional SettingProto max_stat_age_millis = 9 [ (android.privacy).dest = DEST_AUTOMATIC ];
433        optional SettingProto max_source_event_age_millis = 10 [ (android.privacy).dest = DEST_AUTOMATIC ];
434        optional SettingProto min_impressions_for_source_ranking = 11 [ (android.privacy).dest = DEST_AUTOMATIC ];
435        optional SettingProto min_clicks_for_source_ranking = 12 [ (android.privacy).dest = DEST_AUTOMATIC ];
436        optional SettingProto max_shortcuts_returned = 13 [ (android.privacy).dest = DEST_AUTOMATIC ];
437        optional SettingProto query_thread_core_pool_size = 14 [ (android.privacy).dest = DEST_AUTOMATIC ];
438        optional SettingProto query_thread_max_pool_size = 15 [ (android.privacy).dest = DEST_AUTOMATIC ];
439        optional SettingProto shortcut_refresh_core_pool_size = 16 [ (android.privacy).dest = DEST_AUTOMATIC ];
440        optional SettingProto shortcut_refresh_max_pool_size = 17 [ (android.privacy).dest = DEST_AUTOMATIC ];
441        optional SettingProto thread_keepalive_seconds = 18 [ (android.privacy).dest = DEST_AUTOMATIC ];
442        optional SettingProto per_source_concurrent_query_limit = 19 [ (android.privacy).dest = DEST_AUTOMATIC ];
443    }
444    optional Search search = 48;
445
446    message SpellChecker {
447        option (android.msg_privacy).dest = DEST_EXPLICIT;
448
449        optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
450        // "selected_spell_checker" in code.
451        optional SettingProto selected = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
452        // "selected_spell_checker_subtype" in code.
453        optional SettingProto selected_subtype = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
454    }
455    optional SpellChecker spell_checker = 49;
456
457    optional SettingProto settings_classname = 50 [ (android.privacy).dest = DEST_AUTOMATIC ];
458    optional SettingProto show_first_crash_dialog_dev_option = 51 [ (android.privacy).dest = DEST_AUTOMATIC ];
459    optional SettingProto skip_first_use_hints = 52 [ (android.privacy).dest = DEST_AUTOMATIC ];
460    optional SettingProto sleep_timeout = 53 [ (android.privacy).dest = DEST_AUTOMATIC ];
461    optional SettingProto sms_default_application = 54 [ (android.privacy).dest = DEST_AUTOMATIC ];
462
463    message Sounds {
464        option (android.msg_privacy).dest = DEST_EXPLICIT;
465
466        optional SettingProto charging_sounds_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
467        optional SettingProto charging_vibration_enabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
468    }
469    optional Sounds sounds = 72;
470
471    // Defines whether managed profile ringtones should be synced from its
472    // parent profile.
473    optional SettingProto sync_parent_sounds = 55 [ (android.privacy).dest = DEST_AUTOMATIC ];
474    optional SettingProto system_navigation_keys_enabled = 56 [ (android.privacy).dest = DEST_AUTOMATIC ];
475    optional SettingProto theme_customization_overlay_packages = 75 [ (android.privacy).dest = DEST_AUTOMATIC ];
476    optional SettingProto trust_agents_initialized = 57 [ (android.privacy).dest = DEST_AUTOMATIC ];
477
478    message Tts {
479        option (android.msg_privacy).dest = DEST_EXPLICIT;
480
481        optional SettingProto default_rate = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
482        optional SettingProto default_pitch = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
483        optional SettingProto default_synth = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
484        optional SettingProto default_locale = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
485        optional SettingProto enabled_plugins = 5;
486    }
487    optional Tts tts = 58;
488
489    message Tty {
490        option (android.msg_privacy).dest = DEST_EXPLICIT;
491
492        optional SettingProto tty_mode_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
493        // The preferred TTY mode:
494        // 0 = TTy Off, CDMA default
495        // 1 = TTY Full
496        // 2 = TTY HCO
497        // 3 = TTY VCO
498        optional SettingProto preferred_tty_mode = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
499    }
500    optional Tty tty = 59;
501
502    message Tv {
503        option (android.msg_privacy).dest = DEST_EXPLICIT;
504
505        // Whether the current user has been set up via setup wizard (0 = false,
506        // 1 = true). This value differs from USER_SETUP_COMPLETE in that it can be
507        // reset back to 0 in case SetupWizard has been re-enabled on TV devices.
508        optional SettingProto user_setup_complete = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
509        optional SettingProto input_hidden_inputs = 2;
510        optional SettingProto input_custom_labels = 3;
511    }
512    optional Tv tv = 60;
513
514    optional SettingProto ui_night_mode = 61 [ (android.privacy).dest = DEST_AUTOMATIC ];
515    optional SettingProto unknown_sources_default_reversed = 62 [ (android.privacy).dest = DEST_AUTOMATIC ];
516    optional SettingProto usb_audio_automatic_routing_disabled = 63 [ (android.privacy).dest = DEST_AUTOMATIC ];
517    // Whether the current user has been set up via setup wizard (0 = false, 1 = true)
518    optional SettingProto user_setup_complete = 64 [ (android.privacy).dest = DEST_AUTOMATIC ];
519
520    message Voice {
521        option (android.msg_privacy).dest = DEST_EXPLICIT;
522
523        // The currently selected voice interaction service flattened ComponentName.
524        optional SettingProto interaction_service = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
525        // The ComponentName string of the service to be used as the voice
526        // recognition service.
527        optional SettingProto recognition_service = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
528    }
529    optional Voice voice = 65;
530
531    message Volume {
532        option (android.msg_privacy).dest = DEST_EXPLICIT;
533
534        // What behavior should be invoked when the volume hush gesture is triggered
535        // One of VOLUME_HUSH_OFF, VOLUME_HUSH_VIBRATE, VOLUME_HUSH_MUTE.
536        optional SettingProto hush_gesture = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
537        // Persisted playback time after a user confirmation of an unsafe volume level.
538        optional SettingProto unsafe_volume_music_active_ms = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
539    }
540    optional Volume volume = 66;
541
542    message Vr {
543        option (android.msg_privacy).dest = DEST_EXPLICIT;
544
545        optional SettingProto display_mode = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
546        optional SettingProto enabled_listeners = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
547    }
548    optional Vr vr = 67;
549
550    optional SettingProto wake_gesture_enabled = 68 [ (android.privacy).dest = DEST_AUTOMATIC ];
551
552    message Zen {
553        option (android.msg_privacy).dest = DEST_EXPLICIT;
554
555        // If 0, turning on dnd manually will last indefinitely. Else if
556        // non-negative, turning on dnd manually will last for this many minutes.
557        // Else (if negative), turning on dnd manually will surface a dialog that
558        // prompts user to specify a duration.
559        optional SettingProto duration = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
560        optional SettingProto show_zen_upgrade_notification = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
561        optional SettingProto show_zen_settings_suggestion = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
562        optional SettingProto settings_updated = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
563        optional SettingProto settings_suggestion_viewed = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
564    }
565    optional Zen zen = 71;
566
567    // Please insert fields in alphabetical order and group them into messages
568    // if possible (to avoid reaching the method limit).
569    // Next tag = 77;
570}
571