diff --git a/core/proto/android/os/incident.proto b/core/proto/android/os/incident.proto index c3b0ff10b2d84..ac9ebe06ae0eb 100644 --- a/core/proto/android/os/incident.proto +++ b/core/proto/android/os/incident.proto @@ -22,6 +22,7 @@ option java_outer_classname = "IncidentProtoMetadata"; import "frameworks/base/libs/incident/proto/android/privacy.proto"; import "frameworks/base/core/proto/android/service/fingerprint.proto"; import "frameworks/base/core/proto/android/service/netstats.proto"; +import "frameworks/base/core/proto/android/providers/settings.proto"; package android.os; @@ -51,4 +52,5 @@ message IncidentProto { // System Services android.service.fingerprint.FingerprintServiceDumpProto fingerprint = 3000; android.service.NetworkStatsServiceDumpProto netstats = 3001; + android.providers.settings.SettingsServiceDumpProto settings = 3002; } diff --git a/core/proto/android/providers/settings.proto b/core/proto/android/providers/settings.proto new file mode 100644 index 0000000000000..7674d7a524a08 --- /dev/null +++ b/core/proto/android/providers/settings.proto @@ -0,0 +1,605 @@ +/* + * 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 = "proto3"; + +package android.providers.settings; + +option java_multiple_files = true; +option java_outer_classname = "SettingsServiceProto"; + +message SettingsServiceDumpProto { + // Per user settings + repeated UserSettingsProto user_settings = 1; + + // Global settings + GlobalSettingsProto global_settings = 2; +} + +message UserSettingsProto { + // Should be 0, 10, 11, 12, etc. where 0 is the owner. + int32 user_id = 1; + + // The secure settings for this user + SecureSettingsProto secure_settings = 2; + + // The system settings for this user + SystemSettingsProto system_settings = 3; +} + +message GlobalSettingsProto { + // Historical operations + repeated SettingsOperationProto historical_op = 1; + + SettingProto add_users_when_locked = 2; + SettingProto enable_accessibility_global_gesture_enabled = 3; + SettingProto airplane_mode_on = 4; + SettingProto theater_mode_on = 5; + SettingProto radio_bluetooth = 6; + SettingProto radio_wifi = 7; + SettingProto radio_wimax = 8; + SettingProto radio_cell = 9; + SettingProto radio_nfc = 10; + SettingProto airplane_mode_radios = 11; + SettingProto airplane_mode_toggleable_radios = 12; + SettingProto bluetooth_disabled_profiles = 13; + SettingProto bluetooth_interoperability_list = 14; + SettingProto wifi_sleep_policy = 15; + SettingProto auto_time = 16; + SettingProto auto_time_zone = 17; + SettingProto car_dock_sound = 18; + SettingProto car_undock_sound = 19; + SettingProto desk_dock_sound = 20; + SettingProto desk_undock_sound = 21; + SettingProto dock_sounds_enabled = 22; + SettingProto dock_sounds_enabled_when_accessibility = 23; + SettingProto lock_sound = 24; + SettingProto unlock_sound = 25; + SettingProto trusted_sound = 26; + SettingProto low_battery_sound = 27; + SettingProto power_sounds_enabled = 28; + SettingProto wireless_charging_started_sound = 29; + SettingProto charging_sounds_enabled = 30; + SettingProto stay_on_while_plugged_in = 31; + SettingProto bugreport_in_power_menu = 32; + SettingProto adb_enabled = 33; + SettingProto debug_view_attributes = 34; + SettingProto assisted_gps_enabled = 35; + SettingProto bluetooth_on = 36; + SettingProto cdma_cell_broadcast_sms = 37; + SettingProto cdma_roaming_mode = 38; + SettingProto cdma_subscription_mode = 39; + SettingProto data_activity_timeout_mobile = 40; + SettingProto data_activity_timeout_wifi = 41; + SettingProto data_roaming = 42; + SettingProto mdc_initial_max_retry = 43; + SettingProto force_allow_on_external = 44; + SettingProto development_force_resizable_activities = 45; + SettingProto development_enable_freeform_windows_support = 46; + SettingProto development_settings_enabled = 47; + SettingProto device_provisioned = 48; + SettingProto device_provisioning_mobile_data_enabled = 49; + SettingProto display_size_forced = 50; + SettingProto display_scaling_force = 51; + SettingProto download_max_bytes_over_mobile = 52; + SettingProto download_recommended_max_bytes_over_mobile = 53; + SettingProto hdmi_control_enabled = 54; + SettingProto hdmi_system_audio_enabled = 55; + SettingProto hdmi_control_auto_wakeup_enabled = 56; + SettingProto hdmi_control_auto_device_off_enabled = 57; + SettingProto mhl_input_switching_enabled = 58; + SettingProto mhl_power_charge_enabled = 59; + SettingProto mobile_data = 60; + SettingProto mobile_data_always_on = 61; + SettingProto connectivity_metrics_buffer_size = 62; + SettingProto netstats_enabled = 63; + SettingProto netstats_poll_interval = 64; + SettingProto netstats_time_cache_max_age = 65; + SettingProto netstats_global_alert_bytes = 66; + SettingProto netstats_sample_enabled = 67; + SettingProto netstats_dev_bucket_duration = 68; + SettingProto netstats_dev_persist_bytes = 69; + SettingProto netstats_dev_rotate_age = 70; + SettingProto netstats_dev_delete_age = 71; + SettingProto netstats_uid_bucket_duration = 72; + SettingProto netstats_uid_persist_bytes = 73; + SettingProto netstats_uid_rotate_age = 74; + SettingProto netstats_uid_delete_age = 75; + SettingProto netstats_uid_tag_bucket_duration = 76; + SettingProto netstats_uid_tag_persist_bytes = 77; + SettingProto netstats_uid_tag_rotate_age = 78; + SettingProto netstats_uid_tag_delete_age = 79; + SettingProto network_preference = 80; + SettingProto network_scorer_app = 81; + SettingProto nitz_update_diff = 82; + SettingProto nitz_update_spacing = 83; + SettingProto ntp_server = 84; + SettingProto ntp_timeout = 85; + SettingProto storage_benchmark_interval = 86; + SettingProto dns_resolver_sample_validity_seconds = 87; + SettingProto dns_resolver_success_threshold_percent = 88; + SettingProto dns_resolver_min_samples = 89; + SettingProto dns_resolver_max_samples = 90; + SettingProto ota_disable_automatic_update = 91; + SettingProto package_verifier_enable = 92; + SettingProto package_verifier_timeout = 93; + SettingProto package_verifier_default_response = 94; + SettingProto package_verifier_setting_visible = 95; + SettingProto package_verifier_include_adb = 96; + SettingProto fstrim_mandatory_interval = 97; + SettingProto pdp_watchdog_poll_interval_ms = 98; + SettingProto pdp_watchdog_long_poll_interval_ms = 99; + SettingProto pdp_watchdog_error_poll_interval_ms = 100; + SettingProto pdp_watchdog_trigger_packet_count = 101; + SettingProto pdp_watchdog_error_poll_count = 102; + SettingProto pdp_watchdog_max_pdp_reset_fail_count = 103; + SettingProto sampling_profiler_ms = 104; + SettingProto setup_prepaid_data_service_url = 105; + SettingProto setup_prepaid_detection_target_url = 106; + SettingProto setup_prepaid_detection_redir_host = 107; + SettingProto sms_outgoing_check_interval_ms = 108; + SettingProto sms_outgoing_check_max_count = 109; + SettingProto sms_short_code_confirmation = 110; + SettingProto sms_short_code_rule = 111; + SettingProto tcp_default_init_rwnd = 112; + SettingProto tether_supported = 113; + SettingProto tether_dun_required = 114; + SettingProto tether_dun_apn = 115; + SettingProto carrier_app_whitelist = 116; + SettingProto usb_mass_storage_enabled = 117; + SettingProto use_google_mail = 118; + SettingProto webview_data_reduction_proxy_key = 119; + SettingProto webview_fallback_logic_enabled = 120; + SettingProto webview_provider = 121; + SettingProto webview_multiprocess = 122; + SettingProto network_switch_notification_daily_limit = 123; + SettingProto network_switch_notification_rate_limit_millis = 124; + SettingProto network_avoid_bad_wifi = 125; + SettingProto wifi_display_on = 126; + SettingProto wifi_display_certification_on = 127; + SettingProto wifi_display_wps_config = 128; + SettingProto wifi_networks_available_notification_on = 129; + SettingProto wimax_networks_available_notification_on = 130; + SettingProto wifi_networks_available_repeat_delay = 131; + SettingProto wifi_country_code = 132; + SettingProto wifi_framework_scan_interval_ms = 133; + SettingProto wifi_idle_ms = 134; + SettingProto wifi_num_open_networks_kept = 135; + SettingProto wifi_on = 136; + SettingProto wifi_scan_always_available = 137; + SettingProto wifi_wakeup_enabled = 138; + SettingProto network_recommendations_enabled = 139; + SettingProto ble_scan_always_available = 140; + SettingProto wifi_saved_state = 141; + SettingProto wifi_supplicant_scan_interval_ms = 142; + SettingProto wifi_enhanced_auto_join = 143; + SettingProto wifi_network_show_rssi = 144; + SettingProto wifi_scan_interval_when_p2p_connected_ms = 145; + SettingProto wifi_watchdog_on = 146; + SettingProto wifi_watchdog_poor_network_test_enabled = 147; + SettingProto wifi_suspend_optimizations_enabled = 148; + SettingProto wifi_verbose_logging_enabled = 149; + SettingProto wifi_max_dhcp_retry_count = 150; + SettingProto wifi_mobile_data_transition_wakelock_timeout_ms = 151; + SettingProto wifi_device_owner_configs_lockdown = 152; + SettingProto wifi_frequency_band = 153; + SettingProto wifi_p2p_device_name = 154; + SettingProto wifi_reenable_delay_ms = 155; + SettingProto wifi_ephemeral_out_of_range_timeout_ms = 156; + SettingProto data_stall_alarm_non_aggressive_delay_in_ms = 157; + SettingProto data_stall_alarm_aggressive_delay_in_ms = 158; + SettingProto provisioning_apn_alarm_delay_in_ms = 159; + SettingProto gprs_register_check_period_ms = 160; + SettingProto wtf_is_fatal = 161; + SettingProto mode_ringer = 162; + SettingProto overlay_display_devices = 163; + SettingProto battery_discharge_duration_threshold = 164; + SettingProto battery_discharge_threshold = 165; + SettingProto send_action_app_error = 166; + SettingProto dropbox_age_seconds = 167; + SettingProto dropbox_max_files = 168; + SettingProto dropbox_quota_kb = 169; + SettingProto dropbox_quota_percent = 170; + SettingProto dropbox_reserve_percent = 171; + SettingProto dropbox_tag_prefix = 172; + SettingProto error_logcat_prefix = 173; + SettingProto sys_free_storage_log_interval = 174; + SettingProto disk_free_change_reporting_threshold = 175; + SettingProto sys_storage_threshold_percentage = 176; + SettingProto sys_storage_threshold_max_bytes = 177; + SettingProto sys_storage_full_threshold_bytes = 178; + SettingProto sync_max_retry_delay_in_seconds = 179; + SettingProto connectivity_change_delay = 180; + SettingProto connectivity_sampling_interval_in_seconds = 181; + SettingProto pac_change_delay = 182; + SettingProto captive_portal_mode = 183; + SettingProto captive_portal_server = 184; + SettingProto captive_portal_https_url = 185; + SettingProto captive_portal_http_url = 186; + SettingProto captive_portal_fallback_url = 187; + SettingProto captive_portal_use_https = 188; + SettingProto captive_portal_user_agent = 189; + SettingProto nsd_on = 190; + SettingProto set_install_location = 191; + SettingProto default_install_location = 192; + SettingProto inet_condition_debounce_up_delay = 193; + SettingProto inet_condition_debounce_down_delay = 194; + SettingProto read_external_storage_enforced_default = 195; + SettingProto http_proxy = 196; + SettingProto global_http_proxy_host = 197; + SettingProto global_http_proxy_port = 198; + SettingProto global_http_proxy_exclusion_list = 199; + SettingProto global_http_proxy_pac = 200; + SettingProto set_global_http_proxy = 201; + SettingProto default_dns_server = 202; + SettingProto bluetooth_headset_priority_prefix = 203; + SettingProto bluetooth_a2dp_sink_priority_prefix = 204; + SettingProto bluetooth_a2dp_src_priority_prefix = 205; + SettingProto bluetooth_input_device_priority_prefix = 206; + SettingProto bluetooth_map_priority_prefix = 207; + SettingProto bluetooth_map_client_priority_prefix = 208; + SettingProto bluetooth_pbap_client_priority_prefix = 209; + SettingProto bluetooth_sap_priority_prefix = 210; + SettingProto bluetooth_pan_priority_prefix = 211; + SettingProto device_idle_constants = 212; + SettingProto device_idle_constants_watch = 213; + SettingProto app_idle_constants = 214; + SettingProto alarm_manager_constants = 215; + SettingProto job_scheduler_constants = 216; + SettingProto shortcut_manager_constants = 217; + SettingProto window_animation_scale = 218; + SettingProto transition_animation_scale = 219; + SettingProto animator_duration_scale = 220; + SettingProto fancy_ime_animations = 221; + SettingProto compatibility_mode = 222; + SettingProto emergency_tone = 223; + SettingProto call_auto_retry = 224; + SettingProto emergency_affordance_needed = 225; + SettingProto preferred_network_mode = 226; + SettingProto debug_app = 227; + SettingProto wait_for_debugger = 228; + SettingProto low_power_mode = 229; + SettingProto low_power_mode_trigger_level = 230; + SettingProto always_finish_activities = 231; + SettingProto dock_audio_media_enabled = 232; + SettingProto encoded_surround_output = 233; + SettingProto audio_safe_volume_state = 234; + SettingProto tzinfo_update_content_url = 235; + SettingProto tzinfo_update_metadata_url = 236; + SettingProto selinux_update_content_url = 237; + SettingProto selinux_update_metadata_url = 238; + SettingProto sms_short_codes_update_content_url = 239; + SettingProto sms_short_codes_update_metadata_url = 240; + SettingProto apn_db_update_content_url = 241; + SettingProto apn_db_update_metadata_url = 242; + SettingProto cert_pin_update_content_url = 243; + SettingProto cert_pin_update_metadata_url = 244; + SettingProto intent_firewall_update_content_url = 245; + SettingProto intent_firewall_update_metadata_url = 246; + SettingProto selinux_status = 247; + SettingProto development_force_rtl = 248; + SettingProto low_battery_sound_timeout = 249; + SettingProto wifi_bounce_delay_override_ms = 250; + SettingProto policy_control = 251; + SettingProto zen_mode = 252; + SettingProto zen_mode_ringer_level = 253; + SettingProto zen_mode_config_etag = 254; + SettingProto heads_up_notifications_enabled = 255; + SettingProto device_name = 256; + SettingProto network_scoring_provisioned = 257; + SettingProto require_password_to_decrypt = 258; + SettingProto enhanced_4g_mode_enabled = 259; + SettingProto vt_ims_enabled = 260; + SettingProto wfc_ims_enabled = 261; + SettingProto wfc_ims_mode = 262; + SettingProto wfc_ims_roaming_mode = 263; + SettingProto wfc_ims_roaming_enabled = 264; + SettingProto lte_service_forced = 265; + SettingProto ephemeral_cookie_max_size_bytes = 266; + SettingProto enable_ephemeral_feature = 267; + SettingProto uninstalled_ephemeral_app_cache_duration_millis = 268; + SettingProto allow_user_switching_when_system_user_locked = 269; + SettingProto boot_count = 270; + SettingProto safe_boot_disallowed = 271; + SettingProto device_demo_mode = 272; + SettingProto retail_demo_mode_constants = 273; + SettingProto database_downgrade_reason = 274; + SettingProto contacts_database_wal_enabled = 275; + SettingProto multi_sim_voice_call_subscription = 276; + SettingProto multi_sim_voice_prompt = 277; + SettingProto multi_sim_data_call_subscription = 278; + SettingProto multi_sim_sms_subscription = 279; + SettingProto multi_sim_sms_prompt = 280; + SettingProto new_contact_aggregator = 281; + SettingProto contact_metadata_sync_enabled = 282; + SettingProto enable_cellular_on_boot = 283; + SettingProto max_notification_enqueue_rate = 284; + SettingProto cell_on = 285; +} + +message SecureSettingsProto { + // Historical operations + repeated SettingsOperationProto historical_op = 1; + + SettingProto android_id = 2; + SettingProto default_input_method = 3; + SettingProto selected_input_method_subtype = 4; + SettingProto input_methods_subtype_history = 5; + SettingProto input_method_selector_visibility = 6; + SettingProto voice_interaction_service = 7; + SettingProto auto_fill_service = 8; + SettingProto bluetooth_hci_log = 9; + SettingProto user_setup_complete = 10; + SettingProto completed_category_prefix = 11; + SettingProto enabled_input_methods = 12; + SettingProto disabled_system_input_methods = 13; + SettingProto show_ime_with_hard_keyboard = 14; + SettingProto always_on_vpn_app = 15; + SettingProto always_on_vpn_lockdown = 16; + SettingProto install_non_market_apps = 17; + SettingProto location_mode = 18; + SettingProto location_previous_mode = 19; + SettingProto lock_to_app_exit_locked = 20; + SettingProto lock_screen_lock_after_timeout = 21; + SettingProto lock_screen_allow_remote_input = 22; + SettingProto show_note_about_notification_hiding = 23; + SettingProto trust_agents_initialized = 24; + SettingProto parental_control_enabled = 25; + SettingProto parental_control_last_update = 26; + SettingProto parental_control_redirect_url = 27; + SettingProto settings_classname = 28; + SettingProto accessibility_enabled = 29; + SettingProto touch_exploration_enabled = 30; + SettingProto enabled_accessibility_services = 31; + SettingProto touch_exploration_granted_accessibility_services = 32; + SettingProto accessibility_speak_password = 33; + SettingProto accessibility_high_text_contrast_enabled = 34; + SettingProto accessibility_script_injection = 35; + SettingProto accessibility_screen_reader_url = 36; + SettingProto accessibility_web_content_key_bindings = 37; + SettingProto accessibility_display_magnification_enabled = 38; + SettingProto accessibility_display_magnification_scale = 39; + SettingProto accessibility_soft_keyboard_mode = 40; + SettingProto accessibility_captioning_enabled = 41; + SettingProto accessibility_captioning_locale = 42; + SettingProto accessibility_captioning_preset = 43; + SettingProto accessibility_captioning_background_color = 44; + SettingProto accessibility_captioning_foreground_color = 45; + SettingProto accessibility_captioning_edge_type = 46; + SettingProto accessibility_captioning_edge_color = 47; + SettingProto accessibility_captioning_window_color = 48; + SettingProto accessibility_captioning_typeface = 49; + SettingProto accessibility_captioning_font_scale = 50; + SettingProto accessibility_display_inversion_enabled = 51; + SettingProto accessibility_display_daltonizer_enabled = 52; + SettingProto accessibility_display_daltonizer = 53; + SettingProto accessibility_autoclick_enabled = 54; + SettingProto accessibility_autoclick_delay = 55; + SettingProto accessibility_large_pointer_icon = 56; + SettingProto long_press_timeout = 57; + SettingProto multi_press_timeout = 58; + SettingProto enabled_print_services = 59; + SettingProto disabled_print_services = 60; + SettingProto display_density_forced = 61; + SettingProto tts_default_rate = 62; + SettingProto tts_default_pitch = 63; + SettingProto tts_default_synth = 64; + SettingProto tts_default_locale = 65; + SettingProto tts_enabled_plugins = 66; + SettingProto connectivity_release_pending_intent_delay_ms = 67; + SettingProto allowed_geolocation_origins = 68; + SettingProto preferred_tty_mode = 69; + SettingProto enhanced_voice_privacy_enabled = 70; + SettingProto tty_mode_enabled = 71; + SettingProto backup_enabled = 72; + SettingProto backup_auto_restore = 73; + SettingProto backup_provisioned = 74; + SettingProto backup_transport = 75; + SettingProto last_setup_shown = 76; + SettingProto search_global_search_activity = 77; + SettingProto search_num_promoted_sources = 78; + SettingProto search_max_results_to_display = 79; + SettingProto search_max_results_per_source = 80; + SettingProto search_web_results_override_limit = 81; + SettingProto search_promoted_source_deadline_millis = 82; + SettingProto search_source_timeout_millis = 83; + SettingProto search_prefill_millis = 84; + SettingProto search_max_stat_age_millis = 85; + SettingProto search_max_source_event_age_millis = 86; + SettingProto search_min_impressions_for_source_ranking = 87; + SettingProto search_min_clicks_for_source_ranking = 88; + SettingProto search_max_shortcuts_returned = 89; + SettingProto search_query_thread_core_pool_size = 90; + SettingProto search_query_thread_max_pool_size = 91; + SettingProto search_shortcut_refresh_core_pool_size = 92; + SettingProto search_shortcut_refresh_max_pool_size = 93; + SettingProto search_thread_keepalive_seconds = 94; + SettingProto search_per_source_concurrent_query_limit = 95; + SettingProto mount_play_notification_snd = 96; + SettingProto mount_ums_autostart = 97; + SettingProto mount_ums_prompt = 98; + SettingProto mount_ums_notify_enabled = 99; + SettingProto anr_show_background = 100; + SettingProto voice_recognition_service = 101; + SettingProto package_verifier_user_consent = 102; + SettingProto selected_spell_checker = 103; + SettingProto selected_spell_checker_subtype = 104; + SettingProto spell_checker_enabled = 105; + SettingProto incall_power_button_behavior = 106; + SettingProto incall_back_button_behavior = 107; + SettingProto wake_gesture_enabled = 108; + SettingProto doze_enabled = 109; + SettingProto doze_always_on = 110; + SettingProto doze_pulse_on_pick_up = 111; + SettingProto doze_pulse_on_double_tap = 112; + SettingProto ui_night_mode = 113; + SettingProto screensaver_enabled = 114; + SettingProto screensaver_components = 115; + SettingProto screensaver_activate_on_dock = 116; + SettingProto screensaver_activate_on_sleep = 117; + SettingProto screensaver_default_component = 118; + SettingProto nfc_payment_default_component = 119; + SettingProto nfc_payment_foreground = 120; + SettingProto sms_default_application = 121; + SettingProto dialer_default_application = 122; + SettingProto emergency_assistance_application = 123; + SettingProto assist_structure_enabled = 124; + SettingProto assist_screenshot_enabled = 125; + SettingProto assist_disclosure_enabled = 126; + SettingProto enabled_notification_assistant = 127; + SettingProto enabled_notification_listeners = 128; + SettingProto enabled_notification_policy_access_packages = 129; + SettingProto sync_parent_sounds = 130; + SettingProto immersive_mode_confirmations = 131; + SettingProto print_service_search_uri = 132; + SettingProto payment_service_search_uri = 133; + SettingProto skip_first_use_hints = 134; + SettingProto unsafe_volume_music_active_ms = 135; + SettingProto lock_screen_show_notifications = 136; + SettingProto tv_input_hidden_inputs = 137; + SettingProto tv_input_custom_labels = 138; + SettingProto usb_audio_automatic_routing_disabled = 139; + SettingProto sleep_timeout = 140; + SettingProto double_tap_to_wake = 141; + SettingProto assistant = 142; + SettingProto camera_gesture_disabled = 143; + SettingProto camera_double_tap_power_gesture_disabled = 144; + SettingProto camera_double_twist_to_flip_enabled = 145; + SettingProto night_display_activated = 146; + SettingProto night_display_auto_mode = 147; + SettingProto night_display_custom_start_time = 148; + SettingProto night_display_custom_end_time = 149; + SettingProto brightness_use_twilight = 150; + SettingProto enabled_vr_listeners = 151; + SettingProto vr_display_mode = 152; + SettingProto carrier_apps_handled = 153; + SettingProto managed_profile_contact_remote_search = 154; + SettingProto automatic_storage_manager_enabled = 155; + SettingProto automatic_storage_manager_days_to_retain = 156; + SettingProto automatic_storage_manager_bytes_cleared = 157; + SettingProto automatic_storage_manager_last_run = 158; + SettingProto system_navigation_keys_enabled = 159; + SettingProto downloads_backup_enabled = 160; + SettingProto downloads_backup_allow_metered = 161; + SettingProto downloads_backup_charging_only = 162; + SettingProto automatic_storage_manager_downloads_days_to_retain = 163; + SettingProto qs_tiles = 164; + SettingProto demo_user_setup_complete = 165; + SettingProto web_action_enabled = 166; + SettingProto device_paired = 167; +} + +message SystemSettingsProto { + // Historical operations + repeated SettingsOperationProto historical_op = 1; + + SettingProto end_button_behavior = 2; + SettingProto advanced_settings = 3; + SettingProto bluetooth_discoverability = 4; + SettingProto bluetooth_discoverability_timeout = 5; + SettingProto font_scale = 6; + SettingProto system_locales = 7; + SettingProto screen_off_timeout = 8; + SettingProto screen_brightness = 9; + SettingProto screen_brightness_for_vr = 10; + SettingProto screen_brightness_mode = 11; + SettingProto screen_auto_brightness_adj = 12; + SettingProto mode_ringer_streams_affected = 13; + SettingProto mute_streams_affected = 14; + SettingProto vibrate_on = 15; + SettingProto vibrate_input_devices = 16; + SettingProto volume_ring = 17; + SettingProto volume_system = 18; + SettingProto volume_voice = 19; + SettingProto volume_music = 20; + SettingProto volume_alarm = 21; + SettingProto volume_notification = 22; + SettingProto volume_bluetooth_sco = 23; + SettingProto volume_master = 24; + SettingProto master_mono = 25; + SettingProto vibrate_in_silent = 26; + SettingProto append_for_last_audible = 27; + SettingProto ringtone = 28; + SettingProto ringtone_cache = 29; + SettingProto notification_sound = 30; + SettingProto notification_sound_cache = 31; + SettingProto alarm_alert = 32; + SettingProto alarm_alert_cache = 33; + SettingProto media_button_receiver = 34; + SettingProto text_auto_replace = 35; + SettingProto text_auto_caps = 36; + SettingProto text_auto_punctuate = 37; + SettingProto text_show_password = 38; + SettingProto show_gtalk_service_status = 39; + SettingProto time_12_24 = 40; + SettingProto date_format = 41; + SettingProto setup_wizard_has_run = 42; + SettingProto accelerometer_rotation = 43; + SettingProto user_rotation = 44; + SettingProto hide_rotation_lock_toggle_for_accessibility = 45; + SettingProto vibrate_when_ringing = 46; + SettingProto dtmf_tone_when_dialing = 47; + SettingProto dtmf_tone_type_when_dialing = 48; + SettingProto hearing_aid = 49; + SettingProto tty_mode = 50; + SettingProto sound_effects_enabled = 51; + SettingProto haptic_feedback_enabled = 52; + SettingProto notification_light_pulse = 53; + SettingProto pointer_location = 54; + SettingProto show_touches = 55; + SettingProto window_orientation_listener_log = 56; + SettingProto lockscreen_sounds_enabled = 57; + SettingProto lockscreen_disabled = 58; + SettingProto sip_receive_calls = 59; + SettingProto sip_call_options = 60; + SettingProto sip_always = 61; + SettingProto sip_address_only = 62; + SettingProto pointer_speed = 63; + SettingProto lock_to_app_enabled = 64; + SettingProto egg_mode = 65; + SettingProto when_to_make_wifi_calls = 66; +} + +message SettingProto { + // ID of the setting + string id = 1; + + // Name of the setting + string name = 2; + + // Package name of the setting + string pkg = 3; + + // Value of this setting + string value = 4; + + // Default value of this setting + string default_value = 5; + + // Whether the default is set by the system + bool default_from_system = 6; +} + +message SettingsOperationProto { + // When the operation happened + int64 timestamp = 1; + + // Type of the operation + string operation = 2; + + // Name of the setting that was affected (optional) + string setting = 3; +} diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java new file mode 100644 index 0000000000000..19ce3d0086437 --- /dev/null +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -0,0 +1,1655 @@ +/* + * Copyright (C) 2007 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. + */ + +package com.android.providers.settings; + +import android.annotation.NonNull; +import android.os.UserHandle; +import android.provider.Settings; +import android.providers.settings.GlobalSettingsProto; +import android.providers.settings.SecureSettingsProto; +import android.providers.settings.SettingProto; +import android.providers.settings.SettingsServiceDumpProto; +import android.providers.settings.SystemSettingsProto; +import android.providers.settings.UserSettingsProto; +import android.util.SparseBooleanArray; +import android.util.proto.ProtoOutputStream; + +/** @hide */ +class SettingsProtoDumpUtil { + private SettingsProtoDumpUtil() {} + + static void dumpProtoLocked(SettingsProvider.SettingsRegistry settingsRegistry, + ProtoOutputStream proto) { + // Global settings + SettingsState globalSettings = settingsRegistry.getSettingsLocked( + SettingsProvider.SETTINGS_TYPE_GLOBAL, UserHandle.USER_SYSTEM); + long globalSettingsToken = proto.start(SettingsServiceDumpProto.GLOBAL_SETTINGS); + dumpProtoGlobalSettingsLocked(globalSettings, proto); + proto.end(globalSettingsToken); + + // Per-user settings + SparseBooleanArray users = settingsRegistry.getKnownUsersLocked(); + final int userCount = users.size(); + for (int i = 0; i < userCount; i++) { + long userSettingsToken = proto.start(SettingsServiceDumpProto.USER_SETTINGS); + dumpProtoUserSettingsLocked( + settingsRegistry, UserHandle.of(users.keyAt(i)), proto); + proto.end(userSettingsToken); + } + } + + /** + * Dump all settings of a user as a proto buf. + * + * @param settingsRegistry + * @param user The user the settings should be dumped for + * @param proto The proto buf stream to dump to + */ + private static void dumpProtoUserSettingsLocked( + SettingsProvider.SettingsRegistry settingsRegistry, + @NonNull UserHandle user, + @NonNull ProtoOutputStream proto) { + proto.write(UserSettingsProto.USER_ID, user.getIdentifier()); + + SettingsState secureSettings = settingsRegistry.getSettingsLocked( + SettingsProvider.SETTINGS_TYPE_SECURE, user.getIdentifier()); + long secureSettingsToken = proto.start(UserSettingsProto.SECURE_SETTINGS); + dumpProtoSecureSettingsLocked(secureSettings, proto); + proto.end(secureSettingsToken); + + SettingsState systemSettings = settingsRegistry.getSettingsLocked( + SettingsProvider.SETTINGS_TYPE_SYSTEM, user.getIdentifier()); + long systemSettingsToken = proto.start(UserSettingsProto.SYSTEM_SETTINGS); + dumpProtoSystemSettingsLocked(systemSettings, proto); + proto.end(systemSettingsToken); + } + + private static void dumpProtoGlobalSettingsLocked( + @NonNull SettingsState s, @NonNull ProtoOutputStream p) { + dumpSetting(s, p, + Settings.Global.ADD_USERS_WHEN_LOCKED, + GlobalSettingsProto.ADD_USERS_WHEN_LOCKED); + dumpSetting(s, p, + Settings.Global.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED, + GlobalSettingsProto.ENABLE_ACCESSIBILITY_GLOBAL_GESTURE_ENABLED); + dumpSetting(s, p, + Settings.Global.AIRPLANE_MODE_ON, + GlobalSettingsProto.AIRPLANE_MODE_ON); + dumpSetting(s, p, + Settings.Global.THEATER_MODE_ON, + GlobalSettingsProto.THEATER_MODE_ON); + dumpSetting(s, p, + Settings.Global.RADIO_BLUETOOTH, + GlobalSettingsProto.RADIO_BLUETOOTH); + dumpSetting(s, p, + Settings.Global.RADIO_WIFI, + GlobalSettingsProto.RADIO_WIFI); + dumpSetting(s, p, + Settings.Global.RADIO_WIMAX, + GlobalSettingsProto.RADIO_WIMAX); + dumpSetting(s, p, + Settings.Global.RADIO_CELL, + GlobalSettingsProto.RADIO_CELL); + dumpSetting(s, p, + Settings.Global.RADIO_NFC, + GlobalSettingsProto.RADIO_NFC); + dumpSetting(s, p, + Settings.Global.AIRPLANE_MODE_RADIOS, + GlobalSettingsProto.AIRPLANE_MODE_RADIOS); + dumpSetting(s, p, + Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS, + GlobalSettingsProto.AIRPLANE_MODE_TOGGLEABLE_RADIOS); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_DISABLED_PROFILES, + GlobalSettingsProto.BLUETOOTH_DISABLED_PROFILES); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_INTEROPERABILITY_LIST, + GlobalSettingsProto.BLUETOOTH_INTEROPERABILITY_LIST); + dumpSetting(s, p, + Settings.Global.WIFI_SLEEP_POLICY, + GlobalSettingsProto.WIFI_SLEEP_POLICY); + dumpSetting(s, p, + Settings.Global.AUTO_TIME, + GlobalSettingsProto.AUTO_TIME); + dumpSetting(s, p, + Settings.Global.AUTO_TIME_ZONE, + GlobalSettingsProto.AUTO_TIME_ZONE); + dumpSetting(s, p, + Settings.Global.CAR_DOCK_SOUND, + GlobalSettingsProto.CAR_DOCK_SOUND); + dumpSetting(s, p, + Settings.Global.CAR_UNDOCK_SOUND, + GlobalSettingsProto.CAR_UNDOCK_SOUND); + dumpSetting(s, p, + Settings.Global.DESK_DOCK_SOUND, + GlobalSettingsProto.DESK_DOCK_SOUND); + dumpSetting(s, p, + Settings.Global.DESK_UNDOCK_SOUND, + GlobalSettingsProto.DESK_UNDOCK_SOUND); + dumpSetting(s, p, + Settings.Global.DOCK_SOUNDS_ENABLED, + GlobalSettingsProto.DOCK_SOUNDS_ENABLED); + dumpSetting(s, p, + Settings.Global.DOCK_SOUNDS_ENABLED_WHEN_ACCESSIBILITY, + GlobalSettingsProto.DOCK_SOUNDS_ENABLED_WHEN_ACCESSIBILITY); + dumpSetting(s, p, + Settings.Global.LOCK_SOUND, + GlobalSettingsProto.LOCK_SOUND); + dumpSetting(s, p, + Settings.Global.UNLOCK_SOUND, + GlobalSettingsProto.UNLOCK_SOUND); + dumpSetting(s, p, + Settings.Global.TRUSTED_SOUND, + GlobalSettingsProto.TRUSTED_SOUND); + dumpSetting(s, p, + Settings.Global.LOW_BATTERY_SOUND, + GlobalSettingsProto.LOW_BATTERY_SOUND); + dumpSetting(s, p, + Settings.Global.POWER_SOUNDS_ENABLED, + GlobalSettingsProto.POWER_SOUNDS_ENABLED); + dumpSetting(s, p, + Settings.Global.WIRELESS_CHARGING_STARTED_SOUND, + GlobalSettingsProto.WIRELESS_CHARGING_STARTED_SOUND); + dumpSetting(s, p, + Settings.Global.CHARGING_SOUNDS_ENABLED, + GlobalSettingsProto.CHARGING_SOUNDS_ENABLED); + dumpSetting(s, p, + Settings.Global.STAY_ON_WHILE_PLUGGED_IN, + GlobalSettingsProto.STAY_ON_WHILE_PLUGGED_IN); + dumpSetting(s, p, + Settings.Global.BUGREPORT_IN_POWER_MENU, + GlobalSettingsProto.BUGREPORT_IN_POWER_MENU); + dumpSetting(s, p, + Settings.Global.ADB_ENABLED, + GlobalSettingsProto.ADB_ENABLED); + dumpSetting(s, p, + Settings.Global.DEBUG_VIEW_ATTRIBUTES, + GlobalSettingsProto.DEBUG_VIEW_ATTRIBUTES); + dumpSetting(s, p, + Settings.Global.ASSISTED_GPS_ENABLED, + GlobalSettingsProto.ASSISTED_GPS_ENABLED); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_ON, + GlobalSettingsProto.BLUETOOTH_ON); + dumpSetting(s, p, + Settings.Global.CDMA_CELL_BROADCAST_SMS, + GlobalSettingsProto.CDMA_CELL_BROADCAST_SMS); + dumpSetting(s, p, + Settings.Global.CDMA_ROAMING_MODE, + GlobalSettingsProto.CDMA_ROAMING_MODE); + dumpSetting(s, p, + Settings.Global.CDMA_SUBSCRIPTION_MODE, + GlobalSettingsProto.CDMA_SUBSCRIPTION_MODE); + dumpSetting(s, p, + Settings.Global.DATA_ACTIVITY_TIMEOUT_MOBILE, + GlobalSettingsProto.DATA_ACTIVITY_TIMEOUT_MOBILE); + dumpSetting(s, p, + Settings.Global.DATA_ACTIVITY_TIMEOUT_WIFI, + GlobalSettingsProto.DATA_ACTIVITY_TIMEOUT_WIFI); + dumpSetting(s, p, + Settings.Global.DATA_ROAMING, + GlobalSettingsProto.DATA_ROAMING); + dumpSetting(s, p, + Settings.Global.MDC_INITIAL_MAX_RETRY, + GlobalSettingsProto.MDC_INITIAL_MAX_RETRY); + dumpSetting(s, p, + Settings.Global.FORCE_ALLOW_ON_EXTERNAL, + GlobalSettingsProto.FORCE_ALLOW_ON_EXTERNAL); + dumpSetting(s, p, + Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES, + GlobalSettingsProto.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES); + dumpSetting(s, p, + Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, + GlobalSettingsProto.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT); + dumpSetting(s, p, + Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, + GlobalSettingsProto.DEVELOPMENT_SETTINGS_ENABLED); + dumpSetting(s, p, + Settings.Global.DEVICE_PROVISIONED, + GlobalSettingsProto.DEVICE_PROVISIONED); + dumpSetting(s, p, + Settings.Global.DEVICE_PROVISIONING_MOBILE_DATA_ENABLED, + GlobalSettingsProto.DEVICE_PROVISIONING_MOBILE_DATA_ENABLED); + dumpSetting(s, p, + Settings.Global.DISPLAY_SIZE_FORCED, + GlobalSettingsProto.DISPLAY_SIZE_FORCED); + dumpSetting(s, p, + Settings.Global.DISPLAY_SCALING_FORCE, + GlobalSettingsProto.DISPLAY_SCALING_FORCE); + dumpSetting(s, p, + Settings.Global.DOWNLOAD_MAX_BYTES_OVER_MOBILE, + GlobalSettingsProto.DOWNLOAD_MAX_BYTES_OVER_MOBILE); + dumpSetting(s, p, + Settings.Global.DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE, + GlobalSettingsProto.DOWNLOAD_RECOMMENDED_MAX_BYTES_OVER_MOBILE); + dumpSetting(s, p, + Settings.Global.HDMI_CONTROL_ENABLED, + GlobalSettingsProto.HDMI_CONTROL_ENABLED); + dumpSetting(s, p, + Settings.Global.HDMI_SYSTEM_AUDIO_ENABLED, + GlobalSettingsProto.HDMI_SYSTEM_AUDIO_ENABLED); + dumpSetting(s, p, + Settings.Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED, + GlobalSettingsProto.HDMI_CONTROL_AUTO_WAKEUP_ENABLED); + dumpSetting(s, p, + Settings.Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED, + GlobalSettingsProto.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED); + dumpSetting(s, p, + Settings.Global.MHL_INPUT_SWITCHING_ENABLED, + GlobalSettingsProto.MHL_INPUT_SWITCHING_ENABLED); + dumpSetting(s, p, + Settings.Global.MHL_POWER_CHARGE_ENABLED, + GlobalSettingsProto.MHL_POWER_CHARGE_ENABLED); + dumpSetting(s, p, + Settings.Global.MOBILE_DATA, + GlobalSettingsProto.MOBILE_DATA); + dumpSetting(s, p, + Settings.Global.MOBILE_DATA_ALWAYS_ON, + GlobalSettingsProto.MOBILE_DATA_ALWAYS_ON); + dumpSetting(s, p, + Settings.Global.CONNECTIVITY_METRICS_BUFFER_SIZE, + GlobalSettingsProto.CONNECTIVITY_METRICS_BUFFER_SIZE); + dumpSetting(s, p, + Settings.Global.NETSTATS_ENABLED, + GlobalSettingsProto.NETSTATS_ENABLED); + dumpSetting(s, p, + Settings.Global.NETSTATS_POLL_INTERVAL, + GlobalSettingsProto.NETSTATS_POLL_INTERVAL); + dumpSetting(s, p, + Settings.Global.NETSTATS_TIME_CACHE_MAX_AGE, + GlobalSettingsProto.NETSTATS_TIME_CACHE_MAX_AGE); + dumpSetting(s, p, + Settings.Global.NETSTATS_GLOBAL_ALERT_BYTES, + GlobalSettingsProto.NETSTATS_GLOBAL_ALERT_BYTES); + dumpSetting(s, p, + Settings.Global.NETSTATS_SAMPLE_ENABLED, + GlobalSettingsProto.NETSTATS_SAMPLE_ENABLED); + dumpSetting(s, p, + Settings.Global.NETSTATS_DEV_BUCKET_DURATION, + GlobalSettingsProto.NETSTATS_DEV_BUCKET_DURATION); + dumpSetting(s, p, + Settings.Global.NETSTATS_DEV_PERSIST_BYTES, + GlobalSettingsProto.NETSTATS_DEV_PERSIST_BYTES); + dumpSetting(s, p, + Settings.Global.NETSTATS_DEV_ROTATE_AGE, + GlobalSettingsProto.NETSTATS_DEV_ROTATE_AGE); + dumpSetting(s, p, + Settings.Global.NETSTATS_DEV_DELETE_AGE, + GlobalSettingsProto.NETSTATS_DEV_DELETE_AGE); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_BUCKET_DURATION, + GlobalSettingsProto.NETSTATS_UID_BUCKET_DURATION); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_PERSIST_BYTES, + GlobalSettingsProto.NETSTATS_UID_PERSIST_BYTES); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_ROTATE_AGE, + GlobalSettingsProto.NETSTATS_UID_ROTATE_AGE); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_DELETE_AGE, + GlobalSettingsProto.NETSTATS_UID_DELETE_AGE); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_TAG_BUCKET_DURATION, + GlobalSettingsProto.NETSTATS_UID_TAG_BUCKET_DURATION); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_TAG_PERSIST_BYTES, + GlobalSettingsProto.NETSTATS_UID_TAG_PERSIST_BYTES); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_TAG_ROTATE_AGE, + GlobalSettingsProto.NETSTATS_UID_TAG_ROTATE_AGE); + dumpSetting(s, p, + Settings.Global.NETSTATS_UID_TAG_DELETE_AGE, + GlobalSettingsProto.NETSTATS_UID_TAG_DELETE_AGE); + dumpSetting(s, p, + Settings.Global.NETWORK_PREFERENCE, + GlobalSettingsProto.NETWORK_PREFERENCE); + dumpSetting(s, p, + Settings.Global.NETWORK_SCORER_APP, + GlobalSettingsProto.NETWORK_SCORER_APP); + dumpSetting(s, p, + Settings.Global.NITZ_UPDATE_DIFF, + GlobalSettingsProto.NITZ_UPDATE_DIFF); + dumpSetting(s, p, + Settings.Global.NITZ_UPDATE_SPACING, + GlobalSettingsProto.NITZ_UPDATE_SPACING); + dumpSetting(s, p, + Settings.Global.NTP_SERVER, + GlobalSettingsProto.NTP_SERVER); + dumpSetting(s, p, + Settings.Global.NTP_TIMEOUT, + GlobalSettingsProto.NTP_TIMEOUT); + dumpSetting(s, p, + Settings.Global.STORAGE_BENCHMARK_INTERVAL, + GlobalSettingsProto.STORAGE_BENCHMARK_INTERVAL); + dumpSetting(s, p, + Settings.Global.DNS_RESOLVER_SAMPLE_VALIDITY_SECONDS, + GlobalSettingsProto.DNS_RESOLVER_SAMPLE_VALIDITY_SECONDS); + dumpSetting(s, p, + Settings.Global.DNS_RESOLVER_SUCCESS_THRESHOLD_PERCENT, + GlobalSettingsProto.DNS_RESOLVER_SUCCESS_THRESHOLD_PERCENT); + dumpSetting(s, p, + Settings.Global.DNS_RESOLVER_MIN_SAMPLES, + GlobalSettingsProto.DNS_RESOLVER_MIN_SAMPLES); + dumpSetting(s, p, + Settings.Global.DNS_RESOLVER_MAX_SAMPLES, + GlobalSettingsProto.DNS_RESOLVER_MAX_SAMPLES); + dumpSetting(s, p, + Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, + GlobalSettingsProto.OTA_DISABLE_AUTOMATIC_UPDATE); + dumpSetting(s, p, + Settings.Global.PACKAGE_VERIFIER_ENABLE, + GlobalSettingsProto.PACKAGE_VERIFIER_ENABLE); + dumpSetting(s, p, + Settings.Global.PACKAGE_VERIFIER_TIMEOUT, + GlobalSettingsProto.PACKAGE_VERIFIER_TIMEOUT); + dumpSetting(s, p, + Settings.Global.PACKAGE_VERIFIER_DEFAULT_RESPONSE, + GlobalSettingsProto.PACKAGE_VERIFIER_DEFAULT_RESPONSE); + dumpSetting(s, p, + Settings.Global.PACKAGE_VERIFIER_SETTING_VISIBLE, + GlobalSettingsProto.PACKAGE_VERIFIER_SETTING_VISIBLE); + dumpSetting(s, p, + Settings.Global.PACKAGE_VERIFIER_INCLUDE_ADB, + GlobalSettingsProto.PACKAGE_VERIFIER_INCLUDE_ADB); + dumpSetting(s, p, + Settings.Global.FSTRIM_MANDATORY_INTERVAL, + GlobalSettingsProto.FSTRIM_MANDATORY_INTERVAL); + dumpSetting(s, p, + Settings.Global.PDP_WATCHDOG_POLL_INTERVAL_MS, + GlobalSettingsProto.PDP_WATCHDOG_POLL_INTERVAL_MS); + dumpSetting(s, p, + Settings.Global.PDP_WATCHDOG_LONG_POLL_INTERVAL_MS, + GlobalSettingsProto.PDP_WATCHDOG_LONG_POLL_INTERVAL_MS); + dumpSetting(s, p, + Settings.Global.PDP_WATCHDOG_ERROR_POLL_INTERVAL_MS, + GlobalSettingsProto.PDP_WATCHDOG_ERROR_POLL_INTERVAL_MS); + dumpSetting(s, p, + Settings.Global.PDP_WATCHDOG_TRIGGER_PACKET_COUNT, + GlobalSettingsProto.PDP_WATCHDOG_TRIGGER_PACKET_COUNT); + dumpSetting(s, p, + Settings.Global.PDP_WATCHDOG_ERROR_POLL_COUNT, + GlobalSettingsProto.PDP_WATCHDOG_ERROR_POLL_COUNT); + dumpSetting(s, p, + Settings.Global.PDP_WATCHDOG_MAX_PDP_RESET_FAIL_COUNT, + GlobalSettingsProto.PDP_WATCHDOG_MAX_PDP_RESET_FAIL_COUNT); + dumpSetting(s, p, + Settings.Global.SAMPLING_PROFILER_MS, + GlobalSettingsProto.SAMPLING_PROFILER_MS); + dumpSetting(s, p, + Settings.Global.SETUP_PREPAID_DATA_SERVICE_URL, + GlobalSettingsProto.SETUP_PREPAID_DATA_SERVICE_URL); + dumpSetting(s, p, + Settings.Global.SETUP_PREPAID_DETECTION_TARGET_URL, + GlobalSettingsProto.SETUP_PREPAID_DETECTION_TARGET_URL); + dumpSetting(s, p, + Settings.Global.SETUP_PREPAID_DETECTION_REDIR_HOST, + GlobalSettingsProto.SETUP_PREPAID_DETECTION_REDIR_HOST); + dumpSetting(s, p, + Settings.Global.SMS_OUTGOING_CHECK_INTERVAL_MS, + GlobalSettingsProto.SMS_OUTGOING_CHECK_INTERVAL_MS); + dumpSetting(s, p, + Settings.Global.SMS_OUTGOING_CHECK_MAX_COUNT, + GlobalSettingsProto.SMS_OUTGOING_CHECK_MAX_COUNT); + dumpSetting(s, p, + Settings.Global.SMS_SHORT_CODE_CONFIRMATION, + GlobalSettingsProto.SMS_SHORT_CODE_CONFIRMATION); + dumpSetting(s, p, + Settings.Global.SMS_SHORT_CODE_RULE, + GlobalSettingsProto.SMS_SHORT_CODE_RULE); + dumpSetting(s, p, + Settings.Global.TCP_DEFAULT_INIT_RWND, + GlobalSettingsProto.TCP_DEFAULT_INIT_RWND); + dumpSetting(s, p, + Settings.Global.TETHER_SUPPORTED, + GlobalSettingsProto.TETHER_SUPPORTED); + dumpSetting(s, p, + Settings.Global.TETHER_DUN_REQUIRED, + GlobalSettingsProto.TETHER_DUN_REQUIRED); + dumpSetting(s, p, + Settings.Global.TETHER_DUN_APN, + GlobalSettingsProto.TETHER_DUN_APN); + dumpSetting(s, p, + Settings.Global.CARRIER_APP_WHITELIST, + GlobalSettingsProto.CARRIER_APP_WHITELIST); + dumpSetting(s, p, + Settings.Global.USB_MASS_STORAGE_ENABLED, + GlobalSettingsProto.USB_MASS_STORAGE_ENABLED); + dumpSetting(s, p, + Settings.Global.USE_GOOGLE_MAIL, + GlobalSettingsProto.USE_GOOGLE_MAIL); + dumpSetting(s, p, + Settings.Global.WEBVIEW_DATA_REDUCTION_PROXY_KEY, + GlobalSettingsProto.WEBVIEW_DATA_REDUCTION_PROXY_KEY); + dumpSetting(s, p, + Settings.Global.WEBVIEW_FALLBACK_LOGIC_ENABLED, + GlobalSettingsProto.WEBVIEW_FALLBACK_LOGIC_ENABLED); + dumpSetting(s, p, + Settings.Global.WEBVIEW_PROVIDER, + GlobalSettingsProto.WEBVIEW_PROVIDER); + dumpSetting(s, p, + Settings.Global.WEBVIEW_MULTIPROCESS, + GlobalSettingsProto.WEBVIEW_MULTIPROCESS); + dumpSetting(s, p, + Settings.Global.NETWORK_SWITCH_NOTIFICATION_DAILY_LIMIT, + GlobalSettingsProto.NETWORK_SWITCH_NOTIFICATION_DAILY_LIMIT); + dumpSetting(s, p, + Settings.Global.NETWORK_SWITCH_NOTIFICATION_RATE_LIMIT_MILLIS, + GlobalSettingsProto.NETWORK_SWITCH_NOTIFICATION_RATE_LIMIT_MILLIS); + dumpSetting(s, p, + Settings.Global.NETWORK_AVOID_BAD_WIFI, + GlobalSettingsProto.NETWORK_AVOID_BAD_WIFI); + dumpSetting(s, p, + Settings.Global.WIFI_DISPLAY_ON, + GlobalSettingsProto.WIFI_DISPLAY_ON); + dumpSetting(s, p, + Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON, + GlobalSettingsProto.WIFI_DISPLAY_CERTIFICATION_ON); + dumpSetting(s, p, + Settings.Global.WIFI_DISPLAY_WPS_CONFIG, + GlobalSettingsProto.WIFI_DISPLAY_WPS_CONFIG); + dumpSetting(s, p, + Settings.Global.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON, + GlobalSettingsProto.WIFI_NETWORKS_AVAILABLE_NOTIFICATION_ON); + dumpSetting(s, p, + Settings.Global.WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON, + GlobalSettingsProto.WIMAX_NETWORKS_AVAILABLE_NOTIFICATION_ON); + dumpSetting(s, p, + Settings.Global.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY, + GlobalSettingsProto.WIFI_NETWORKS_AVAILABLE_REPEAT_DELAY); + dumpSetting(s, p, + Settings.Global.WIFI_COUNTRY_CODE, + GlobalSettingsProto.WIFI_COUNTRY_CODE); + dumpSetting(s, p, + Settings.Global.WIFI_FRAMEWORK_SCAN_INTERVAL_MS, + GlobalSettingsProto.WIFI_FRAMEWORK_SCAN_INTERVAL_MS); + dumpSetting(s, p, + Settings.Global.WIFI_IDLE_MS, + GlobalSettingsProto.WIFI_IDLE_MS); + dumpSetting(s, p, + Settings.Global.WIFI_NUM_OPEN_NETWORKS_KEPT, + GlobalSettingsProto.WIFI_NUM_OPEN_NETWORKS_KEPT); + dumpSetting(s, p, + Settings.Global.WIFI_ON, + GlobalSettingsProto.WIFI_ON); + dumpSetting(s, p, + Settings.Global.WIFI_SCAN_ALWAYS_AVAILABLE, + GlobalSettingsProto.WIFI_SCAN_ALWAYS_AVAILABLE); + dumpSetting(s, p, + Settings.Global.WIFI_WAKEUP_ENABLED, + GlobalSettingsProto.WIFI_WAKEUP_ENABLED); + dumpSetting(s, p, + Settings.Global.NETWORK_RECOMMENDATIONS_ENABLED, + GlobalSettingsProto.NETWORK_RECOMMENDATIONS_ENABLED); + dumpSetting(s, p, + Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, + GlobalSettingsProto.BLE_SCAN_ALWAYS_AVAILABLE); + dumpSetting(s, p, + Settings.Global.WIFI_SAVED_STATE, + GlobalSettingsProto.WIFI_SAVED_STATE); + dumpSetting(s, p, + Settings.Global.WIFI_SUPPLICANT_SCAN_INTERVAL_MS, + GlobalSettingsProto.WIFI_SUPPLICANT_SCAN_INTERVAL_MS); + dumpSetting(s, p, + Settings.Global.WIFI_ENHANCED_AUTO_JOIN, + GlobalSettingsProto.WIFI_ENHANCED_AUTO_JOIN); + dumpSetting(s, p, + Settings.Global.WIFI_NETWORK_SHOW_RSSI, + GlobalSettingsProto.WIFI_NETWORK_SHOW_RSSI); + dumpSetting(s, p, + Settings.Global.WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS, + GlobalSettingsProto.WIFI_SCAN_INTERVAL_WHEN_P2P_CONNECTED_MS); + dumpSetting(s, p, + Settings.Global.WIFI_WATCHDOG_ON, + GlobalSettingsProto.WIFI_WATCHDOG_ON); + dumpSetting(s, p, + Settings.Global.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED, + GlobalSettingsProto.WIFI_WATCHDOG_POOR_NETWORK_TEST_ENABLED); + dumpSetting(s, p, + Settings.Global.WIFI_SUSPEND_OPTIMIZATIONS_ENABLED, + GlobalSettingsProto.WIFI_SUSPEND_OPTIMIZATIONS_ENABLED); + dumpSetting(s, p, + Settings.Global.WIFI_VERBOSE_LOGGING_ENABLED, + GlobalSettingsProto.WIFI_VERBOSE_LOGGING_ENABLED); + dumpSetting(s, p, + Settings.Global.WIFI_MAX_DHCP_RETRY_COUNT, + GlobalSettingsProto.WIFI_MAX_DHCP_RETRY_COUNT); + dumpSetting(s, p, + Settings.Global.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS, + GlobalSettingsProto.WIFI_MOBILE_DATA_TRANSITION_WAKELOCK_TIMEOUT_MS); + dumpSetting(s, p, + Settings.Global.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN, + GlobalSettingsProto.WIFI_DEVICE_OWNER_CONFIGS_LOCKDOWN); + dumpSetting(s, p, + Settings.Global.WIFI_FREQUENCY_BAND, + GlobalSettingsProto.WIFI_FREQUENCY_BAND); + dumpSetting(s, p, + Settings.Global.WIFI_P2P_DEVICE_NAME, + GlobalSettingsProto.WIFI_P2P_DEVICE_NAME); + dumpSetting(s, p, + Settings.Global.WIFI_REENABLE_DELAY_MS, + GlobalSettingsProto.WIFI_REENABLE_DELAY_MS); + dumpSetting(s, p, + Settings.Global.WIFI_EPHEMERAL_OUT_OF_RANGE_TIMEOUT_MS, + GlobalSettingsProto.WIFI_EPHEMERAL_OUT_OF_RANGE_TIMEOUT_MS); + dumpSetting(s, p, + Settings.Global.DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS, + GlobalSettingsProto.DATA_STALL_ALARM_NON_AGGRESSIVE_DELAY_IN_MS); + dumpSetting(s, p, + Settings.Global.DATA_STALL_ALARM_AGGRESSIVE_DELAY_IN_MS, + GlobalSettingsProto.DATA_STALL_ALARM_AGGRESSIVE_DELAY_IN_MS); + dumpSetting(s, p, + Settings.Global.PROVISIONING_APN_ALARM_DELAY_IN_MS, + GlobalSettingsProto.PROVISIONING_APN_ALARM_DELAY_IN_MS); + dumpSetting(s, p, + Settings.Global.GPRS_REGISTER_CHECK_PERIOD_MS, + GlobalSettingsProto.GPRS_REGISTER_CHECK_PERIOD_MS); + dumpSetting(s, p, + Settings.Global.WTF_IS_FATAL, + GlobalSettingsProto.WTF_IS_FATAL); + dumpSetting(s, p, + Settings.Global.MODE_RINGER, + GlobalSettingsProto.MODE_RINGER); + dumpSetting(s, p, + Settings.Global.OVERLAY_DISPLAY_DEVICES, + GlobalSettingsProto.OVERLAY_DISPLAY_DEVICES); + dumpSetting(s, p, + Settings.Global.BATTERY_DISCHARGE_DURATION_THRESHOLD, + GlobalSettingsProto.BATTERY_DISCHARGE_DURATION_THRESHOLD); + dumpSetting(s, p, + Settings.Global.BATTERY_DISCHARGE_THRESHOLD, + GlobalSettingsProto.BATTERY_DISCHARGE_THRESHOLD); + dumpSetting(s, p, + Settings.Global.SEND_ACTION_APP_ERROR, + GlobalSettingsProto.SEND_ACTION_APP_ERROR); + dumpSetting(s, p, + Settings.Global.DROPBOX_AGE_SECONDS, + GlobalSettingsProto.DROPBOX_AGE_SECONDS); + dumpSetting(s, p, + Settings.Global.DROPBOX_MAX_FILES, + GlobalSettingsProto.DROPBOX_MAX_FILES); + dumpSetting(s, p, + Settings.Global.DROPBOX_QUOTA_KB, + GlobalSettingsProto.DROPBOX_QUOTA_KB); + dumpSetting(s, p, + Settings.Global.DROPBOX_QUOTA_PERCENT, + GlobalSettingsProto.DROPBOX_QUOTA_PERCENT); + dumpSetting(s, p, + Settings.Global.DROPBOX_RESERVE_PERCENT, + GlobalSettingsProto.DROPBOX_RESERVE_PERCENT); + dumpSetting(s, p, + Settings.Global.DROPBOX_TAG_PREFIX, + GlobalSettingsProto.DROPBOX_TAG_PREFIX); + dumpSetting(s, p, + Settings.Global.ERROR_LOGCAT_PREFIX, + GlobalSettingsProto.ERROR_LOGCAT_PREFIX); + dumpSetting(s, p, + Settings.Global.SYS_FREE_STORAGE_LOG_INTERVAL, + GlobalSettingsProto.SYS_FREE_STORAGE_LOG_INTERVAL); + dumpSetting(s, p, + Settings.Global.DISK_FREE_CHANGE_REPORTING_THRESHOLD, + GlobalSettingsProto.DISK_FREE_CHANGE_REPORTING_THRESHOLD); + dumpSetting(s, p, + Settings.Global.SYS_STORAGE_THRESHOLD_PERCENTAGE, + GlobalSettingsProto.SYS_STORAGE_THRESHOLD_PERCENTAGE); + dumpSetting(s, p, + Settings.Global.SYS_STORAGE_THRESHOLD_MAX_BYTES, + GlobalSettingsProto.SYS_STORAGE_THRESHOLD_MAX_BYTES); + dumpSetting(s, p, + Settings.Global.SYS_STORAGE_FULL_THRESHOLD_BYTES, + GlobalSettingsProto.SYS_STORAGE_FULL_THRESHOLD_BYTES); + dumpSetting(s, p, + Settings.Global.SYNC_MAX_RETRY_DELAY_IN_SECONDS, + GlobalSettingsProto.SYNC_MAX_RETRY_DELAY_IN_SECONDS); + dumpSetting(s, p, + Settings.Global.CONNECTIVITY_CHANGE_DELAY, + GlobalSettingsProto.CONNECTIVITY_CHANGE_DELAY); + dumpSetting(s, p, + Settings.Global.CONNECTIVITY_SAMPLING_INTERVAL_IN_SECONDS, + GlobalSettingsProto.CONNECTIVITY_SAMPLING_INTERVAL_IN_SECONDS); + dumpSetting(s, p, + Settings.Global.PAC_CHANGE_DELAY, + GlobalSettingsProto.PAC_CHANGE_DELAY); + dumpSetting(s, p, + Settings.Global.CAPTIVE_PORTAL_MODE, + GlobalSettingsProto.CAPTIVE_PORTAL_MODE); + dumpSetting(s, p, + Settings.Global.CAPTIVE_PORTAL_SERVER, + GlobalSettingsProto.CAPTIVE_PORTAL_SERVER); + dumpSetting(s, p, + Settings.Global.CAPTIVE_PORTAL_HTTPS_URL, + GlobalSettingsProto.CAPTIVE_PORTAL_HTTPS_URL); + dumpSetting(s, p, + Settings.Global.CAPTIVE_PORTAL_HTTP_URL, + GlobalSettingsProto.CAPTIVE_PORTAL_HTTP_URL); + dumpSetting(s, p, + Settings.Global.CAPTIVE_PORTAL_FALLBACK_URL, + GlobalSettingsProto.CAPTIVE_PORTAL_FALLBACK_URL); + dumpSetting(s, p, + Settings.Global.CAPTIVE_PORTAL_USE_HTTPS, + GlobalSettingsProto.CAPTIVE_PORTAL_USE_HTTPS); + dumpSetting(s, p, + Settings.Global.CAPTIVE_PORTAL_USER_AGENT, + GlobalSettingsProto.CAPTIVE_PORTAL_USER_AGENT); + dumpSetting(s, p, + Settings.Global.NSD_ON, + GlobalSettingsProto.NSD_ON); + dumpSetting(s, p, + Settings.Global.SET_INSTALL_LOCATION, + GlobalSettingsProto.SET_INSTALL_LOCATION); + dumpSetting(s, p, + Settings.Global.DEFAULT_INSTALL_LOCATION, + GlobalSettingsProto.DEFAULT_INSTALL_LOCATION); + dumpSetting(s, p, + Settings.Global.INET_CONDITION_DEBOUNCE_UP_DELAY, + GlobalSettingsProto.INET_CONDITION_DEBOUNCE_UP_DELAY); + dumpSetting(s, p, + Settings.Global.INET_CONDITION_DEBOUNCE_DOWN_DELAY, + GlobalSettingsProto.INET_CONDITION_DEBOUNCE_DOWN_DELAY); + dumpSetting(s, p, + Settings.Global.READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT, + GlobalSettingsProto.READ_EXTERNAL_STORAGE_ENFORCED_DEFAULT); + dumpSetting(s, p, + Settings.Global.HTTP_PROXY, + GlobalSettingsProto.HTTP_PROXY); + dumpSetting(s, p, + Settings.Global.GLOBAL_HTTP_PROXY_HOST, + GlobalSettingsProto.GLOBAL_HTTP_PROXY_HOST); + dumpSetting(s, p, + Settings.Global.GLOBAL_HTTP_PROXY_PORT, + GlobalSettingsProto.GLOBAL_HTTP_PROXY_PORT); + dumpSetting(s, p, + Settings.Global.GLOBAL_HTTP_PROXY_EXCLUSION_LIST, + GlobalSettingsProto.GLOBAL_HTTP_PROXY_EXCLUSION_LIST); + dumpSetting(s, p, + Settings.Global.GLOBAL_HTTP_PROXY_PAC, + GlobalSettingsProto.GLOBAL_HTTP_PROXY_PAC); + dumpSetting(s, p, + Settings.Global.SET_GLOBAL_HTTP_PROXY, + GlobalSettingsProto.SET_GLOBAL_HTTP_PROXY); + dumpSetting(s, p, + Settings.Global.DEFAULT_DNS_SERVER, + GlobalSettingsProto.DEFAULT_DNS_SERVER); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_HEADSET_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_HEADSET_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_A2DP_SINK_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_A2DP_SRC_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_A2DP_SRC_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_INPUT_DEVICE_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_MAP_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_MAP_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_MAP_CLIENT_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_MAP_CLIENT_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_PBAP_CLIENT_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_PBAP_CLIENT_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_SAP_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_SAP_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.BLUETOOTH_PAN_PRIORITY_PREFIX, + GlobalSettingsProto.BLUETOOTH_PAN_PRIORITY_PREFIX); + dumpSetting(s, p, + Settings.Global.DEVICE_IDLE_CONSTANTS, + GlobalSettingsProto.DEVICE_IDLE_CONSTANTS); + dumpSetting(s, p, + Settings.Global.DEVICE_IDLE_CONSTANTS_WATCH, + GlobalSettingsProto.DEVICE_IDLE_CONSTANTS_WATCH); + dumpSetting(s, p, + Settings.Global.APP_IDLE_CONSTANTS, + GlobalSettingsProto.APP_IDLE_CONSTANTS); + dumpSetting(s, p, + Settings.Global.ALARM_MANAGER_CONSTANTS, + GlobalSettingsProto.ALARM_MANAGER_CONSTANTS); + dumpSetting(s, p, + Settings.Global.JOB_SCHEDULER_CONSTANTS, + GlobalSettingsProto.JOB_SCHEDULER_CONSTANTS); + dumpSetting(s, p, + Settings.Global.SHORTCUT_MANAGER_CONSTANTS, + GlobalSettingsProto.SHORTCUT_MANAGER_CONSTANTS); + dumpSetting(s, p, + Settings.Global.WINDOW_ANIMATION_SCALE, + GlobalSettingsProto.WINDOW_ANIMATION_SCALE); + dumpSetting(s, p, + Settings.Global.TRANSITION_ANIMATION_SCALE, + GlobalSettingsProto.TRANSITION_ANIMATION_SCALE); + dumpSetting(s, p, + Settings.Global.ANIMATOR_DURATION_SCALE, + GlobalSettingsProto.ANIMATOR_DURATION_SCALE); + dumpSetting(s, p, + Settings.Global.FANCY_IME_ANIMATIONS, + GlobalSettingsProto.FANCY_IME_ANIMATIONS); + dumpSetting(s, p, + Settings.Global.COMPATIBILITY_MODE, + GlobalSettingsProto.COMPATIBILITY_MODE); + dumpSetting(s, p, + Settings.Global.EMERGENCY_TONE, + GlobalSettingsProto.EMERGENCY_TONE); + dumpSetting(s, p, + Settings.Global.CALL_AUTO_RETRY, + GlobalSettingsProto.CALL_AUTO_RETRY); + dumpSetting(s, p, + Settings.Global.EMERGENCY_AFFORDANCE_NEEDED, + GlobalSettingsProto.EMERGENCY_AFFORDANCE_NEEDED); + dumpSetting(s, p, + Settings.Global.PREFERRED_NETWORK_MODE, + GlobalSettingsProto.PREFERRED_NETWORK_MODE); + dumpSetting(s, p, + Settings.Global.DEBUG_APP, + GlobalSettingsProto.DEBUG_APP); + dumpSetting(s, p, + Settings.Global.WAIT_FOR_DEBUGGER, + GlobalSettingsProto.WAIT_FOR_DEBUGGER); + dumpSetting(s, p, + Settings.Global.LOW_POWER_MODE, + GlobalSettingsProto.LOW_POWER_MODE); + dumpSetting(s, p, + Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, + GlobalSettingsProto.LOW_POWER_MODE_TRIGGER_LEVEL); + dumpSetting(s, p, + Settings.Global.ALWAYS_FINISH_ACTIVITIES, + GlobalSettingsProto.ALWAYS_FINISH_ACTIVITIES); + dumpSetting(s, p, + Settings.Global.DOCK_AUDIO_MEDIA_ENABLED, + GlobalSettingsProto.DOCK_AUDIO_MEDIA_ENABLED); + dumpSetting(s, p, + Settings.Global.ENCODED_SURROUND_OUTPUT, + GlobalSettingsProto.ENCODED_SURROUND_OUTPUT); + dumpSetting(s, p, + Settings.Global.AUDIO_SAFE_VOLUME_STATE, + GlobalSettingsProto.AUDIO_SAFE_VOLUME_STATE); + dumpSetting(s, p, + Settings.Global.TZINFO_UPDATE_CONTENT_URL, + GlobalSettingsProto.TZINFO_UPDATE_CONTENT_URL); + dumpSetting(s, p, + Settings.Global.TZINFO_UPDATE_METADATA_URL, + GlobalSettingsProto.TZINFO_UPDATE_METADATA_URL); + dumpSetting(s, p, + Settings.Global.SELINUX_UPDATE_CONTENT_URL, + GlobalSettingsProto.SELINUX_UPDATE_CONTENT_URL); + dumpSetting(s, p, + Settings.Global.SELINUX_UPDATE_METADATA_URL, + GlobalSettingsProto.SELINUX_UPDATE_METADATA_URL); + dumpSetting(s, p, + Settings.Global.SMS_SHORT_CODES_UPDATE_CONTENT_URL, + GlobalSettingsProto.SMS_SHORT_CODES_UPDATE_CONTENT_URL); + dumpSetting(s, p, + Settings.Global.SMS_SHORT_CODES_UPDATE_METADATA_URL, + GlobalSettingsProto.SMS_SHORT_CODES_UPDATE_METADATA_URL); + dumpSetting(s, p, + Settings.Global.APN_DB_UPDATE_CONTENT_URL, + GlobalSettingsProto.APN_DB_UPDATE_CONTENT_URL); + dumpSetting(s, p, + Settings.Global.APN_DB_UPDATE_METADATA_URL, + GlobalSettingsProto.APN_DB_UPDATE_METADATA_URL); + dumpSetting(s, p, + Settings.Global.CERT_PIN_UPDATE_CONTENT_URL, + GlobalSettingsProto.CERT_PIN_UPDATE_CONTENT_URL); + dumpSetting(s, p, + Settings.Global.CERT_PIN_UPDATE_METADATA_URL, + GlobalSettingsProto.CERT_PIN_UPDATE_METADATA_URL); + dumpSetting(s, p, + Settings.Global.INTENT_FIREWALL_UPDATE_CONTENT_URL, + GlobalSettingsProto.INTENT_FIREWALL_UPDATE_CONTENT_URL); + dumpSetting(s, p, + Settings.Global.INTENT_FIREWALL_UPDATE_METADATA_URL, + GlobalSettingsProto.INTENT_FIREWALL_UPDATE_METADATA_URL); + dumpSetting(s, p, + Settings.Global.SELINUX_STATUS, + GlobalSettingsProto.SELINUX_STATUS); + dumpSetting(s, p, + Settings.Global.DEVELOPMENT_FORCE_RTL, + GlobalSettingsProto.DEVELOPMENT_FORCE_RTL); + dumpSetting(s, p, + Settings.Global.LOW_BATTERY_SOUND_TIMEOUT, + GlobalSettingsProto.LOW_BATTERY_SOUND_TIMEOUT); + dumpSetting(s, p, + Settings.Global.WIFI_BOUNCE_DELAY_OVERRIDE_MS, + GlobalSettingsProto.WIFI_BOUNCE_DELAY_OVERRIDE_MS); + dumpSetting(s, p, + Settings.Global.POLICY_CONTROL, + GlobalSettingsProto.POLICY_CONTROL); + dumpSetting(s, p, + Settings.Global.ZEN_MODE, + GlobalSettingsProto.ZEN_MODE); + dumpSetting(s, p, + Settings.Global.ZEN_MODE_RINGER_LEVEL, + GlobalSettingsProto.ZEN_MODE_RINGER_LEVEL); + dumpSetting(s, p, + Settings.Global.ZEN_MODE_CONFIG_ETAG, + GlobalSettingsProto.ZEN_MODE_CONFIG_ETAG); + dumpSetting(s, p, + Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED, + GlobalSettingsProto.HEADS_UP_NOTIFICATIONS_ENABLED); + dumpSetting(s, p, + Settings.Global.DEVICE_NAME, + GlobalSettingsProto.DEVICE_NAME); + dumpSetting(s, p, + Settings.Global.NETWORK_SCORING_PROVISIONED, + GlobalSettingsProto.NETWORK_SCORING_PROVISIONED); + dumpSetting(s, p, + Settings.Global.REQUIRE_PASSWORD_TO_DECRYPT, + GlobalSettingsProto.REQUIRE_PASSWORD_TO_DECRYPT); + dumpSetting(s, p, + Settings.Global.ENHANCED_4G_MODE_ENABLED, + GlobalSettingsProto.ENHANCED_4G_MODE_ENABLED); + dumpSetting(s, p, + Settings.Global.VT_IMS_ENABLED, + GlobalSettingsProto.VT_IMS_ENABLED); + dumpSetting(s, p, + Settings.Global.WFC_IMS_ENABLED, + GlobalSettingsProto.WFC_IMS_ENABLED); + dumpSetting(s, p, + Settings.Global.WFC_IMS_MODE, + GlobalSettingsProto.WFC_IMS_MODE); + dumpSetting(s, p, + Settings.Global.WFC_IMS_ROAMING_MODE, + GlobalSettingsProto.WFC_IMS_ROAMING_MODE); + dumpSetting(s, p, + Settings.Global.WFC_IMS_ROAMING_ENABLED, + GlobalSettingsProto.WFC_IMS_ROAMING_ENABLED); + dumpSetting(s, p, + Settings.Global.LTE_SERVICE_FORCED, + GlobalSettingsProto.LTE_SERVICE_FORCED); + dumpSetting(s, p, + Settings.Global.EPHEMERAL_COOKIE_MAX_SIZE_BYTES, + GlobalSettingsProto.EPHEMERAL_COOKIE_MAX_SIZE_BYTES); + dumpSetting(s, p, + Settings.Global.ENABLE_EPHEMERAL_FEATURE, + GlobalSettingsProto.ENABLE_EPHEMERAL_FEATURE); + dumpSetting(s, p, + Settings.Global.UNINSTALLED_EPHEMERAL_APP_CACHE_DURATION_MILLIS, + GlobalSettingsProto.UNINSTALLED_EPHEMERAL_APP_CACHE_DURATION_MILLIS); + dumpSetting(s, p, + Settings.Global.ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED, + GlobalSettingsProto.ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED); + dumpSetting(s, p, + Settings.Global.BOOT_COUNT, + GlobalSettingsProto.BOOT_COUNT); + dumpSetting(s, p, + Settings.Global.SAFE_BOOT_DISALLOWED, + GlobalSettingsProto.SAFE_BOOT_DISALLOWED); + dumpSetting(s, p, + Settings.Global.DEVICE_DEMO_MODE, + GlobalSettingsProto.DEVICE_DEMO_MODE); + dumpSetting(s, p, + Settings.Global.RETAIL_DEMO_MODE_CONSTANTS, + GlobalSettingsProto.RETAIL_DEMO_MODE_CONSTANTS); + dumpSetting(s, p, + Settings.Global.DATABASE_DOWNGRADE_REASON, + GlobalSettingsProto.DATABASE_DOWNGRADE_REASON); + dumpSetting(s, p, + Settings.Global.CONTACTS_DATABASE_WAL_ENABLED, + GlobalSettingsProto.CONTACTS_DATABASE_WAL_ENABLED); + dumpSetting(s, p, + Settings.Global.MULTI_SIM_VOICE_CALL_SUBSCRIPTION, + GlobalSettingsProto.MULTI_SIM_VOICE_CALL_SUBSCRIPTION); + dumpSetting(s, p, + Settings.Global.MULTI_SIM_VOICE_PROMPT, + GlobalSettingsProto.MULTI_SIM_VOICE_PROMPT); + dumpSetting(s, p, + Settings.Global.MULTI_SIM_DATA_CALL_SUBSCRIPTION, + GlobalSettingsProto.MULTI_SIM_DATA_CALL_SUBSCRIPTION); + dumpSetting(s, p, + Settings.Global.MULTI_SIM_SMS_SUBSCRIPTION, + GlobalSettingsProto.MULTI_SIM_SMS_SUBSCRIPTION); + dumpSetting(s, p, + Settings.Global.MULTI_SIM_SMS_PROMPT, + GlobalSettingsProto.MULTI_SIM_SMS_PROMPT); + dumpSetting(s, p, + Settings.Global.NEW_CONTACT_AGGREGATOR, + GlobalSettingsProto.NEW_CONTACT_AGGREGATOR); + dumpSetting(s, p, + Settings.Global.CONTACT_METADATA_SYNC_ENABLED, + GlobalSettingsProto.CONTACT_METADATA_SYNC_ENABLED); + dumpSetting(s, p, + Settings.Global.ENABLE_CELLULAR_ON_BOOT, + GlobalSettingsProto.ENABLE_CELLULAR_ON_BOOT); + dumpSetting(s, p, + Settings.Global.MAX_NOTIFICATION_ENQUEUE_RATE, + GlobalSettingsProto.MAX_NOTIFICATION_ENQUEUE_RATE); + dumpSetting(s, p, + Settings.Global.CELL_ON, + GlobalSettingsProto.CELL_ON); + } + + /** Dump a single {@link SettingsState.Setting} to a proto buf */ + private static void dumpSetting(@NonNull SettingsState settings, + @NonNull ProtoOutputStream proto, String settingName, long fieldId) { + SettingsState.Setting setting = settings.getSettingLocked(settingName); + long settingsToken = proto.start(fieldId); + proto.write(SettingProto.ID, setting.getId()); + proto.write(SettingProto.NAME, settingName); + if (setting.getPackageName() != null) { + proto.write(SettingProto.PKG, setting.getPackageName()); + } + proto.write(SettingProto.VALUE, setting.getValue()); + if (setting.getDefaultValue() != null) { + proto.write(SettingProto.DEFAULT_VALUE, setting.getDefaultValue()); + proto.write(SettingProto.DEFAULT_FROM_SYSTEM, setting.isDefaultFromSystem()); + } + proto.end(settingsToken); + } + + static void dumpProtoSecureSettingsLocked( + @NonNull SettingsState s, @NonNull ProtoOutputStream p) { + dumpSetting(s, p, + Settings.Secure.ANDROID_ID, + SecureSettingsProto.ANDROID_ID); + dumpSetting(s, p, + Settings.Secure.DEFAULT_INPUT_METHOD, + SecureSettingsProto.DEFAULT_INPUT_METHOD); + dumpSetting(s, p, + Settings.Secure.SELECTED_INPUT_METHOD_SUBTYPE, + SecureSettingsProto.SELECTED_INPUT_METHOD_SUBTYPE); + dumpSetting(s, p, + Settings.Secure.INPUT_METHODS_SUBTYPE_HISTORY, + SecureSettingsProto.INPUT_METHODS_SUBTYPE_HISTORY); + dumpSetting(s, p, + Settings.Secure.INPUT_METHOD_SELECTOR_VISIBILITY, + SecureSettingsProto.INPUT_METHOD_SELECTOR_VISIBILITY); + dumpSetting(s, p, + Settings.Secure.VOICE_INTERACTION_SERVICE, + SecureSettingsProto.VOICE_INTERACTION_SERVICE); + dumpSetting(s, p, + Settings.Secure.AUTO_FILL_SERVICE, + SecureSettingsProto.AUTO_FILL_SERVICE); + dumpSetting(s, p, + Settings.Secure.BLUETOOTH_HCI_LOG, + SecureSettingsProto.BLUETOOTH_HCI_LOG); + dumpSetting(s, p, + Settings.Secure.USER_SETUP_COMPLETE, + SecureSettingsProto.USER_SETUP_COMPLETE); + dumpSetting(s, p, + Settings.Secure.COMPLETED_CATEGORY_PREFIX, + SecureSettingsProto.COMPLETED_CATEGORY_PREFIX); + dumpSetting(s, p, + Settings.Secure.ENABLED_INPUT_METHODS, + SecureSettingsProto.ENABLED_INPUT_METHODS); + dumpSetting(s, p, + Settings.Secure.DISABLED_SYSTEM_INPUT_METHODS, + SecureSettingsProto.DISABLED_SYSTEM_INPUT_METHODS); + dumpSetting(s, p, + Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD, + SecureSettingsProto.SHOW_IME_WITH_HARD_KEYBOARD); + dumpSetting(s, p, + Settings.Secure.ALWAYS_ON_VPN_APP, + SecureSettingsProto.ALWAYS_ON_VPN_APP); + dumpSetting(s, p, + Settings.Secure.ALWAYS_ON_VPN_LOCKDOWN, + SecureSettingsProto.ALWAYS_ON_VPN_LOCKDOWN); + dumpSetting(s, p, + Settings.Secure.INSTALL_NON_MARKET_APPS, + SecureSettingsProto.INSTALL_NON_MARKET_APPS); + dumpSetting(s, p, + Settings.Secure.LOCATION_MODE, + SecureSettingsProto.LOCATION_MODE); + dumpSetting(s, p, + Settings.Secure.LOCATION_PREVIOUS_MODE, + SecureSettingsProto.LOCATION_PREVIOUS_MODE); + dumpSetting(s, p, + Settings.Secure.LOCK_TO_APP_EXIT_LOCKED, + SecureSettingsProto.LOCK_TO_APP_EXIT_LOCKED); + dumpSetting(s, p, + Settings.Secure.LOCK_SCREEN_LOCK_AFTER_TIMEOUT, + SecureSettingsProto.LOCK_SCREEN_LOCK_AFTER_TIMEOUT); + dumpSetting(s, p, + Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT, + SecureSettingsProto.LOCK_SCREEN_ALLOW_REMOTE_INPUT); + dumpSetting(s, p, + Settings.Secure.SHOW_NOTE_ABOUT_NOTIFICATION_HIDING, + SecureSettingsProto.SHOW_NOTE_ABOUT_NOTIFICATION_HIDING); + dumpSetting(s, p, + Settings.Secure.TRUST_AGENTS_INITIALIZED, + SecureSettingsProto.TRUST_AGENTS_INITIALIZED); + dumpSetting(s, p, + Settings.Secure.PARENTAL_CONTROL_ENABLED, + SecureSettingsProto.PARENTAL_CONTROL_ENABLED); + dumpSetting(s, p, + Settings.Secure.PARENTAL_CONTROL_LAST_UPDATE, + SecureSettingsProto.PARENTAL_CONTROL_LAST_UPDATE); + dumpSetting(s, p, + Settings.Secure.PARENTAL_CONTROL_REDIRECT_URL, + SecureSettingsProto.PARENTAL_CONTROL_REDIRECT_URL); + dumpSetting(s, p, + Settings.Secure.SETTINGS_CLASSNAME, + SecureSettingsProto.SETTINGS_CLASSNAME); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_ENABLED, + SecureSettingsProto.ACCESSIBILITY_ENABLED); + dumpSetting(s, p, + Settings.Secure.TOUCH_EXPLORATION_ENABLED, + SecureSettingsProto.TOUCH_EXPLORATION_ENABLED); + dumpSetting(s, p, + Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES, + SecureSettingsProto.ENABLED_ACCESSIBILITY_SERVICES); + dumpSetting(s, p, + Settings.Secure.TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES, + SecureSettingsProto.TOUCH_EXPLORATION_GRANTED_ACCESSIBILITY_SERVICES); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_SPEAK_PASSWORD, + SecureSettingsProto.ACCESSIBILITY_SPEAK_PASSWORD); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED, + SecureSettingsProto.ACCESSIBILITY_HIGH_TEXT_CONTRAST_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_SCRIPT_INJECTION, + SecureSettingsProto.ACCESSIBILITY_SCRIPT_INJECTION); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_SCREEN_READER_URL, + SecureSettingsProto.ACCESSIBILITY_SCREEN_READER_URL); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_WEB_CONTENT_KEY_BINDINGS, + SecureSettingsProto.ACCESSIBILITY_WEB_CONTENT_KEY_BINDINGS); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, + SecureSettingsProto.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_SCALE, + SecureSettingsProto.ACCESSIBILITY_DISPLAY_MAGNIFICATION_SCALE); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_SOFT_KEYBOARD_MODE, + SecureSettingsProto.ACCESSIBILITY_SOFT_KEYBOARD_MODE); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_LOCALE, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_LOCALE); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_PRESET, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_PRESET); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_BACKGROUND_COLOR); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_FOREGROUND_COLOR); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_TYPE, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_EDGE_TYPE); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_EDGE_COLOR, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_EDGE_COLOR); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_WINDOW_COLOR, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_WINDOW_COLOR); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_TYPEFACE, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_TYPEFACE); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_CAPTIONING_FONT_SCALE, + SecureSettingsProto.ACCESSIBILITY_CAPTIONING_FONT_SCALE); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED, + SecureSettingsProto.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, + SecureSettingsProto.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER, + SecureSettingsProto.ACCESSIBILITY_DISPLAY_DALTONIZER); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, + SecureSettingsProto.ACCESSIBILITY_AUTOCLICK_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY, + SecureSettingsProto.ACCESSIBILITY_AUTOCLICK_DELAY); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_LARGE_POINTER_ICON, + SecureSettingsProto.ACCESSIBILITY_LARGE_POINTER_ICON); + dumpSetting(s, p, + Settings.Secure.LONG_PRESS_TIMEOUT, + SecureSettingsProto.LONG_PRESS_TIMEOUT); + dumpSetting(s, p, + Settings.Secure.MULTI_PRESS_TIMEOUT, + SecureSettingsProto.MULTI_PRESS_TIMEOUT); + dumpSetting(s, p, + Settings.Secure.ENABLED_PRINT_SERVICES, + SecureSettingsProto.ENABLED_PRINT_SERVICES); + dumpSetting(s, p, + Settings.Secure.DISABLED_PRINT_SERVICES, + SecureSettingsProto.DISABLED_PRINT_SERVICES); + dumpSetting(s, p, + Settings.Secure.DISPLAY_DENSITY_FORCED, + SecureSettingsProto.DISPLAY_DENSITY_FORCED); + dumpSetting(s, p, + Settings.Secure.TTS_DEFAULT_RATE, + SecureSettingsProto.TTS_DEFAULT_RATE); + dumpSetting(s, p, + Settings.Secure.TTS_DEFAULT_PITCH, + SecureSettingsProto.TTS_DEFAULT_PITCH); + dumpSetting(s, p, + Settings.Secure.TTS_DEFAULT_SYNTH, + SecureSettingsProto.TTS_DEFAULT_SYNTH); + dumpSetting(s, p, + Settings.Secure.TTS_DEFAULT_LOCALE, + SecureSettingsProto.TTS_DEFAULT_LOCALE); + dumpSetting(s, p, + Settings.Secure.TTS_ENABLED_PLUGINS, + SecureSettingsProto.TTS_ENABLED_PLUGINS); + dumpSetting(s, p, + Settings.Secure.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS, + SecureSettingsProto.CONNECTIVITY_RELEASE_PENDING_INTENT_DELAY_MS); + dumpSetting(s, p, + Settings.Secure.ALLOWED_GEOLOCATION_ORIGINS, + SecureSettingsProto.ALLOWED_GEOLOCATION_ORIGINS); + dumpSetting(s, p, + Settings.Secure.PREFERRED_TTY_MODE, + SecureSettingsProto.PREFERRED_TTY_MODE); + dumpSetting(s, p, + Settings.Secure.ENHANCED_VOICE_PRIVACY_ENABLED, + SecureSettingsProto.ENHANCED_VOICE_PRIVACY_ENABLED); + dumpSetting(s, p, + Settings.Secure.TTY_MODE_ENABLED, + SecureSettingsProto.TTY_MODE_ENABLED); + dumpSetting(s, p, + Settings.Secure.BACKUP_ENABLED, + SecureSettingsProto.BACKUP_ENABLED); + dumpSetting(s, p, + Settings.Secure.BACKUP_AUTO_RESTORE, + SecureSettingsProto.BACKUP_AUTO_RESTORE); + dumpSetting(s, p, + Settings.Secure.BACKUP_PROVISIONED, + SecureSettingsProto.BACKUP_PROVISIONED); + dumpSetting(s, p, + Settings.Secure.BACKUP_TRANSPORT, + SecureSettingsProto.BACKUP_TRANSPORT); + dumpSetting(s, p, + Settings.Secure.LAST_SETUP_SHOWN, + SecureSettingsProto.LAST_SETUP_SHOWN); + dumpSetting(s, p, + Settings.Secure.SEARCH_GLOBAL_SEARCH_ACTIVITY, + SecureSettingsProto.SEARCH_GLOBAL_SEARCH_ACTIVITY); + dumpSetting(s, p, + Settings.Secure.SEARCH_NUM_PROMOTED_SOURCES, + SecureSettingsProto.SEARCH_NUM_PROMOTED_SOURCES); + dumpSetting(s, p, + Settings.Secure.SEARCH_MAX_RESULTS_TO_DISPLAY, + SecureSettingsProto.SEARCH_MAX_RESULTS_TO_DISPLAY); + dumpSetting(s, p, + Settings.Secure.SEARCH_MAX_RESULTS_PER_SOURCE, + SecureSettingsProto.SEARCH_MAX_RESULTS_PER_SOURCE); + dumpSetting(s, p, + Settings.Secure.SEARCH_WEB_RESULTS_OVERRIDE_LIMIT, + SecureSettingsProto.SEARCH_WEB_RESULTS_OVERRIDE_LIMIT); + dumpSetting(s, p, + Settings.Secure.SEARCH_PROMOTED_SOURCE_DEADLINE_MILLIS, + SecureSettingsProto.SEARCH_PROMOTED_SOURCE_DEADLINE_MILLIS); + dumpSetting(s, p, + Settings.Secure.SEARCH_SOURCE_TIMEOUT_MILLIS, + SecureSettingsProto.SEARCH_SOURCE_TIMEOUT_MILLIS); + dumpSetting(s, p, + Settings.Secure.SEARCH_PREFILL_MILLIS, + SecureSettingsProto.SEARCH_PREFILL_MILLIS); + dumpSetting(s, p, + Settings.Secure.SEARCH_MAX_STAT_AGE_MILLIS, + SecureSettingsProto.SEARCH_MAX_STAT_AGE_MILLIS); + dumpSetting(s, p, + Settings.Secure.SEARCH_MAX_SOURCE_EVENT_AGE_MILLIS, + SecureSettingsProto.SEARCH_MAX_SOURCE_EVENT_AGE_MILLIS); + dumpSetting(s, p, + Settings.Secure.SEARCH_MIN_IMPRESSIONS_FOR_SOURCE_RANKING, + SecureSettingsProto.SEARCH_MIN_IMPRESSIONS_FOR_SOURCE_RANKING); + dumpSetting(s, p, + Settings.Secure.SEARCH_MIN_CLICKS_FOR_SOURCE_RANKING, + SecureSettingsProto.SEARCH_MIN_CLICKS_FOR_SOURCE_RANKING); + dumpSetting(s, p, + Settings.Secure.SEARCH_MAX_SHORTCUTS_RETURNED, + SecureSettingsProto.SEARCH_MAX_SHORTCUTS_RETURNED); + dumpSetting(s, p, + Settings.Secure.SEARCH_QUERY_THREAD_CORE_POOL_SIZE, + SecureSettingsProto.SEARCH_QUERY_THREAD_CORE_POOL_SIZE); + dumpSetting(s, p, + Settings.Secure.SEARCH_QUERY_THREAD_MAX_POOL_SIZE, + SecureSettingsProto.SEARCH_QUERY_THREAD_MAX_POOL_SIZE); + dumpSetting(s, p, + Settings.Secure.SEARCH_SHORTCUT_REFRESH_CORE_POOL_SIZE, + SecureSettingsProto.SEARCH_SHORTCUT_REFRESH_CORE_POOL_SIZE); + dumpSetting(s, p, + Settings.Secure.SEARCH_SHORTCUT_REFRESH_MAX_POOL_SIZE, + SecureSettingsProto.SEARCH_SHORTCUT_REFRESH_MAX_POOL_SIZE); + dumpSetting(s, p, + Settings.Secure.SEARCH_THREAD_KEEPALIVE_SECONDS, + SecureSettingsProto.SEARCH_THREAD_KEEPALIVE_SECONDS); + dumpSetting(s, p, + Settings.Secure.SEARCH_PER_SOURCE_CONCURRENT_QUERY_LIMIT, + SecureSettingsProto.SEARCH_PER_SOURCE_CONCURRENT_QUERY_LIMIT); + dumpSetting(s, p, + Settings.Secure.MOUNT_PLAY_NOTIFICATION_SND, + SecureSettingsProto.MOUNT_PLAY_NOTIFICATION_SND); + dumpSetting(s, p, + Settings.Secure.MOUNT_UMS_AUTOSTART, + SecureSettingsProto.MOUNT_UMS_AUTOSTART); + dumpSetting(s, p, + Settings.Secure.MOUNT_UMS_PROMPT, + SecureSettingsProto.MOUNT_UMS_PROMPT); + dumpSetting(s, p, + Settings.Secure.MOUNT_UMS_NOTIFY_ENABLED, + SecureSettingsProto.MOUNT_UMS_NOTIFY_ENABLED); + dumpSetting(s, p, + Settings.Secure.ANR_SHOW_BACKGROUND, + SecureSettingsProto.ANR_SHOW_BACKGROUND); + dumpSetting(s, p, + Settings.Secure.VOICE_RECOGNITION_SERVICE, + SecureSettingsProto.VOICE_RECOGNITION_SERVICE); + dumpSetting(s, p, + Settings.Secure.PACKAGE_VERIFIER_USER_CONSENT, + SecureSettingsProto.PACKAGE_VERIFIER_USER_CONSENT); + dumpSetting(s, p, + Settings.Secure.SELECTED_SPELL_CHECKER, + SecureSettingsProto.SELECTED_SPELL_CHECKER); + dumpSetting(s, p, + Settings.Secure.SELECTED_SPELL_CHECKER_SUBTYPE, + SecureSettingsProto.SELECTED_SPELL_CHECKER_SUBTYPE); + dumpSetting(s, p, + Settings.Secure.SPELL_CHECKER_ENABLED, + SecureSettingsProto.SPELL_CHECKER_ENABLED); + dumpSetting(s, p, + Settings.Secure.INCALL_POWER_BUTTON_BEHAVIOR, + SecureSettingsProto.INCALL_POWER_BUTTON_BEHAVIOR); + dumpSetting(s, p, + Settings.Secure.INCALL_BACK_BUTTON_BEHAVIOR, + SecureSettingsProto.INCALL_BACK_BUTTON_BEHAVIOR); + dumpSetting(s, p, + Settings.Secure.WAKE_GESTURE_ENABLED, + SecureSettingsProto.WAKE_GESTURE_ENABLED); + dumpSetting(s, p, + Settings.Secure.DOZE_ENABLED, + SecureSettingsProto.DOZE_ENABLED); + dumpSetting(s, p, + Settings.Secure.DOZE_ALWAYS_ON, + SecureSettingsProto.DOZE_ALWAYS_ON); + dumpSetting(s, p, + Settings.Secure.DOZE_PULSE_ON_PICK_UP, + SecureSettingsProto.DOZE_PULSE_ON_PICK_UP); + dumpSetting(s, p, + Settings.Secure.DOZE_PULSE_ON_DOUBLE_TAP, + SecureSettingsProto.DOZE_PULSE_ON_DOUBLE_TAP); + dumpSetting(s, p, + Settings.Secure.UI_NIGHT_MODE, + SecureSettingsProto.UI_NIGHT_MODE); + dumpSetting(s, p, + Settings.Secure.SCREENSAVER_ENABLED, + SecureSettingsProto.SCREENSAVER_ENABLED); + dumpSetting(s, p, + Settings.Secure.SCREENSAVER_COMPONENTS, + SecureSettingsProto.SCREENSAVER_COMPONENTS); + dumpSetting(s, p, + Settings.Secure.SCREENSAVER_ACTIVATE_ON_DOCK, + SecureSettingsProto.SCREENSAVER_ACTIVATE_ON_DOCK); + dumpSetting(s, p, + Settings.Secure.SCREENSAVER_ACTIVATE_ON_SLEEP, + SecureSettingsProto.SCREENSAVER_ACTIVATE_ON_SLEEP); + dumpSetting(s, p, + Settings.Secure.SCREENSAVER_DEFAULT_COMPONENT, + SecureSettingsProto.SCREENSAVER_DEFAULT_COMPONENT); + dumpSetting(s, p, + Settings.Secure.NFC_PAYMENT_DEFAULT_COMPONENT, + SecureSettingsProto.NFC_PAYMENT_DEFAULT_COMPONENT); + dumpSetting(s, p, + Settings.Secure.NFC_PAYMENT_FOREGROUND, + SecureSettingsProto.NFC_PAYMENT_FOREGROUND); + dumpSetting(s, p, + Settings.Secure.SMS_DEFAULT_APPLICATION, + SecureSettingsProto.SMS_DEFAULT_APPLICATION); + dumpSetting(s, p, + Settings.Secure.DIALER_DEFAULT_APPLICATION, + SecureSettingsProto.DIALER_DEFAULT_APPLICATION); + dumpSetting(s, p, + Settings.Secure.EMERGENCY_ASSISTANCE_APPLICATION, + SecureSettingsProto.EMERGENCY_ASSISTANCE_APPLICATION); + dumpSetting(s, p, + Settings.Secure.ASSIST_STRUCTURE_ENABLED, + SecureSettingsProto.ASSIST_STRUCTURE_ENABLED); + dumpSetting(s, p, + Settings.Secure.ASSIST_SCREENSHOT_ENABLED, + SecureSettingsProto.ASSIST_SCREENSHOT_ENABLED); + dumpSetting(s, p, + Settings.Secure.ASSIST_DISCLOSURE_ENABLED, + SecureSettingsProto.ASSIST_DISCLOSURE_ENABLED); + dumpSetting(s, p, + Settings.Secure.ENABLED_NOTIFICATION_ASSISTANT, + SecureSettingsProto.ENABLED_NOTIFICATION_ASSISTANT); + dumpSetting(s, p, + Settings.Secure.ENABLED_NOTIFICATION_LISTENERS, + SecureSettingsProto.ENABLED_NOTIFICATION_LISTENERS); + dumpSetting(s, p, + Settings.Secure.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES, + SecureSettingsProto.ENABLED_NOTIFICATION_POLICY_ACCESS_PACKAGES); + dumpSetting(s, p, + Settings.Secure.SYNC_PARENT_SOUNDS, + SecureSettingsProto.SYNC_PARENT_SOUNDS); + dumpSetting(s, p, + Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS, + SecureSettingsProto.IMMERSIVE_MODE_CONFIRMATIONS); + dumpSetting(s, p, + Settings.Secure.PRINT_SERVICE_SEARCH_URI, + SecureSettingsProto.PRINT_SERVICE_SEARCH_URI); + dumpSetting(s, p, + Settings.Secure.PAYMENT_SERVICE_SEARCH_URI, + SecureSettingsProto.PAYMENT_SERVICE_SEARCH_URI); + dumpSetting(s, p, + Settings.Secure.SKIP_FIRST_USE_HINTS, + SecureSettingsProto.SKIP_FIRST_USE_HINTS); + dumpSetting(s, p, + Settings.Secure.UNSAFE_VOLUME_MUSIC_ACTIVE_MS, + SecureSettingsProto.UNSAFE_VOLUME_MUSIC_ACTIVE_MS); + dumpSetting(s, p, + Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, + SecureSettingsProto.LOCK_SCREEN_SHOW_NOTIFICATIONS); + dumpSetting(s, p, + Settings.Secure.TV_INPUT_HIDDEN_INPUTS, + SecureSettingsProto.TV_INPUT_HIDDEN_INPUTS); + dumpSetting(s, p, + Settings.Secure.TV_INPUT_CUSTOM_LABELS, + SecureSettingsProto.TV_INPUT_CUSTOM_LABELS); + dumpSetting(s, p, + Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED, + SecureSettingsProto.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED); + dumpSetting(s, p, + Settings.Secure.SLEEP_TIMEOUT, + SecureSettingsProto.SLEEP_TIMEOUT); + dumpSetting(s, p, + Settings.Secure.DOUBLE_TAP_TO_WAKE, + SecureSettingsProto.DOUBLE_TAP_TO_WAKE); + dumpSetting(s, p, + Settings.Secure.ASSISTANT, + SecureSettingsProto.ASSISTANT); + dumpSetting(s, p, + Settings.Secure.CAMERA_GESTURE_DISABLED, + SecureSettingsProto.CAMERA_GESTURE_DISABLED); + dumpSetting(s, p, + Settings.Secure.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, + SecureSettingsProto.CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED); + dumpSetting(s, p, + Settings.Secure.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, + SecureSettingsProto.CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED); + dumpSetting(s, p, + Settings.Secure.NIGHT_DISPLAY_ACTIVATED, + SecureSettingsProto.NIGHT_DISPLAY_ACTIVATED); + dumpSetting(s, p, + Settings.Secure.NIGHT_DISPLAY_AUTO_MODE, + SecureSettingsProto.NIGHT_DISPLAY_AUTO_MODE); + dumpSetting(s, p, + Settings.Secure.NIGHT_DISPLAY_CUSTOM_START_TIME, + SecureSettingsProto.NIGHT_DISPLAY_CUSTOM_START_TIME); + dumpSetting(s, p, + Settings.Secure.NIGHT_DISPLAY_CUSTOM_END_TIME, + SecureSettingsProto.NIGHT_DISPLAY_CUSTOM_END_TIME); + dumpSetting(s, p, + Settings.Secure.BRIGHTNESS_USE_TWILIGHT, + SecureSettingsProto.BRIGHTNESS_USE_TWILIGHT); + dumpSetting(s, p, + Settings.Secure.ENABLED_VR_LISTENERS, + SecureSettingsProto.ENABLED_VR_LISTENERS); + dumpSetting(s, p, + Settings.Secure.VR_DISPLAY_MODE, + SecureSettingsProto.VR_DISPLAY_MODE); + dumpSetting(s, p, + Settings.Secure.CARRIER_APPS_HANDLED, + SecureSettingsProto.CARRIER_APPS_HANDLED); + dumpSetting(s, p, + Settings.Secure.MANAGED_PROFILE_CONTACT_REMOTE_SEARCH, + SecureSettingsProto.MANAGED_PROFILE_CONTACT_REMOTE_SEARCH); + dumpSetting(s, p, + Settings.Secure.AUTOMATIC_STORAGE_MANAGER_ENABLED, + SecureSettingsProto.AUTOMATIC_STORAGE_MANAGER_ENABLED); + dumpSetting(s, p, + Settings.Secure.AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN, + SecureSettingsProto.AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN); + dumpSetting(s, p, + Settings.Secure.AUTOMATIC_STORAGE_MANAGER_BYTES_CLEARED, + SecureSettingsProto.AUTOMATIC_STORAGE_MANAGER_BYTES_CLEARED); + dumpSetting(s, p, + Settings.Secure.AUTOMATIC_STORAGE_MANAGER_LAST_RUN, + SecureSettingsProto.AUTOMATIC_STORAGE_MANAGER_LAST_RUN); + dumpSetting(s, p, + Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED, + SecureSettingsProto.SYSTEM_NAVIGATION_KEYS_ENABLED); + dumpSetting(s, p, + Settings.Secure.DOWNLOADS_BACKUP_ENABLED, + SecureSettingsProto.DOWNLOADS_BACKUP_ENABLED); + dumpSetting(s, p, + Settings.Secure.DOWNLOADS_BACKUP_ALLOW_METERED, + SecureSettingsProto.DOWNLOADS_BACKUP_ALLOW_METERED); + dumpSetting(s, p, + Settings.Secure.DOWNLOADS_BACKUP_CHARGING_ONLY, + SecureSettingsProto.DOWNLOADS_BACKUP_CHARGING_ONLY); + dumpSetting(s, p, + Settings.Secure.AUTOMATIC_STORAGE_MANAGER_DOWNLOADS_DAYS_TO_RETAIN, + SecureSettingsProto.AUTOMATIC_STORAGE_MANAGER_DOWNLOADS_DAYS_TO_RETAIN); + dumpSetting(s, p, + Settings.Secure.QS_TILES, + SecureSettingsProto.QS_TILES); + dumpSetting(s, p, + Settings.Secure.DEMO_USER_SETUP_COMPLETE, + SecureSettingsProto.DEMO_USER_SETUP_COMPLETE); + dumpSetting(s, p, + Settings.Secure.WEB_ACTION_ENABLED, + SecureSettingsProto.WEB_ACTION_ENABLED); + dumpSetting(s, p, + Settings.Secure.DEVICE_PAIRED, + SecureSettingsProto.DEVICE_PAIRED); + } + + private static void dumpProtoSystemSettingsLocked( + @NonNull SettingsState s, @NonNull ProtoOutputStream p) { + dumpSetting(s, p, + Settings.System.END_BUTTON_BEHAVIOR, + SystemSettingsProto.END_BUTTON_BEHAVIOR); + dumpSetting(s, p, + Settings.System.ADVANCED_SETTINGS, + SystemSettingsProto.ADVANCED_SETTINGS); + dumpSetting(s, p, + Settings.System.BLUETOOTH_DISCOVERABILITY, + SystemSettingsProto.BLUETOOTH_DISCOVERABILITY); + dumpSetting(s, p, + Settings.System.BLUETOOTH_DISCOVERABILITY_TIMEOUT, + SystemSettingsProto.BLUETOOTH_DISCOVERABILITY_TIMEOUT); + dumpSetting(s, p, + Settings.System.FONT_SCALE, + SystemSettingsProto.FONT_SCALE); + dumpSetting(s, p, + Settings.System.SYSTEM_LOCALES, + SystemSettingsProto.SYSTEM_LOCALES); + dumpSetting(s, p, + Settings.System.SCREEN_OFF_TIMEOUT, + SystemSettingsProto.SCREEN_OFF_TIMEOUT); + dumpSetting(s, p, + Settings.System.SCREEN_BRIGHTNESS, + SystemSettingsProto.SCREEN_BRIGHTNESS); + dumpSetting(s, p, + Settings.System.SCREEN_BRIGHTNESS_FOR_VR, + SystemSettingsProto.SCREEN_BRIGHTNESS_FOR_VR); + dumpSetting(s, p, + Settings.System.SCREEN_BRIGHTNESS_MODE, + SystemSettingsProto.SCREEN_BRIGHTNESS_MODE); + dumpSetting(s, p, + Settings.System.SCREEN_AUTO_BRIGHTNESS_ADJ, + SystemSettingsProto.SCREEN_AUTO_BRIGHTNESS_ADJ); + dumpSetting(s, p, + Settings.System.MODE_RINGER_STREAMS_AFFECTED, + SystemSettingsProto.MODE_RINGER_STREAMS_AFFECTED); + dumpSetting(s, p, + Settings.System.MUTE_STREAMS_AFFECTED, + SystemSettingsProto.MUTE_STREAMS_AFFECTED); + dumpSetting(s, p, + Settings.System.VIBRATE_ON, + SystemSettingsProto.VIBRATE_ON); + dumpSetting(s, p, + Settings.System.VIBRATE_INPUT_DEVICES, + SystemSettingsProto.VIBRATE_INPUT_DEVICES); + dumpSetting(s, p, + Settings.System.VOLUME_RING, + SystemSettingsProto.VOLUME_RING); + dumpSetting(s, p, + Settings.System.VOLUME_SYSTEM, + SystemSettingsProto.VOLUME_SYSTEM); + dumpSetting(s, p, + Settings.System.VOLUME_VOICE, + SystemSettingsProto.VOLUME_VOICE); + dumpSetting(s, p, + Settings.System.VOLUME_MUSIC, + SystemSettingsProto.VOLUME_MUSIC); + dumpSetting(s, p, + Settings.System.VOLUME_ALARM, + SystemSettingsProto.VOLUME_ALARM); + dumpSetting(s, p, + Settings.System.VOLUME_NOTIFICATION, + SystemSettingsProto.VOLUME_NOTIFICATION); + dumpSetting(s, p, + Settings.System.VOLUME_BLUETOOTH_SCO, + SystemSettingsProto.VOLUME_BLUETOOTH_SCO); + dumpSetting(s, p, + Settings.System.VOLUME_MASTER, + SystemSettingsProto.VOLUME_MASTER); + dumpSetting(s, p, + Settings.System.MASTER_MONO, + SystemSettingsProto.MASTER_MONO); + dumpSetting(s, p, + Settings.System.VIBRATE_IN_SILENT, + SystemSettingsProto.VIBRATE_IN_SILENT); + dumpSetting(s, p, + Settings.System.APPEND_FOR_LAST_AUDIBLE, + SystemSettingsProto.APPEND_FOR_LAST_AUDIBLE); + dumpSetting(s, p, + Settings.System.RINGTONE, + SystemSettingsProto.RINGTONE); + dumpSetting(s, p, + Settings.System.RINGTONE_CACHE, + SystemSettingsProto.RINGTONE_CACHE); + dumpSetting(s, p, + Settings.System.NOTIFICATION_SOUND, + SystemSettingsProto.NOTIFICATION_SOUND); + dumpSetting(s, p, + Settings.System.NOTIFICATION_SOUND_CACHE, + SystemSettingsProto.NOTIFICATION_SOUND_CACHE); + dumpSetting(s, p, + Settings.System.ALARM_ALERT, + SystemSettingsProto.ALARM_ALERT); + dumpSetting(s, p, + Settings.System.ALARM_ALERT_CACHE, + SystemSettingsProto.ALARM_ALERT_CACHE); + dumpSetting(s, p, + Settings.System.MEDIA_BUTTON_RECEIVER, + SystemSettingsProto.MEDIA_BUTTON_RECEIVER); + dumpSetting(s, p, + Settings.System.TEXT_AUTO_REPLACE, + SystemSettingsProto.TEXT_AUTO_REPLACE); + dumpSetting(s, p, + Settings.System.TEXT_AUTO_CAPS, + SystemSettingsProto.TEXT_AUTO_CAPS); + dumpSetting(s, p, + Settings.System.TEXT_AUTO_PUNCTUATE, + SystemSettingsProto.TEXT_AUTO_PUNCTUATE); + dumpSetting(s, p, + Settings.System.TEXT_SHOW_PASSWORD, + SystemSettingsProto.TEXT_SHOW_PASSWORD); + dumpSetting(s, p, + Settings.System.SHOW_GTALK_SERVICE_STATUS, + SystemSettingsProto.SHOW_GTALK_SERVICE_STATUS); + dumpSetting(s, p, + Settings.System.TIME_12_24, + SystemSettingsProto.TIME_12_24); + dumpSetting(s, p, + Settings.System.DATE_FORMAT, + SystemSettingsProto.DATE_FORMAT); + dumpSetting(s, p, + Settings.System.SETUP_WIZARD_HAS_RUN, + SystemSettingsProto.SETUP_WIZARD_HAS_RUN); + dumpSetting(s, p, + Settings.System.ACCELEROMETER_ROTATION, + SystemSettingsProto.ACCELEROMETER_ROTATION); + dumpSetting(s, p, + Settings.System.USER_ROTATION, + SystemSettingsProto.USER_ROTATION); + dumpSetting(s, p, + Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, + SystemSettingsProto.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY); + dumpSetting(s, p, + Settings.System.VIBRATE_WHEN_RINGING, + SystemSettingsProto.VIBRATE_WHEN_RINGING); + dumpSetting(s, p, + Settings.System.DTMF_TONE_WHEN_DIALING, + SystemSettingsProto.DTMF_TONE_WHEN_DIALING); + dumpSetting(s, p, + Settings.System.DTMF_TONE_TYPE_WHEN_DIALING, + SystemSettingsProto.DTMF_TONE_TYPE_WHEN_DIALING); + dumpSetting(s, p, + Settings.System.HEARING_AID, + SystemSettingsProto.HEARING_AID); + dumpSetting(s, p, + Settings.System.TTY_MODE, + SystemSettingsProto.TTY_MODE); + dumpSetting(s, p, + Settings.System.SOUND_EFFECTS_ENABLED, + SystemSettingsProto.SOUND_EFFECTS_ENABLED); + dumpSetting(s, p, + Settings.System.HAPTIC_FEEDBACK_ENABLED, + SystemSettingsProto.HAPTIC_FEEDBACK_ENABLED); + dumpSetting(s, p, + Settings.System.NOTIFICATION_LIGHT_PULSE, + SystemSettingsProto.NOTIFICATION_LIGHT_PULSE); + dumpSetting(s, p, + Settings.System.POINTER_LOCATION, + SystemSettingsProto.POINTER_LOCATION); + dumpSetting(s, p, + Settings.System.SHOW_TOUCHES, + SystemSettingsProto.SHOW_TOUCHES); + dumpSetting(s, p, + Settings.System.WINDOW_ORIENTATION_LISTENER_LOG, + SystemSettingsProto.WINDOW_ORIENTATION_LISTENER_LOG); + dumpSetting(s, p, + Settings.System.LOCKSCREEN_SOUNDS_ENABLED, + SystemSettingsProto.LOCKSCREEN_SOUNDS_ENABLED); + dumpSetting(s, p, + Settings.System.LOCKSCREEN_DISABLED, + SystemSettingsProto.LOCKSCREEN_DISABLED); + dumpSetting(s, p, + Settings.System.SIP_RECEIVE_CALLS, + SystemSettingsProto.SIP_RECEIVE_CALLS); + dumpSetting(s, p, + Settings.System.SIP_CALL_OPTIONS, + SystemSettingsProto.SIP_CALL_OPTIONS); + dumpSetting(s, p, + Settings.System.SIP_ALWAYS, + SystemSettingsProto.SIP_ALWAYS); + dumpSetting(s, p, + Settings.System.SIP_ADDRESS_ONLY, + SystemSettingsProto.SIP_ADDRESS_ONLY); + dumpSetting(s, p, + Settings.System.POINTER_SPEED, + SystemSettingsProto.POINTER_SPEED); + dumpSetting(s, p, + Settings.System.LOCK_TO_APP_ENABLED, + SystemSettingsProto.LOCK_TO_APP_ENABLED); + dumpSetting(s, p, + Settings.System.EGG_MODE, + SystemSettingsProto.EGG_MODE); + dumpSetting(s, p, + Settings.System.WHEN_TO_MAKE_WIFI_CALLS, + SystemSettingsProto.WHEN_TO_MAKE_WIFI_CALLS); + } +} diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 527631e0fb7c2..697999526c234 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -17,6 +17,7 @@ package com.android.providers.settings; import android.Manifest; +import android.annotation.NonNull; import android.app.ActivityManager; import android.app.AppGlobals; import android.app.backup.BackupManager; @@ -65,6 +66,7 @@ import android.util.ByteStringUtils; import android.util.Slog; import android.util.SparseArray; import android.util.SparseBooleanArray; +import android.util.proto.ProtoOutputStream; import com.android.internal.annotations.GuardedBy; import com.android.internal.content.PackageMonitor; @@ -90,8 +92,9 @@ import java.util.Set; import java.util.regex.Pattern; import static android.os.Process.ROOT_UID; -import static android.os.Process.SYSTEM_UID; import static android.os.Process.SHELL_UID; +import static android.os.Process.SYSTEM_UID; + /** *
@@ -601,6 +604,22 @@ public class SettingsProvider extends ContentProvider { return cacheDir; } + /** + * Dump all settings as a proto buf. + * + * @param fd The file to dump to + */ + void dumpProto(@NonNull FileDescriptor fd) { + ProtoOutputStream proto = new ProtoOutputStream(fd); + + synchronized (mLock) { + SettingsProtoDumpUtil.dumpProtoLocked(mSettingsRegistry, proto); + + } + + proto.flush(); + } + public void dumpInternal(FileDescriptor fd, PrintWriter pw, String[] args) { synchronized (mLock) { final long identity = Binder.clearCallingIdentity(); @@ -663,7 +682,7 @@ public class SettingsProvider extends ContentProvider { pw.print(" value:"); pw.print(toDumpString(setting.getValue())); if (setting.getDefaultValue() != null) { pw.print(" default:"); pw.print(setting.getDefaultValue()); - pw.print(" defaultSystemSet:"); pw.print(setting.isDefaultSystemSet()); + pw.print(" defaultSystemSet:"); pw.print(setting.isDefaultFromSystem()); } if (setting.getTag() != null) { pw.print(" tag:"); pw.print(setting.getTag()); @@ -2296,7 +2315,7 @@ public class SettingsProvider extends ContentProvider { Setting setting = settingsState.getSettingLocked(name); if (!SettingsState.isSystemPackage(getContext(), setting.getPackageName())) { - if (setting.isDefaultSystemSet()) { + if (setting.isDefaultFromSystem()) { if (settingsState.resetSettingLocked(name, packageName)) { notifyForSettingsChange(key, name); } @@ -2310,7 +2329,7 @@ public class SettingsProvider extends ContentProvider { case Settings.RESET_MODE_TRUSTED_DEFAULTS: { for (String name : settingsState.getSettingNamesLocked()) { Setting setting = settingsState.getSettingLocked(name); - if (setting.isDefaultSystemSet()) { + if (setting.isDefaultFromSystem()) { if (settingsState.resetSettingLocked(name, packageName)) { notifyForSettingsChange(key, name); } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java index fecc938ad3be0..2d5932492b9a6 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsService.java @@ -65,6 +65,7 @@ final public class SettingsService extends Binder { } int opti = 0; + boolean dumpAsProto = false; while (opti < args.length) { String opt = args[opti]; if (opt == null || opt.length() <= 0 || opt.charAt(0) != '-') { @@ -74,16 +75,22 @@ final public class SettingsService extends Binder { if ("-h".equals(opt)) { MyShellCommand.dumpHelp(pw, true); return; + } else if ("--proto".equals(opt)) { + dumpAsProto = true; } else { pw.println("Unknown argument: " + opt + "; use -h for help"); } } - long caller = Binder.clearCallingIdentity(); + final long ident = Binder.clearCallingIdentity(); try { - mProvider.dumpInternal(fd, pw, args); + if (dumpAsProto) { + mProvider.dumpProto(fd); + } else { + mProvider.dumpInternal(fd, pw, args); + } } finally { - Binder.restoreCallingIdentity(caller); + Binder.restoreCallingIdentity(ident); } } @@ -449,8 +456,9 @@ final public class SettingsService extends Binder { static void dumpHelp(PrintWriter pw, boolean dumping) { if (dumping) { pw.println("Settings provider dump options:"); - pw.println(" [-h]"); + pw.println(" [-h] [--proto]"); pw.println(" -h: print this help."); + pw.println(" --proto: dump as protobuf."); } else { pw.println("Settings provider (settings) commands:"); pw.println(" help"); diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java index 8f37b98334b7c..a74be35b3f286 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java @@ -16,6 +16,9 @@ package com.android.providers.settings; +import static android.os.Process.FIRST_APPLICATION_UID; + +import android.annotation.NonNull; import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageInfo; @@ -30,6 +33,8 @@ import android.os.Message; import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings; +import android.providers.settings.GlobalSettingsProto; +import android.providers.settings.SettingsOperationProto; import android.text.TextUtils; import android.util.ArrayMap; import android.util.AtomicFile; @@ -38,10 +43,14 @@ import android.util.Slog; import android.util.SparseIntArray; import android.util.TimeUtils; import android.util.Xml; +import android.util.proto.ProtoOutputStream; + import com.android.internal.annotations.GuardedBy; import com.android.server.LocalServices; + import libcore.io.IoUtils; import libcore.util.Objects; + import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; @@ -56,8 +65,6 @@ import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; -import static android.os.Process.FIRST_APPLICATION_UID; - /** * This class contains the state for one type of settings. It is responsible * for saving the state asynchronously to an XML file after a mutation and @@ -404,6 +411,38 @@ final class SettingsState { } } + /** + * Dump historical operations as a proto buf. + * + * @param proto The proto buf stream to dump to + */ + void dumpProtoHistoricalOperations(@NonNull ProtoOutputStream proto) { + synchronized (mLock) { + if (mHistoricalOperations == null) { + return; + } + + final int operationCount = mHistoricalOperations.size(); + for (int i = 0; i < operationCount; i++) { + int index = mNextHistoricalOpIdx - 1 - i; + if (index < 0) { + index = operationCount + index; + } + HistoricalOperation operation = mHistoricalOperations.get(index); + long settingsOperationToken = proto.start(GlobalSettingsProto.HISTORICAL_OP); + proto.write(SettingsOperationProto.TIMESTAMP, operation.mTimestamp); + proto.write(SettingsOperationProto.OPERATION, operation.mOperation); + if (operation.mSetting != null) { + // Only add the name of the setting, since we don't know the historical package + // and values for it so they would be misleading to add here (all we could + // add is what the current data is). + proto.write(SettingsOperationProto.SETTING, operation.mSetting.getName()); + } + proto.end(settingsOperationToken); + } + } + } + public void dumpHistoricalOperations(PrintWriter pw) { synchronized (mLock) { if (mHistoricalOperations == null) { @@ -544,7 +583,7 @@ final class SettingsState { writeSingleSetting(mVersion, serializer, setting.getId(), setting.getName(), setting.getValue(), setting.getDefaultValue(), setting.getPackageName(), - setting.getTag(), setting.isDefaultSystemSet()); + setting.getTag(), setting.isDefaultFromSystem()); if (DEBUG_PERSISTENCE) { Slog.i(LOG_TAG, "[PERSISTED]" + setting.getName() + "=" + setting.getValue()); @@ -763,7 +802,7 @@ final class SettingsState { private String id; private String tag; // Whether the default is set by the system - private boolean defaultSystemSet; + private boolean defaultFromSystem; public Setting(Setting other) { name = other.name; @@ -771,7 +810,7 @@ final class SettingsState { defaultValue = other.defaultValue; packageName = other.packageName; id = other.id; - defaultSystemSet = other.defaultSystemSet; + defaultFromSystem = other.defaultFromSystem; tag = other.tag; } @@ -798,7 +837,7 @@ final class SettingsState { this.defaultValue = defaultValue; this.packageName = packageName; this.id = id; - this.defaultSystemSet = fromSystem; + this.defaultFromSystem = fromSystem; } public String getName() { @@ -825,8 +864,8 @@ final class SettingsState { return packageName; } - public boolean isDefaultSystemSet() { - return defaultSystemSet; + public boolean isDefaultFromSystem() { + return defaultFromSystem; } public String getId() { @@ -854,22 +893,22 @@ final class SettingsState { } String defaultValue = this.defaultValue; - boolean defaultSystemSet = this.defaultSystemSet; + boolean defaultFromSystem = this.defaultFromSystem; if (setDefault) { if (!Objects.equal(value, this.defaultValue) - && (!defaultSystemSet || callerSystem)) { + && (!defaultFromSystem || callerSystem)) { defaultValue = value; // Default null means no default, so the tag is irrelevant // since it is used to reset a settings subset their defaults. // Also it is irrelevant if the system set the canonical default. if (defaultValue == null) { tag = null; - defaultSystemSet = false; + defaultFromSystem = false; } } - if (!defaultSystemSet && value != null) { + if (!defaultFromSystem && value != null) { if (callerSystem) { - defaultSystemSet = true; + defaultFromSystem = true; } } } @@ -879,11 +918,11 @@ final class SettingsState { && Objects.equal(defaultValue, this.defaultValue) && Objects.equal(packageName, this.packageName) && Objects.equal(tag, this.tag) - && defaultSystemSet == this.defaultSystemSet) { + && defaultFromSystem == this.defaultFromSystem) { return false; } - init(name, value, tag, defaultValue, packageName, defaultSystemSet, + init(name, value, tag, defaultValue, packageName, defaultFromSystem, String.valueOf(mNextId++)); return true; } @@ -892,7 +931,7 @@ final class SettingsState { return "Setting{name=" + name + " value=" + value + (defaultValue != null ? " default=" + defaultValue : "") + " packageName=" + packageName + " tag=" + tag - + " defaultSystemSet=" + defaultSystemSet + "}"; + + " defaultFromSystem=" + defaultFromSystem + "}"; } }