• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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