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 SystemSettingsProto { 28 option (android.msg_privacy).dest = DEST_EXPLICIT; 29 30 repeated SettingsOperationProto historical_operations = 1; 31 32 optional SettingProto advanced_settings = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 33 34 message Alarm { 35 option (android.msg_privacy).dest = DEST_EXPLICIT; 36 37 // "alarm_alert" in code. 38 optional SettingProto default_uri = 1; 39 optional SettingProto alert_cache = 2; 40 } 41 optional Alarm alarm = 3; 42 43 message Bluetooth { 44 option (android.msg_privacy).dest = DEST_EXPLICIT; 45 46 // Whether remote devices may discover and/or connect to this device: 47 // 2 -- discoverable and connectable 48 // 1 -- connectable but not discoverable 49 // 0 -- neither connectable nor discoverable 50 optional SettingProto discoverability = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 51 optional SettingProto discoverability_timeout_secs = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 52 } 53 optional Bluetooth bluetooth = 4; 54 55 reserved 5; // date_format is not used 56 57 optional SettingProto display_color_mode = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; 58 59 message DevOptions { 60 option (android.msg_privacy).dest = DEST_EXPLICIT; 61 62 // Show pointer location on screen? 0 = no, 1 = yes. "pointer_location 63 // in code. 64 optional SettingProto pointer_location = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 65 optional SettingProto show_touches = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 66 // Log raw orientation data from {@link 67 // com.android.server.policy.WindowOrientationListener} for use with the 68 // orientationplot.py tool. 69 // 0 = no, 1 = yes 70 optional SettingProto window_orientation_listener_log = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 71 optional SettingProto show_key_presses = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 72 optional SettingProto touchpad_visualizer = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; 73 } 74 optional DevOptions developer_options = 7; 75 76 message DtmfTone { 77 option (android.msg_privacy).dest = DEST_EXPLICIT; 78 79 // "dtmf_tone_when_dialing" in code. 80 optional SettingProto play_when_dialing = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 81 // "dtmf_tone_type_when_dialing" in code. 82 optional SettingProto type_played_when_dialing = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 83 } 84 optional DtmfTone dtmf_tone = 8; 85 86 optional SettingProto egg_mode = 9 [ (android.privacy).dest = DEST_AUTOMATIC ]; 87 optional SettingProto end_button_behavior = 10 [ (android.privacy).dest = DEST_AUTOMATIC ]; 88 optional SettingProto font_scale = 11 [ (android.privacy).dest = DEST_AUTOMATIC ]; 89 90 message HapticFeedback { 91 option (android.msg_privacy).dest = DEST_EXPLICIT; 92 93 optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 94 optional SettingProto intensity = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 95 } 96 optional HapticFeedback haptic_feedback = 12; 97 98 // Whether the hearing aid is enabled. The value is boolean (1 or 0). 99 optional SettingProto hearing_aid = 13 [ (android.privacy).dest = DEST_AUTOMATIC ]; 100 optional SettingProto lock_to_app_enabled = 14 [ (android.privacy).dest = DEST_AUTOMATIC ]; 101 102 message Lockscreen { 103 option (android.msg_privacy).dest = DEST_EXPLICIT; 104 105 optional SettingProto sounds_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 106 optional SettingProto disabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 107 } 108 optional Lockscreen lockscreen = 15; 109 110 // The system default media button event receiver. 111 optional SettingProto media_button_receiver = 16; 112 113 message Notification { 114 option (android.msg_privacy).dest = DEST_EXPLICIT; 115 116 optional SettingProto sound = 1; 117 optional SettingProto sound_cache = 2; 118 optional SettingProto light_pulse = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 119 optional SettingProto vibration_intensity = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 120 optional SettingProto camera_flash_notification = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; 121 optional SettingProto screen_flash_notification = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; 122 optional SettingProto screen_flash_notification_color_global = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; 123 } 124 optional Notification notification = 17; 125 126 message Pointer { 127 option (android.msg_privacy).dest = DEST_EXPLICIT; 128 129 optional SettingProto pointer_fill_style = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 130 optional SettingProto pointer_stroke_style = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 131 optional SettingProto pointer_scale = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 132 } 133 optional Pointer pointer = 37; 134 optional SettingProto pointer_speed = 18 [ (android.privacy).dest = DEST_AUTOMATIC ]; 135 136 message Ringtone { 137 option (android.msg_privacy).dest = DEST_EXPLICIT; 138 139 // "ringtone" in code. The system-wide default ringtone URI. 140 optional SettingProto default_uri = 1; 141 optional SettingProto cache = 2; 142 } 143 optional Ringtone ringtone = 19; 144 145 message Rotation { 146 option (android.msg_privacy).dest = DEST_EXPLICIT; 147 148 // Control whether the accelerometer will be used to change screen 149 // orientation. If 0, it will not be used unless explicitly requested 150 // by the application; if 1, it will be used by default unless 151 // explicitly disabled by the application. 152 optional SettingProto accelerometer_rotation = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 153 // Default screen rotation when no other policy applies. 154 // When accelerometer_rotation is zero and no on-screen Activity expresses a 155 // preference, this rotation value will be used. Must be one of the 156 // {@link android.view.Surface#ROTATION_0 Surface rotation constants}. 157 optional SettingProto user_rotation = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 158 // Control whether the rotation lock toggle in the System UI should be hidden. 159 // Typically this is done for accessibility purposes to make it harder for 160 // the user to accidentally toggle the rotation lock while the display rotation 161 // has been locked for accessibility. 162 // If 0, then rotation lock toggle is not hidden for accessibility (although it may be 163 // unavailable for other reasons). If 1, then the rotation lock toggle is hidden. 164 optional SettingProto hide_rotation_lock_toggle_for_accessibility = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 165 } 166 optional Rotation rotation = 20; 167 168 reserved 21; // rtt_calling_mode moved to Settings.Secure 169 170 message Screen { 171 option (android.msg_privacy).dest = DEST_EXPLICIT; 172 173 optional SettingProto off_timeout = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 174 optional SettingProto brightness = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 175 optional SettingProto brightness_for_vr = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 176 optional SettingProto brightness_mode = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 177 optional SettingProto auto_brightness_adj = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; 178 optional SettingProto brightness_float = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; 179 optional SettingProto brightness_for_vr_float = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; 180 } 181 optional Screen screen = 22; 182 183 optional SettingProto setup_wizard_has_run = 23 [ (android.privacy).dest = DEST_AUTOMATIC ]; 184 optional SettingProto show_battery_percent = 24 [ (android.privacy).dest = DEST_AUTOMATIC ]; 185 optional SettingProto show_gtalk_service_status = 25 [ (android.privacy).dest = DEST_AUTOMATIC ]; 186 187 message Sip { 188 option (android.msg_privacy).dest = DEST_EXPLICIT; 189 190 optional SettingProto receive_calls = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 191 optional SettingProto call_options = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 192 optional SettingProto always = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 193 optional SettingProto address_only = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 194 } 195 optional Sip sip = 26; 196 197 optional SettingProto sound_effects_enabled = 27 [ (android.privacy).dest = DEST_AUTOMATIC ]; 198 optional SettingProto system_locales = 28 [ (android.privacy).dest = DEST_AUTOMATIC ]; 199 200 message Text { 201 option (android.msg_privacy).dest = DEST_EXPLICIT; 202 203 optional SettingProto auto_replace = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 204 optional SettingProto auto_caps = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 205 optional SettingProto auto_punctuate = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 206 optional SettingProto show_password = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 207 } 208 optional Text text = 29; 209 210 optional SettingProto time_12_24 = 30 [ (android.privacy).dest = DEST_AUTOMATIC ]; 211 212 message Touchpad { 213 option (android.msg_privacy).dest = DEST_EXPLICIT; 214 215 optional SettingProto natural_scrolling = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 216 optional SettingProto pointer_speed = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 217 optional SettingProto right_click_zone = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 218 optional SettingProto tap_to_click = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 219 optional SettingProto tap_dragging = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; 220 optional SettingProto three_finger_tap_customization = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; 221 optional SettingProto system_gestures = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; 222 optional SettingProto acceleration_enabled = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];; 223 } 224 optional Touchpad touchpad = 36; 225 226 message Mouse { 227 option (android.msg_privacy).dest = DEST_EXPLICIT; 228 229 optional SettingProto reverse_vertical_scrolling = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 230 optional SettingProto swap_primary_button = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 231 optional SettingProto scrolling_acceleration = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 232 optional SettingProto pointer_acceleration_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 233 optional SettingProto scrolling_speed = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; 234 } 235 236 optional Mouse mouse = 38; 237 238 optional SettingProto tty_mode = 31 [ (android.privacy).dest = DEST_AUTOMATIC ]; 239 240 message Vibrate { 241 option (android.msg_privacy).dest = DEST_EXPLICIT; 242 243 optional SettingProto on = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 244 optional SettingProto input_devices = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 245 // Whether silent mode should allow vibration feedback. This is used 246 // internally in AudioService and the Sound settings activity to coordinate 247 // decoupling of vibrate and silent modes. This setting will likely be 248 // removed in a future release with support for audio/vibe feedback 249 // profiles. 250 // Not used anymore. On devices with vibrator, the user explicitly selects 251 // silent or vibrate mode. Kept for use by legacy database upgrade code in 252 // DatabaseHelper. 253 optional SettingProto in_silent = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 254 optional SettingProto when_ringing = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 255 256 optional SettingProto alarm_intensity = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; 257 optional SettingProto media_intensity = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; 258 optional SettingProto ring_intensity = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; 259 // notification_intensity is already logged at Notification.vibration_intensity 260 // haptic_feedback_intensity is already logged at HapticFeedback.intensity 261 } 262 optional Vibrate vibrate = 32; 263 264 message Volume { 265 option (android.msg_privacy).dest = DEST_EXPLICIT; 266 267 optional SettingProto ring = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 268 optional SettingProto system = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; 269 optional SettingProto voice = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; 270 optional SettingProto music = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; 271 optional SettingProto alarm = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; 272 optional SettingProto notification = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; 273 optional SettingProto bluetooth_sco = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; 274 optional SettingProto accessibility = 8 [ (android.privacy).dest = DEST_AUTOMATIC ]; 275 optional SettingProto master = 9 [ (android.privacy).dest = DEST_AUTOMATIC ]; 276 optional SettingProto master_mono = 10 [ (android.privacy).dest = DEST_AUTOMATIC ]; 277 // Determines which streams are affected by ringer mode changes. The stream 278 // type's bit will be set to 1 if it should be muted when going into an 279 // inaudible ringer mode. 280 optional SettingProto mode_ringer_streams_affected = 11 [ (android.privacy).dest = DEST_AUTOMATIC ]; 281 // Which streams are affected by mute. The stream type's bit should be set 282 // to 1 if it should be muted when a mute request is received. 283 optional SettingProto mute_streams_affected = 12 [ (android.privacy).dest = DEST_AUTOMATIC ]; 284 // Master balance (float -1.f = 100% left, 0.f = dead center, 1.f = 100% right). 285 optional SettingProto master_balance = 13 [ (android.privacy).dest = DEST_AUTOMATIC ]; 286 } 287 optional Volume volume = 33; 288 289 optional SettingProto when_to_make_wifi_calls = 34 [ (android.privacy).dest = DEST_AUTOMATIC ]; 290 291 optional SettingProto apply_ramping_ringer = 35 [ (android.privacy).dest = DEST_AUTOMATIC ]; 292 293 message Display { 294 option (android.msg_privacy).dest = DEST_EXPLICIT; 295 296 optional SettingProto cv_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; 297 } 298 optional Display display = 39; 299 300 301 302 // Please insert fields in alphabetical order and group them into messages 303 // if possible (to avoid reaching the method limit). 304 // Next tag = 40; 305} 306