SUPPORT_CUSTOMIZE_VENDOR_PERMISSION
What it is
Support customize permissions for vendor properties
Implement this property if vehicle hal support customize vendor permissions feature. VehiclePropConfig.configArray is used to indicate vendor properties and permissions which selected for this vendor property. The permission must be one of enum in VehicleVendorPermission. The configArray is set as follows: configArray[n] = propId : property ID for the vendor property configArray[n+1] = one of enums in VehicleVendorPermission. It indicates the permission for reading value of the property. configArray[n+2] = one of enums in VehicleVendorPermission. It indicates the permission for writing value of the property.
For example: configArray = { vendor_prop_1, PERMISSION_VENDOR_SEAT_READ, PERMISSION_VENDOR_SEAT_WRITE, vendor_prop_2, PERMISSION_VENDOR_INFO, PERMISSION_NOT_ACCESSIBLE, } If vendor properties are not in this array, they will have the default vendor permission. If vendor chose PERMISSION_NOT_ACCESSIBLE, android will not have access to the property. In the example, Android can not write value for vendor_prop_2.
How the ID is built
A property ID is a 32-bit value packing four fields. Reading 0x11200f05 apart:
| Field | Mask | Value | Means |
|---|---|---|---|
| Group | 0xf0000000 | 0x10000000 | SYSTEM |
| Area | 0x0f000000 | 0x01000000 | GLOBAL |
| Type | 0x00ff0000 | 0x00200000 | BOOLEAN |
| Ordinal | 0x0000ffff | 0x00000f05 | 0xf05 |
Reading it from an app
This property is defined in the HAL but is not exposed as a constant in android.car.VehiclePropertyIds, so it is not reachable through CarPropertyManager from an ordinary app. It is used by the platform, or by vendor code running with system privileges.

