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/libs/incident/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_nonencrypted = 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_WifiHAL = 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_monitorRotation = 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            optional string hardware = 8;
253            optional string hardware_color = 9;
254            optional string hardware_revision = 10;
255            optional string hardware_sku = 11;
256            optional string keymaster = 12;
257            optional string mode = 13;
258            optional string revision = 14;
259            optional string slot_suffix = 15;
260            optional string vbmeta_avb_version = 16;
261            optional string vendor_overlay_theme = 17;
262            optional string verifiedbootstate = 18;
263            optional string veritymode = 19;
264            optional string wificountrycode = 20;
265
266            // Next Tag: 21
267        }
268        optional Boot boot = 7;
269
270        // boot.img's properties.
271        message BootImage {
272            option (android.msg_privacy).dest = DEST_AUTOMATIC;
273
274            // When the boot.img is built.
275            optional string build_date = 1;
276            // UTC timestamp of build date.
277            optional int64 build_date_utc = 2;
278            // Android Build fingerprint of the build, e.g.
279            // google/marlin/marlin:P/MASTER/android-build/dev-keys
280            optional string build_fingerprint = 3;
281
282            // Next Tag: 4
283        }
284        optional BootImage bootimage = 8;
285
286        // Version of bootloader on device.
287        optional string bootloader = 9  [ (android.privacy).dest = DEST_AUTOMATIC ];
288        // Kernel bootmode, e.g. charger.
289        optional string bootmode = 10  [ (android.privacy).dest = DEST_AUTOMATIC ];
290
291        // Android Platform build metadata.
292        message Build {
293            option (android.msg_privacy).dest = DEST_AUTOMATIC;
294
295            optional string date = 1;
296            optional int64  date_utc = 2;
297            optional string description = 3;
298            optional string display_id = 4;
299            optional string host = 5;
300            optional string id = 6;
301            optional string product = 7;
302            optional bool   system_root_image = 8;
303            optional string tags = 9;
304            optional string type = 10;
305            optional string user = 11;
306
307            message Version {
308                option (android.msg_privacy).dest = DEST_AUTOMATIC;
309
310                optional string base_os = 1;
311                optional string codename = 2;
312                optional string incremental = 3;
313                optional int32  preview_sdk = 4;
314                optional string release = 5;
315                optional int32  sdk = 6;
316                optional string security_patch = 7;
317
318                // Next Tag: 8
319            }
320            optional Version version = 12;
321
322            // Next Tag: 13
323        }
324        optional Build build = 11;
325
326        optional bool   camera_notify_nfc = 12  [ (android.privacy).dest = DEST_AUTOMATIC ];
327        optional string carrier = 13;
328        optional bool   com_android_dataroaming = 14  [ (android.privacy).dest = DEST_AUTOMATIC ];
329        optional bool   com_android_prov_mobiledata = 15  [ (android.privacy).dest = DEST_AUTOMATIC ];
330        optional string com_google_clientidbase = 16;
331
332        message Config {
333            optional string alarm_alert = 1;
334            optional int32  media_vol_steps = 2;
335            optional string notification_sound = 3;
336            optional string ringtone = 4;
337            optional int32  vc_call_vol_steps = 5;
338
339            // Next Tag: 6
340        }
341        optional Config config = 17;
342
343        optional string control_privapp_permissions = 18;
344        optional int32  cp_system_other_odex = 19;
345        optional string crypto_scrypt_params = 20;
346        optional string crypto_state = 21;
347        optional string crypto_type = 22;
348        optional string dalvik_vm_native_bridge = 23;
349        optional bool   debuggable = 24;
350        optional string frp_pst = 25;
351        optional string gfx_driver_0 = 26;
352
353        message Hardware {
354            option (android.msg_privacy).dest = DEST_LOCAL;
355
356            optional string value = 1; // value of ro.hardware itself
357
358            optional string activity_recognition = 2;
359            optional string audio = 3;
360            optional string audio_policy = 4;
361            optional string audio_a2dp = 5;
362            optional string audio_primary = 6;
363            optional string audio_usb = 7;
364            optional string bootctrl = 8;
365            optional string camera = 9;
366            optional string consumerir = 10;
367            optional string context_hub = 11;
368            optional string egl = 12;
369            optional string fingerprint = 13;
370            optional string flp = 14;
371            optional string gatekeeper = 15;
372            optional string gps = 16;
373            optional string gralloc = 17;
374            optional string hdmi_cec = 18;
375            optional string hwcomposer = 19;
376            optional string input = 20;
377            optional string keystore = 21;
378            optional string lights = 22;
379            optional string local_time = 23;
380            optional string memtrack = 24;
381            optional string nfc = 25;
382            optional string nfc_nci = 26;
383            optional string nfc_tag = 27;
384            optional string nvram = 28;
385            optional string power = 29;
386            optional string radio = 30;
387            optional string sensors = 31;
388            optional string sound_trigger = 32;
389            optional string thermal = 33;
390            optional string tv_input = 34;
391            optional string type = 35;
392            optional string vehicle = 36;
393            optional string vibrator = 37;
394            optional string virtual_device = 38;
395            optional string vulkan = 39;
396
397            // Next Tag: 40
398        }
399        optional Hardware hardware = 27;
400
401        optional int32  kernel_qemu = 28;
402        optional int32  kernel_qemu_gles = 29;
403        optional int32  oem_unlock_supported = 30;
404        optional int32  opengles_version = 31;
405
406        message Product {
407            option (android.msg_privacy).dest = DEST_AUTOMATIC;
408
409            optional string board = 1;
410            optional string brand = 2;
411            optional string cpu_abi = 3;
412            repeated string cpu_abilist = 4;
413            repeated string cpu_abilist32 = 5;
414            repeated string cpu_abilist64 = 6;
415            optional string device = 7;
416            optional int32  first_api_level = 8;
417            optional string manufacturer = 9;
418            optional string model = 10;
419            optional string name = 11;
420
421            message Vendor {
422                option (android.msg_privacy).dest = DEST_AUTOMATIC;
423
424                optional string brand = 1;
425                optional string device = 2;
426                optional string manufacturer = 3;
427                optional string model = 4;
428                optional string name = 5;
429            }
430            optional Vendor vendor = 12;
431
432            // Next Tag: 13
433        }
434        optional Product product = 32;
435
436        optional int32  property_service_version = 33;
437        optional string retaildemo_video_path = 34;
438        optional string revision = 35;
439        optional int32  sf_lcd_density = 36;
440        optional bool   storage_manager_enabled = 37;
441
442        message Telephony {
443            optional bool  call_ring_multiple = 1;
444            optional int32 default_cdma_sub = 2;
445            optional int32 default_network = 3;
446        }
447        optional Telephony telephony = 38;
448
449        optional string url_legal = 39;
450        optional string url_legal_android_privacy = 40;
451
452        message Vendor {
453            optional string build_date = 1;
454            optional int64  build_date_utc = 2;
455            optional string build_fingerprint = 3;
456        }
457        optional Vendor vendor = 41;
458
459        optional string vndk_version = 42;
460        optional int32  vts_coverage = 43;
461        optional string zygote = 44;
462
463        // Next Tag: 45
464    }
465    optional Ro ro = 21;
466
467    optional string sendbug_preferred_domain = 22;
468    optional int32  service_bootanim_exit = 23;
469
470    message Sys {
471        optional int32  boot_completed = 1;
472        optional int32  boot_from_charger_mode = 2;
473        optional int32  retaildemo_enabled = 3;
474        optional string shutdown_requested = 4;
475
476        message Usb {
477            optional string config = 1;
478            optional int32  configfs = 2;
479            optional string controller = 3;
480            optional int32  ffs_max_read = 4;
481            optional int32  ffs_max_write = 5;
482            optional int32  ffs_mtp_ready = 6;
483            optional int32  ffs_ready = 7;
484            optional int32  mtp_device_type = 8;
485            optional string state = 9;
486
487            // Next Tag: 10
488        }
489        optional Usb usb = 5;
490
491        // Next Tag: 6
492    }
493    optional Sys sys = 24;
494
495    optional int32  telephony_lteOnCdmaDevice = 25;
496    optional int32  tombstoned_max_tombstone_count = 26;
497    optional string vold_decrypt = 27;
498    optional int32  vold_post_fs_data_done = 28;
499    optional int32  vts_native_server_on = 29;
500    optional string wifi_direct_interface = 30;
501    optional string wifi_interface = 31;
502
503    // Next Tag: 32
504}
505
506