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