/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto2"; package android.providers.settings; option java_multiple_files = true; import "frameworks/base/core/proto/android/providers/settings/common.proto"; import "frameworks/base/core/proto/android/privacy.proto"; // Note: it's a conscious decision to add each setting as a separate field. This // allows annotating each setting with its own privacy tag. message SystemSettingsProto { option (android.msg_privacy).dest = DEST_EXPLICIT; repeated SettingsOperationProto historical_operations = 1; optional SettingProto advanced_settings = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; message Alarm { option (android.msg_privacy).dest = DEST_EXPLICIT; // "alarm_alert" in code. optional SettingProto default_uri = 1; optional SettingProto alert_cache = 2; } optional Alarm alarm = 3; message Bluetooth { option (android.msg_privacy).dest = DEST_EXPLICIT; // Whether remote devices may discover and/or connect to this device: // 2 -- discoverable and connectable // 1 -- connectable but not discoverable // 0 -- neither connectable nor discoverable optional SettingProto discoverability = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto discoverability_timeout_secs = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Bluetooth bluetooth = 4; reserved 5; // date_format is not used optional SettingProto display_color_mode = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; message DevOptions { option (android.msg_privacy).dest = DEST_EXPLICIT; // Show pointer location on screen? 0 = no, 1 = yes. "pointer_location // in code. optional SettingProto pointer_location = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto show_touches = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Log raw orientation data from {@link // com.android.server.policy.WindowOrientationListener} for use with the // orientationplot.py tool. // 0 = no, 1 = yes optional SettingProto window_orientation_listener_log = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto show_key_presses = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional DevOptions developer_options = 7; message DtmfTone { option (android.msg_privacy).dest = DEST_EXPLICIT; // "dtmf_tone_when_dialing" in code. optional SettingProto play_when_dialing = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; // "dtmf_tone_type_when_dialing" in code. optional SettingProto type_played_when_dialing = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional DtmfTone dtmf_tone = 8; optional SettingProto egg_mode = 9 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto end_button_behavior = 10 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto font_scale = 11 [ (android.privacy).dest = DEST_AUTOMATIC ]; message HapticFeedback { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto intensity = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional HapticFeedback haptic_feedback = 12; // Whether the hearing aid is enabled. The value is boolean (1 or 0). optional SettingProto hearing_aid = 13 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto lock_to_app_enabled = 14 [ (android.privacy).dest = DEST_AUTOMATIC ]; message Lockscreen { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto sounds_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto disabled = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Lockscreen lockscreen = 15; // The system default media button event receiver. optional SettingProto media_button_receiver = 16; message Notification { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto sound = 1; optional SettingProto sound_cache = 2; optional SettingProto light_pulse = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto vibration_intensity = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto camera_flash_notification = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto screen_flash_notification = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto screen_flash_notification_color_global = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Notification notification = 17; optional SettingProto pointer_speed = 18 [ (android.privacy).dest = DEST_AUTOMATIC ]; message Ringtone { option (android.msg_privacy).dest = DEST_EXPLICIT; // "ringtone" in code. The system-wide default ringtone URI. optional SettingProto default_uri = 1; optional SettingProto cache = 2; } optional Ringtone ringtone = 19; message Rotation { option (android.msg_privacy).dest = DEST_EXPLICIT; // Control whether the accelerometer will be used to change screen // orientation. If 0, it will not be used unless explicitly requested // by the application; if 1, it will be used by default unless // explicitly disabled by the application. optional SettingProto accelerometer_rotation = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Default screen rotation when no other policy applies. // When accelerometer_rotation is zero and no on-screen Activity expresses a // preference, this rotation value will be used. Must be one of the // {@link android.view.Surface#ROTATION_0 Surface rotation constants}. optional SettingProto user_rotation = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Control whether the rotation lock toggle in the System UI should be hidden. // Typically this is done for accessibility purposes to make it harder for // the user to accidentally toggle the rotation lock while the display rotation // has been locked for accessibility. // If 0, then rotation lock toggle is not hidden for accessibility (although it may be // unavailable for other reasons). If 1, then the rotation lock toggle is hidden. optional SettingProto hide_rotation_lock_toggle_for_accessibility = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Rotation rotation = 20; reserved 21; // rtt_calling_mode moved to Settings.Secure message Screen { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto off_timeout = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto brightness = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto brightness_for_vr = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto brightness_mode = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto auto_brightness_adj = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto brightness_float = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto brightness_for_vr_float = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Screen screen = 22; optional SettingProto setup_wizard_has_run = 23 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto show_battery_percent = 24 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto show_gtalk_service_status = 25 [ (android.privacy).dest = DEST_AUTOMATIC ]; message Sip { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto receive_calls = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto call_options = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto always = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto address_only = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Sip sip = 26; optional SettingProto sound_effects_enabled = 27 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto system_locales = 28 [ (android.privacy).dest = DEST_AUTOMATIC ]; message Text { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto auto_replace = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto auto_caps = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto auto_punctuate = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto show_password = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Text text = 29; optional SettingProto time_12_24 = 30 [ (android.privacy).dest = DEST_AUTOMATIC ]; message Touchpad { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto natural_scrolling = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto pointer_speed = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto right_click_zone = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto tap_to_click = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Touchpad touchpad = 36; optional SettingProto tty_mode = 31 [ (android.privacy).dest = DEST_AUTOMATIC ]; message Vibrate { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto on = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto input_devices = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Whether silent mode should allow vibration feedback. This is used // internally in AudioService and the Sound settings activity to coordinate // decoupling of vibrate and silent modes. This setting will likely be // removed in a future release with support for audio/vibe feedback // profiles. // Not used anymore. On devices with vibrator, the user explicitly selects // silent or vibrate mode. Kept for use by legacy database upgrade code in // DatabaseHelper. optional SettingProto in_silent = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto when_ringing = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto alarm_intensity = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto media_intensity = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto ring_intensity = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; // notification_intensity is already logged at Notification.vibration_intensity // haptic_feedback_intensity is already logged at HapticFeedback.intensity } optional Vibrate vibrate = 32; message Volume { option (android.msg_privacy).dest = DEST_EXPLICIT; optional SettingProto ring = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto system = 2 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto voice = 3 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto music = 4 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto alarm = 5 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto notification = 6 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto bluetooth_sco = 7 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto accessibility = 8 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto master = 9 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto master_mono = 10 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Determines which streams are affected by ringer mode changes. The stream // type's bit will be set to 1 if it should be muted when going into an // inaudible ringer mode. optional SettingProto mode_ringer_streams_affected = 11 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Which streams are affected by mute. The stream type's bit should be set // to 1 if it should be muted when a mute request is received. optional SettingProto mute_streams_affected = 12 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Master balance (float -1.f = 100% left, 0.f = dead center, 1.f = 100% right). optional SettingProto master_balance = 13 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Volume volume = 33; optional SettingProto when_to_make_wifi_calls = 34 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto apply_ramping_ringer = 35 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Please insert fields in alphabetical order and group them into messages // if possible (to avoid reaching the method limit). // Next tag = 37; }