• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17syntax = "proto2";
18
19option java_multiple_files = true;
20
21import "frameworks/base/core/proto/android/privacy.proto";
22
23package android.os;
24
25// Android Platform Exported System Properties
26// TODO: This is not the completed list, new properties need to be whitelisted.
27message SystemPropertiesProto {
28
29    // Properties that are not specified below would be appended here.
30    // These values stay on device only.
31    message Property {
32        option (android.msg_privacy).dest = DEST_LOCAL;
33
34        optional string name = 1;
35        optional string value = 2;
36    }
37    repeated Property extra_properties = 1;
38
39    message AacDrc {
40        optional int32  boost = 1;
41        optional int32  cut = 2;
42        optional int32  enc_target_level = 3;
43        optional int32  heavy = 4;
44        optional int32  reference_level = 5;
45    }
46    optional AacDrc aac_drc = 2;
47
48    message Aaudio {
49        optional int32  hw_burst_min_usec = 1;
50        optional int32  minimum_sleep_usec = 2;
51        optional int32  mixer_bursts = 3;
52        optional int32  mmap_exclusive_policy = 4;
53        optional int32  mmap_policy = 5;
54        optional int32  wakeup_delay_usec = 6;
55
56        // Next Tag: 7
57    }
58    optional Aaudio aaudio = 3;
59
60    optional int32  af_fast_track_multiplier = 4;
61
62    message Camera {
63        optional bool   disable_zsl_mode = 1;
64        optional int32  fifo_disable = 2;
65
66        // Next Tag: 3
67    }
68    optional Camera camera = 5;
69
70    message DalvikVm {
71        optional string appimageformat = 1;
72        optional string backgroundgctype = 2;
73        optional bool   checkjni = 3;
74        optional string dex2oat_filter = 4;
75        optional string dex2oat_flags = 5;
76        optional int32  dex2oat_threads = 6;
77        optional string dex2oat_Xms = 7;
78        optional string dex2oat_Xmx = 8;
79        optional bool   dexopt_secondary = 9;
80        optional string execution_mode = 10;
81        optional string extra_opts = 11;
82        optional string gctype = 12;
83        optional string heapgrowthlimit = 13;
84        optional string heapmaxfree = 14;
85        optional string heapminfree = 15;
86        optional string heapsize = 16;
87        optional string heapstartsize = 17;
88        optional double heaptargetutilization = 18;
89        optional int32  hot_startup_method_samples = 19;
90        optional string image_dex2oat_filter = 20;
91        optional string image_dex2oat_flags = 21;
92        optional int32  image_dex2oat_threads = 22;
93        optional string image_dex2oat_Xms = 23;
94        optional string image_dex2oat_Xmx = 24;
95        optional string isa_arm_features = 25;
96        optional string isa_arm_variant = 26;
97        optional string isa_arm64_features = 27;
98        optional string isa_arm64_variant = 28;
99        optional string isa_mips_features = 29;
100        optional string isa_mips_variant = 30;
101        optional string isa_mips64_features = 31;
102        optional string isa_mips64_variant = 32;
103        optional string isa_unknown_features = 33;
104        optional string isa_unknown_variant = 34;
105        optional string isa_x86_64_features = 35;
106        optional string isa_x86_64_variant = 36;
107        optional string isa_x86_features = 37;
108        optional string isa_x86_variant = 38;
109        optional string jitinitialsize = 39;
110        optional string jitmaxsize = 40;
111        optional int32  jitprithreadweight = 41;
112        optional int32  jitthreshold = 42;
113        optional int32  jittransitionweight = 43;
114        optional string jniopts = 44;
115        optional int32  lockprof_threshold = 45;
116        optional bool   method_trace = 46;
117        optional string method_trace_file = 47;
118        optional int32  method_trace_file_siz = 48;
119        optional bool   method_trace_stream = 49;
120        optional bool   profilesystemserver = 50;
121        optional string stack_trace_dir = 51;
122        optional bool   usejit = 52;
123        optional bool   usejitprofiles = 53;
124        optional int32  zygote_max_boot_retry = 54;
125
126        // Next Tag: 55
127    }
128    optional DalvikVm dalvik_vm = 6;
129
130    optional bool   drm_64bit_enabled = 7;
131    optional bool   drm_service_enabled = 8;
132    optional bool   dumpstate_dry_run = 9;
133    optional string gsm_sim_operator_numeric = 10;
134    optional bool   hal_instrumentation_enable = 11;
135
136    message InitSvc {
137        option (android.msg_privacy).dest = DEST_AUTOMATIC;
138
139        enum Status {
140            STATUS_UNKNOWN = 0;
141            STATUS_RUNNING = 1;
142            STATUS_STOPPED = 2;
143        }
144        optional Status adbd = 1;
145        optional Status audioserver = 2;
146        optional Status bootanim = 3;
147        optional Status bufferhubd = 4;
148        optional Status cameraserver = 5;
149        optional Status clear_bcb = 6;
150        optional Status drm = 7;
151        optional Status gatekeeperd = 8;
152        optional Status healthd = 9;
153        optional Status hidl_memory = 10;
154        optional Status hostapd = 11;
155        optional Status hwservicemanager = 12;
156        optional Status installd = 13;
157        optional Status keystore = 14;
158        optional Status lmkd = 15;
159        optional Status logd = 16;
160        optional Status logd_reinit = 17;
161        optional Status media = 18;
162        optional Status mediadrm = 19;
163        optional Status mediaextractor = 20;
164        optional Status mediametrics = 21;
165        optional Status netd = 22;
166        optional Status performanced = 23;
167        optional Status ril_daemon = 24;
168        optional Status servicemanager = 25;
169        optional Status storaged = 26;
170        optional Status surfaceflinger = 27;
171        optional Status thermalservice = 28;
172        optional Status tombstoned = 29;
173        optional Status ueventd = 30;
174        optional Status update_engine = 31;
175        optional Status update_verifier = 32;
176        optional Status virtual_touchpad = 33;
177        optional Status vndservicemanager = 34;
178        optional Status vold = 35;
179        optional Status vr_hwc = 36;
180        optional Status webview_zygote32 = 37;
181        optional Status wificond = 38;
182        optional Status wpa_supplicant = 39;
183        optional Status zygote = 40;
184        optional Status zygote_secondary = 41;
185
186        // Next Tag: 42
187    }
188    optional InitSvc init_svc = 12;
189
190    optional bool   keyguard_no_require_sim = 13;
191    optional string libc_debug_malloc_options = 14;
192    optional string libc_debug_malloc_program = 15;
193
194    message Log {
195        option (android.msg_privacy).dest = DEST_AUTOMATIC;
196
197        optional string tag_wifi_hal = 1;
198        optional string tag_stats_log = 2;
199
200        // Next Tag: 3
201    }
202    optional Log log = 16;
203
204    optional bool   media_mediadrmservice_enable = 17;
205    optional bool   media_recorder_show_manufacturer_and_model = 18;
206
207    message Persist {
208        optional string config_calibration_fac = 1;
209        optional int32  dbg_volte_avail_ovr = 2;
210        optional int32  dbg_vt_avail_ovr = 3;
211        optional int32  dbg_wfc_avail_ovr = 4;
212        optional int32  radio_airplane_mode_on = 5;
213        optional string radio_multisim_config = 6;
214        optional int32  rcs_supported = 7;
215        optional bool   sys_crash_rcu = 8;
216        optional string sys_dalvik_vm_lib_2 = 9;
217        optional float  sys_sf_color_saturation = 10;
218        optional string sys_timezone = 11;
219
220        // Next Tag: 12
221    }
222    optional Persist persist = 19;
223
224    message PmDexopt {
225        optional string ab_ota = 1;
226        optional string bg_dexopt = 2;
227        optional string boot = 3;
228        optional string first_boot = 4;
229        optional string install = 5;
230
231        // Next Tag: 6
232    }
233    optional PmDexopt pm_dexopt = 20;
234
235    // Read only properites on the device.
236    message Ro {
237        optional bool  adb_secure = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
238        optional string arch = 2;
239        optional bool   audio_ignore_effects = 3;
240        optional bool   audio_monitor_rotation = 4;
241        optional string baseband = 5;
242        optional string board_platform = 6;
243
244        message Boot {
245            optional string avb_version = 1;
246            optional string baseband = 2;
247            optional string bootdevice = 3;
248            optional string bootloader = 4;
249            repeated string boottime = 5;
250            optional string console = 6;
251            optional int32  fake_battery = 7;
252            // The name of the hardware (from the kernel command line or /proc). It
253            // SHOULD be reasonably human-readable.
254            optional string hardware = 8;
255            optional string hardware_color = 9;
256            optional string hardware_revision = 10;
257            // SKU is for small variants such as device color, targeted market,
258            // ram/rom size, etc.
259            optional string hardware_sku = 11;
260            optional string keymaster = 12;
261            optional string mode = 13;
262            optional string revision = 14;
263            optional string slot_suffix = 15;
264            optional string vbmeta_avb_version = 16;
265            optional string vendor_overlay_theme = 17;
266            optional string verifiedbootstate = 18;
267            optional string veritymode = 19;
268            optional string wificountrycode = 20;
269
270            // Next Tag: 21
271        }
272        optional Boot boot = 7;
273
274        // boot.img's properties.
275        message BootImage {
276            option (android.msg_privacy).dest = DEST_AUTOMATIC;
277
278            // When the boot.img is built.
279            optional string build_date = 1;
280            // UTC timestamp of build date.
281            optional int64 build_date_utc = 2;
282            // Android Build fingerprint of the build, e.g.
283            // google/marlin/marlin:P/MASTER/android-build/dev-keys
284            optional string build_fingerprint = 3;
285
286            // Next Tag: 4
287        }
288        optional BootImage bootimage = 8;
289
290        // Version of bootloader on device.
291        optional string bootloader = 9  [ (android.privacy).dest = DEST_AUTOMATIC ];
292        // Kernel bootmode, e.g. charger.
293        optional string bootmode = 10  [ (android.privacy).dest = DEST_AUTOMATIC ];
294
295        // Android Platform build metadata.
296        message Build {
297            option (android.msg_privacy).dest = DEST_AUTOMATIC;
298
299            // Date of the platform build.
300            optional string date = 1;
301            // UTC timstamp of build data.
302            optional int64  date_utc = 2;
303            optional string description = 3;
304            // A build ID string meant for displaying to the user.
305            optional string display_id = 4;
306            // A string that uniquely identifies the host the build was built on, in
307            // human-readable format. Only makes sense for internal engineering
308            // builds.
309            optional string host = 5;
310            // Unique id of this android platform build. An identifier chosen by the
311            // device implementer to refer to a specific release, in human-readable
312            // format. This field can be the same as
313            // android.os.Build.VERSION.INCREMENTAL, but SHOULD be a value
314            // sufficiently meaningful for end users to distinguish between software
315            // builds.
316            optional string id = 6;
317            // Product name.
318            optional string product = 7;
319            optional bool   system_root_image = 8;
320            // Tags of the buid, e.g. dev-keys, release-keys.
321            optional string tags = 9;
322            // Type of the build, e.g. eng, userdebug, user.
323            optional string type = 10;
324            // Name of the user (an engineer or a build bot) that built the image. For
325            // production builds, this is from the build bot but some OEMs might use a
326            // real username. Only makes sense for internal engineering builds.
327            optional string user = 11;
328
329            message Version {
330                option (android.msg_privacy).dest = DEST_AUTOMATIC;
331
332                // The base OS build the product is based on. A value representing the
333                // FINGERPRINT parameter of the build that is otherwise identical to
334                // this build except for the patches provided in the Android Public
335                // Security Bulletin.
336                optional string base_os = 1;
337                optional string codename = 2;
338                // A value chosen by the device implementer designating the specific
339                // build of the currently-executing Android system, in human-readable
340                // format. This value MUST NOT be reused for different builds made
341                // available to end users. A typical use of this field is to indicate
342                // which build number or source-control change identifier was used to
343                // generate the build.
344                optional string incremental = 3;
345                optional int32  preview_sdk = 4;
346                // The version of the currently-executing Android system, in
347                // human-readable format.
348                optional string release = 5;
349                // The version of the currently-executing Android system, in a format
350                // accessible to third-party application code.
351                optional int32  sdk = 6;
352                // A value indicating the security patch level of a build.
353                optional string security_patch = 7;
354
355                // Next Tag: 8
356            }
357            optional Version version = 12;
358
359            // Next Tag: 13
360        }
361        optional Build build = 11;
362
363        optional bool   camera_notify_nfc = 12  [ (android.privacy).dest = DEST_AUTOMATIC ];
364        // Carrier name on the phone.
365        optional string carrier = 13;
366        // Is dataroaming enabled.
367        optional bool   com_android_dataroaming = 14  [ (android.privacy).dest = DEST_AUTOMATIC ];
368        // does it provide mobiledata.
369        optional bool   com_android_prov_mobiledata = 15  [ (android.privacy).dest = DEST_AUTOMATIC ];
370        optional string com_google_clientidbase = 16;
371
372        message Config {
373            optional string alarm_alert = 1;
374            optional int32  media_vol_steps = 2;
375            optional string notification_sound = 3;
376            optional string ringtone = 4;
377            optional int32  vc_call_vol_steps = 5;
378
379            // Next Tag: 6
380        }
381        optional Config config = 17;
382
383        optional string control_privapp_permissions = 18;
384        optional int32  cp_system_other_odex = 19;
385        optional string crypto_scrypt_params = 20;
386        optional string crypto_state = 21;
387        optional string crypto_type = 22;
388        optional string dalvik_vm_native_bridge = 23;
389        // Is this build debuggable.
390        optional bool   debuggable = 24;
391        optional string frp_pst = 25;
392        optional string gfx_driver_0 = 26;
393
394        message Hardware {
395            option (android.msg_privacy).dest = DEST_LOCAL;
396
397            // value of ro.hardware itself
398            optional string value = 1;
399            optional string activity_recognition = 2;
400            optional string audio = 3;
401            optional string audio_policy = 4;
402            optional string audio_a2dp = 5;
403            optional string audio_primary = 6;
404            optional string audio_usb = 7;
405            optional string bootctrl = 8;
406            optional string camera = 9;
407            optional string consumerir = 10;
408            optional string context_hub = 11;
409            optional string egl = 12;
410            optional string fingerprint = 13;
411            optional string flp = 14;
412            optional string gatekeeper = 15;
413            optional string gps = 16;
414            optional string gralloc = 17;
415            optional string hdmi_cec = 18;
416            optional string hwcomposer = 19;
417            optional string input = 20;
418            optional string keystore = 21;
419            optional string lights = 22;
420            optional string local_time = 23;
421            optional string memtrack = 24;
422            optional string nfc = 25;
423            optional string nfc_nci = 26;
424            optional string nfc_tag = 27;
425            optional string nvram = 28;
426            optional string power = 29;
427            optional string radio = 30;
428            optional string sensors = 31;
429            optional string sound_trigger = 32;
430            optional string thermal = 33;
431            optional string tv_input = 34;
432            optional string type = 35;
433            optional string vehicle = 36;
434            optional string vibrator = 37;
435            optional string virtual_device = 38;
436            optional string vulkan = 39;
437
438            // Next Tag: 40
439        }
440        optional Hardware hardware = 27;
441
442        optional int32  kernel_qemu = 28;
443        optional int32  kernel_qemu_gles = 29;
444        optional int32  oem_unlock_supported = 30;
445        optional int32  opengles_version = 31;
446
447        // The product of the device.
448        message Product {
449            option (android.msg_privacy).dest = DEST_AUTOMATIC;
450
451            // Name of the product.
452            optional string board = 1;
453            // Brand of the product.
454            optional string brand = 2;
455            optional string cpu_abi = 3;
456            repeated string cpu_abilist = 4;
457            repeated string cpu_abilist32 = 5;
458            repeated string cpu_abilist64 = 6;
459            // Device name.
460            optional string device = 7;
461            // The first api level when the phone is launched.
462            optional int32  first_api_level = 8;
463            // Manufacturer of the product.
464            optional string manufacturer = 9;
465            // Marketing name of the phone.
466            optional string model = 10;
467            // Name of the product.
468            optional string name = 11;
469
470            // Vendor related information about the product.
471            message Vendor {
472                option (android.msg_privacy).dest = DEST_AUTOMATIC;
473
474                optional string brand = 1;
475                optional string device = 2;
476                optional string manufacturer = 3;
477                optional string model = 4;
478                optional string name = 5;
479            }
480            optional Vendor vendor = 12;
481
482            // Next Tag: 13
483        }
484        optional Product product = 32;
485
486        optional int32  property_service_version = 33;
487        reserved 34; // Removed retaildemo_video_path.
488        optional string revision = 35;
489        optional int32  sf_lcd_density = 36;
490        optional bool   storage_manager_enabled = 37;
491
492        message Telephony {
493            optional bool  call_ring_multiple = 1;
494            // CDMA subscription number.
495            optional int32 default_cdma_sub = 2;
496            optional int32 default_network = 3;
497        }
498        optional Telephony telephony = 38;
499
500        reserved 39, 40; // Removed url_legal* props
501
502        message Vendor {
503            optional string build_date = 1;
504            optional int64  build_date_utc = 2;
505            optional string build_fingerprint = 3;
506        }
507        optional Vendor vendor = 41;
508
509        // Vendor Native Development Kit version.
510        optional string vndk_version = 42;
511        optional int32  vts_coverage = 43;
512        optional string zygote = 44;
513
514        optional string gfx_driver_whitelist_0 = 45;
515
516        optional bool  egl_blobcache_multifile = 46;
517        optional int32 egl_blobcache_multifile_limit = 47;
518
519        // Next Tag: 48
520    }
521    optional Ro ro = 21;
522
523    optional string sendbug_preferred_domain = 22;
524    optional int32  service_bootanim_exit = 23;
525
526    message Sys {
527        optional int32  boot_completed = 1;
528        optional int32  boot_from_charger_mode = 2;
529        optional int32  retaildemo_enabled = 3;
530        optional string shutdown_requested = 4;
531
532        message Usb {
533            optional string config = 1;
534            optional int32  configfs = 2;
535            optional string controller = 3;
536            optional int32  ffs_max_read = 4;
537            optional int32  ffs_max_write = 5;
538            optional int32  ffs_mtp_ready = 6;
539            optional int32  ffs_ready = 7;
540            optional int32  mtp_device_type = 8;
541            optional string state = 9;
542
543            // Next Tag: 10
544        }
545        optional Usb usb = 5;
546
547        // Next Tag: 6
548    }
549    optional Sys sys = 24;
550
551    optional int32  telephony_lte_on_cdma_device = 25;
552    optional int32  tombstoned_max_tombstone_count = 26;
553    optional string vold_decrypt = 27;
554    optional int32  vold_post_fs_data_done = 28;
555    optional int32  vts_native_server_on = 29;
556    optional string wifi_direct_interface = 30;
557    optional string wifi_interface = 31;
558
559    // Next Tag: 32
560}
561
562