/* * Copyright (C) 2017 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ syntax = "proto2"; option java_multiple_files = true; import "frameworks/base/core/proto/android/privacy.proto"; package android.os; // Android Platform Exported System Properties // TODO: This is not the completed list, new properties need to be whitelisted. message SystemPropertiesProto { // Properties that are not specified below would be appended here. // These values stay on device only. message Property { option (android.msg_privacy).dest = DEST_LOCAL; optional string name = 1; optional string value = 2; } repeated Property extra_properties = 1; message AacDrc { optional int32 boost = 1; optional int32 cut = 2; optional int32 enc_target_level = 3; optional int32 heavy = 4; optional int32 reference_level = 5; } optional AacDrc aac_drc = 2; message Aaudio { optional int32 hw_burst_min_usec = 1; optional int32 minimum_sleep_usec = 2; optional int32 mixer_bursts = 3; optional int32 mmap_exclusive_policy = 4; optional int32 mmap_policy = 5; optional int32 wakeup_delay_usec = 6; // Next Tag: 7 } optional Aaudio aaudio = 3; optional int32 af_fast_track_multiplier = 4; message Camera { optional bool disable_zsl_mode = 1; optional int32 fifo_disable = 2; // Next Tag: 3 } optional Camera camera = 5; message DalvikVm { optional string appimageformat = 1; optional string backgroundgctype = 2; optional bool checkjni = 3; optional string dex2oat_filter = 4; optional string dex2oat_flags = 5; optional int32 dex2oat_threads = 6; optional string dex2oat_Xms = 7; optional string dex2oat_Xmx = 8; optional bool dexopt_secondary = 9; optional string execution_mode = 10; optional string extra_opts = 11; optional string gctype = 12; optional string heapgrowthlimit = 13; optional string heapmaxfree = 14; optional string heapminfree = 15; optional string heapsize = 16; optional string heapstartsize = 17; optional double heaptargetutilization = 18; optional int32 hot_startup_method_samples = 19; optional string image_dex2oat_filter = 20; optional string image_dex2oat_flags = 21; optional int32 image_dex2oat_threads = 22; optional string image_dex2oat_Xms = 23; optional string image_dex2oat_Xmx = 24; optional string isa_arm_features = 25; optional string isa_arm_variant = 26; optional string isa_arm64_features = 27; optional string isa_arm64_variant = 28; optional string isa_mips_features = 29; optional string isa_mips_variant = 30; optional string isa_mips64_features = 31; optional string isa_mips64_variant = 32; optional string isa_unknown_features = 33; optional string isa_unknown_variant = 34; optional string isa_x86_64_features = 35; optional string isa_x86_64_variant = 36; optional string isa_x86_features = 37; optional string isa_x86_variant = 38; optional string jitinitialsize = 39; optional string jitmaxsize = 40; optional int32 jitprithreadweight = 41; optional int32 jitthreshold = 42; optional int32 jittransitionweight = 43; optional string jniopts = 44; optional int32 lockprof_threshold = 45; optional bool method_trace = 46; optional string method_trace_file = 47; optional int32 method_trace_file_siz = 48; optional bool method_trace_stream = 49; optional bool profilesystemserver = 50; optional string stack_trace_dir = 51; optional bool usejit = 52; optional bool usejitprofiles = 53; optional int32 zygote_max_boot_retry = 54; // Next Tag: 55 } optional DalvikVm dalvik_vm = 6; optional bool drm_64bit_enabled = 7; optional bool drm_service_enabled = 8; optional bool dumpstate_dry_run = 9; optional string gsm_sim_operator_numeric = 10; optional bool hal_instrumentation_enable = 11; message InitSvc { option (android.msg_privacy).dest = DEST_AUTOMATIC; enum Status { STATUS_UNKNOWN = 0; STATUS_RUNNING = 1; STATUS_STOPPED = 2; } optional Status adbd = 1; optional Status audioserver = 2; optional Status bootanim = 3; optional Status bufferhubd = 4; optional Status cameraserver = 5; optional Status clear_bcb = 6; optional Status drm = 7; optional Status gatekeeperd = 8; optional Status healthd = 9; optional Status hidl_memory = 10; optional Status hostapd = 11; optional Status hwservicemanager = 12; optional Status installd = 13; optional Status keystore = 14; optional Status lmkd = 15; optional Status logd = 16; optional Status logd_reinit = 17; optional Status media = 18; optional Status mediadrm = 19; optional Status mediaextractor = 20; optional Status mediametrics = 21; optional Status netd = 22; optional Status performanced = 23; optional Status ril_daemon = 24; optional Status servicemanager = 25; optional Status storaged = 26; optional Status surfaceflinger = 27; optional Status thermalservice = 28; optional Status tombstoned = 29; optional Status ueventd = 30; optional Status update_engine = 31; optional Status update_verifier_nonencrypted = 32; optional Status virtual_touchpad = 33; optional Status vndservicemanager = 34; optional Status vold = 35; optional Status vr_hwc = 36; optional Status webview_zygote32 = 37; optional Status wificond = 38; optional Status wpa_supplicant = 39; optional Status zygote = 40; optional Status zygote_secondary = 41; // Next Tag: 42 } optional InitSvc init_svc = 12; optional bool keyguard_no_require_sim = 13; optional string libc_debug_malloc_options = 14; optional string libc_debug_malloc_program = 15; message Log { option (android.msg_privacy).dest = DEST_AUTOMATIC; optional string tag_wifi_hal = 1; optional string tag_stats_log = 2; // Next Tag: 3 } optional Log log = 16; optional bool media_mediadrmservice_enable = 17; optional bool media_recorder_show_manufacturer_and_model = 18; message Persist { optional string config_calibration_fac = 1; optional int32 dbg_volte_avail_ovr = 2; optional int32 dbg_vt_avail_ovr = 3; optional int32 dbg_wfc_avail_ovr = 4; optional int32 radio_airplane_mode_on = 5; optional string radio_multisim_config = 6; optional int32 rcs_supported = 7; optional bool sys_crash_rcu = 8; optional string sys_dalvik_vm_lib_2 = 9; optional float sys_sf_color_saturation = 10; optional string sys_timezone = 11; // Next Tag: 12 } optional Persist persist = 19; message PmDexopt { optional string ab_ota = 1; optional string bg_dexopt = 2; optional string boot = 3; optional string first_boot = 4; optional string install = 5; // Next Tag: 6 } optional PmDexopt pm_dexopt = 20; // Read only properites on the device. message Ro { optional bool adb_secure = 1 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional string arch = 2; optional bool audio_ignore_effects = 3; optional bool audio_monitor_rotation = 4; optional string baseband = 5; optional string board_platform = 6; message Boot { optional string avb_version = 1; optional string baseband = 2; optional string bootdevice = 3; optional string bootloader = 4; repeated string boottime = 5; optional string console = 6; optional int32 fake_battery = 7; // The name of the hardware (from the kernel command line or /proc). It // SHOULD be reasonably human-readable. optional string hardware = 8; optional string hardware_color = 9; optional string hardware_revision = 10; // SKU is for small variants such as device color, targeted market, // ram/rom size, etc. optional string hardware_sku = 11; optional string keymaster = 12; optional string mode = 13; optional string revision = 14; optional string slot_suffix = 15; optional string vbmeta_avb_version = 16; optional string vendor_overlay_theme = 17; optional string verifiedbootstate = 18; optional string veritymode = 19; optional string wificountrycode = 20; // Next Tag: 21 } optional Boot boot = 7; // boot.img's properties. message BootImage { option (android.msg_privacy).dest = DEST_AUTOMATIC; // When the boot.img is built. optional string build_date = 1; // UTC timestamp of build date. optional int64 build_date_utc = 2; // Android Build fingerprint of the build, e.g. // google/marlin/marlin:P/MASTER/android-build/dev-keys optional string build_fingerprint = 3; // Next Tag: 4 } optional BootImage bootimage = 8; // Version of bootloader on device. optional string bootloader = 9 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Kernel bootmode, e.g. charger. optional string bootmode = 10 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Android Platform build metadata. message Build { option (android.msg_privacy).dest = DEST_AUTOMATIC; // Date of the platform build. optional string date = 1; // UTC timstamp of build data. optional int64 date_utc = 2; optional string description = 3; // A build ID string meant for displaying to the user. optional string display_id = 4; // A string that uniquely identifies the host the build was built on, in // human-readable format. Only makes sense for internal engineering // builds. optional string host = 5; // Unique id of this android platform build. An identifier chosen by the // device implementer to refer to a specific release, in human-readable // format. This field can be the same as // android.os.Build.VERSION.INCREMENTAL, but SHOULD be a value // sufficiently meaningful for end users to distinguish between software // builds. optional string id = 6; // Product name. optional string product = 7; optional bool system_root_image = 8; // Tags of the buid, e.g. dev-keys, release-keys. optional string tags = 9; // Type of the build, e.g. eng, userdebug, user. optional string type = 10; // Name of the user (an engineer or a build bot) that built the image. For // production builds, this is from the build bot but some OEMs might use a // real username. Only makes sense for internal engineering builds. optional string user = 11; message Version { option (android.msg_privacy).dest = DEST_AUTOMATIC; // The base OS build the product is based on. A value representing the // FINGERPRINT parameter of the build that is otherwise identical to // this build except for the patches provided in the Android Public // Security Bulletin. optional string base_os = 1; optional string codename = 2; // A value chosen by the device implementer designating the specific // build of the currently-executing Android system, in human-readable // format. This value MUST NOT be reused for different builds made // available to end users. A typical use of this field is to indicate // which build number or source-control change identifier was used to // generate the build. optional string incremental = 3; optional int32 preview_sdk = 4; // The version of the currently-executing Android system, in // human-readable format. optional string release = 5; // The version of the currently-executing Android system, in a format // accessible to third-party application code. optional int32 sdk = 6; // A value indicating the security patch level of a build. optional string security_patch = 7; // Next Tag: 8 } optional Version version = 12; // Next Tag: 13 } optional Build build = 11; optional bool camera_notify_nfc = 12 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Carrier name on the phone. optional string carrier = 13; // Is dataroaming enabled. optional bool com_android_dataroaming = 14 [ (android.privacy).dest = DEST_AUTOMATIC ]; // does it provide mobiledata. optional bool com_android_prov_mobiledata = 15 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional string com_google_clientidbase = 16; message Config { optional string alarm_alert = 1; optional int32 media_vol_steps = 2; optional string notification_sound = 3; optional string ringtone = 4; optional int32 vc_call_vol_steps = 5; // Next Tag: 6 } optional Config config = 17; optional string control_privapp_permissions = 18; optional int32 cp_system_other_odex = 19; optional string crypto_scrypt_params = 20; optional string crypto_state = 21; optional string crypto_type = 22; optional string dalvik_vm_native_bridge = 23; // Is this build debuggable. optional bool debuggable = 24; optional string frp_pst = 25; optional string gfx_driver_0 = 26; message Hardware { option (android.msg_privacy).dest = DEST_LOCAL; // value of ro.hardware itself optional string value = 1; optional string activity_recognition = 2; optional string audio = 3; optional string audio_policy = 4; optional string audio_a2dp = 5; optional string audio_primary = 6; optional string audio_usb = 7; optional string bootctrl = 8; optional string camera = 9; optional string consumerir = 10; optional string context_hub = 11; optional string egl = 12; optional string fingerprint = 13; optional string flp = 14; optional string gatekeeper = 15; optional string gps = 16; optional string gralloc = 17; optional string hdmi_cec = 18; optional string hwcomposer = 19; optional string input = 20; optional string keystore = 21; optional string lights = 22; optional string local_time = 23; optional string memtrack = 24; optional string nfc = 25; optional string nfc_nci = 26; optional string nfc_tag = 27; optional string nvram = 28; optional string power = 29; optional string radio = 30; optional string sensors = 31; optional string sound_trigger = 32; optional string thermal = 33; optional string tv_input = 34; optional string type = 35; optional string vehicle = 36; optional string vibrator = 37; optional string virtual_device = 38; optional string vulkan = 39; // Next Tag: 40 } optional Hardware hardware = 27; optional int32 kernel_qemu = 28; optional int32 kernel_qemu_gles = 29; optional int32 oem_unlock_supported = 30; optional int32 opengles_version = 31; // The product of the device. message Product { option (android.msg_privacy).dest = DEST_AUTOMATIC; // Name of the product. optional string board = 1; // Brand of the product. optional string brand = 2; optional string cpu_abi = 3; repeated string cpu_abilist = 4; repeated string cpu_abilist32 = 5; repeated string cpu_abilist64 = 6; // Device name. optional string device = 7; // The first api level when the phone is launched. optional int32 first_api_level = 8; // Manufacturer of the product. optional string manufacturer = 9; // Marketing name of the phone. optional string model = 10; // Name of the product. optional string name = 11; // Vendor related information about the product. message Vendor { option (android.msg_privacy).dest = DEST_AUTOMATIC; optional string brand = 1; optional string device = 2; optional string manufacturer = 3; optional string model = 4; optional string name = 5; } optional Vendor vendor = 12; // Next Tag: 13 } optional Product product = 32; optional int32 property_service_version = 33; reserved 34; // Removed retaildemo_video_path. optional string revision = 35; optional int32 sf_lcd_density = 36; optional bool storage_manager_enabled = 37; message Telephony { optional bool call_ring_multiple = 1; // CDMA subscription number. optional int32 default_cdma_sub = 2; optional int32 default_network = 3; } optional Telephony telephony = 38; reserved 39, 40; // Removed url_legal* props message Vendor { optional string build_date = 1; optional int64 build_date_utc = 2; optional string build_fingerprint = 3; } optional Vendor vendor = 41; // Vendor Native Development Kit version. optional string vndk_version = 42; optional int32 vts_coverage = 43; optional string zygote = 44; optional string gfx_driver_whitelist_0 = 45; optional bool egl_blobcache_multifile = 46; optional int32 egl_blobcache_multifile_limit = 47; // Next Tag: 48 } optional Ro ro = 21; optional string sendbug_preferred_domain = 22; optional int32 service_bootanim_exit = 23; message Sys { optional int32 boot_completed = 1; optional int32 boot_from_charger_mode = 2; optional int32 retaildemo_enabled = 3; optional string shutdown_requested = 4; message Usb { optional string config = 1; optional int32 configfs = 2; optional string controller = 3; optional int32 ffs_max_read = 4; optional int32 ffs_max_write = 5; optional int32 ffs_mtp_ready = 6; optional int32 ffs_ready = 7; optional int32 mtp_device_type = 8; optional string state = 9; // Next Tag: 10 } optional Usb usb = 5; // Next Tag: 6 } optional Sys sys = 24; optional int32 telephony_lte_on_cdma_device = 25; optional int32 tombstoned_max_tombstone_count = 26; optional string vold_decrypt = 27; optional int32 vold_post_fs_data_done = 28; optional int32 vts_native_server_on = 29; optional string wifi_direct_interface = 30; optional string wifi_interface = 31; // Next Tag: 32 }