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