Define a new BACKPORTED vehicle property group.
This vehicle property group is used for reserving some property IDs
that vendor can optionally implement as a custom property in older
Android released so that we can backport VHAL property features.
Test: m android.hardware.automotive.vehicle.property-update-api
Bug: 300700901
Change-Id: Ic1f4865466acfcabbecf8a70f3cbcfb6440c9fe6
diff --git a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
index 714d514..b4f6850 100644
--- a/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
+++ b/automotive/vehicle/aidl_property/aidl_api/android.hardware.automotive.vehicle.property/current/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
@@ -36,5 +36,6 @@
enum VehiclePropertyGroup {
SYSTEM = 0x10000000,
VENDOR = 0x20000000,
+ BACKPORTED = 0x30000000,
MASK = 0xf0000000,
}
diff --git a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
index a2cbdec..a417388 100644
--- a/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
+++ b/automotive/vehicle/aidl_property/android/hardware/automotive/vehicle/VehiclePropertyGroup.aidl
@@ -29,5 +29,34 @@
*/
VENDOR = 0x20000000,
+ /**
+ * Group reserved for backporting system properties introduced in a newer Android
+ * release to an older Android release.
+ *
+ * It is recommended to map the system property ID to a backported property ID by replacing the
+ * VehiclePropertyGroup, e.g. backported PERF_VEHICLE_SPEED(0x11600207) would be 0x31600207.
+ *
+ * When updated to a newer Android release where the property is defined as system properties,
+ * the backported properties must be migrated to system properties.
+ *
+ * In Android system, the backported property is treated the same as a vendor defined property
+ * with the same vendor permission model, a.k.a. Default required permission is
+ * `android.car.Car.PERMISSION_VENDOR_EXTENSION`, or customized by
+ * `SUPPORT_CUSTOMIZE_VENDOR_PERMISSION` VHAL property.
+ *
+ * Only applications with vendor permissions may access these backported properties.
+ *
+ * Vendors must also make sure this property's behavior is consistent with what is expected for
+ * the backported system property, e.g. the access mode, the change mode and the config array
+ * must be correct.
+ *
+ * When vendors define custom properties, they must use {@code VENDOR} flag, instead of
+ * {@code BACKPORTED}
+ */
+ BACKPORTED = 0x30000000,
+
+ /**
+ * The bit mask for {@code VehiclePropertyGroup}. This is not a group by itself.
+ */
MASK = 0xf0000000,
}