Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 47f2e587 authored by Yu Shan's avatar Yu Shan
Browse files

Define SUPPORTED_PROPERTY_IDS.

This property is only used for HIDL interface to workaround
getAllPropConfigs result is too large and exceeds binder limitation.

We cannot change HIDL interface so we add this property to AIDL
interface and mark it as deprecated.

Test: m android.hardware.automotive.vehicle-update-api
python tools/generate_annotation_enums.py
Bug: 243449202

Change-Id: Id6058b207a3b117013c2caf4cfd1744950222c41
parent c7763e42
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -207,4 +207,5 @@ enum VehicleProperty {
  TRAILER_PRESENT = 289410885,
  VEHICLE_CURB_WEIGHT = 289410886,
  GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT = 289410887,
  SUPPORTED_PROPERTY_IDS = 289476424,
}
+24 −0
Original line number Diff line number Diff line
@@ -2853,4 +2853,28 @@ enum VehicleProperty {
    GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT = 0x0F47 + 0x10000000 + 0x01000000
            + 0x00400000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32

    /**
     * (Deprecated) List of all supported property IDs.
     *
     * A list of all supported property IDs (including this property). This property is required for
     * HIDL VHAL to work with large amount of vehicle prop configs where the getAllPropConfigs
     * payload exceeds the binder limitation. This issue is fixed in AIDL version using
     * LargeParcelable in getAllPropConfigs, so this property is deprecated.
     *
     * In HIDL VHAL implementation, if the amount of data returned in getAllPropConfigs exceeds the
     * binder limitation, vendor must support this property and return all the supported property
     * IDs. Car service will divide this list into smaller sub lists and use getPropConfigs([ids])
     * to query the sub lists. The results will be merged together in Car Service.
     *
     * The config array for this property must contain one int element which is the number of
     * configs per getPropConfigs request by Car Service. This number must be small enough so that
     * each getPropConfigs payload will not exceed binder limitation, however, a smaller number will
     * cause more requests, which increase overhead to fetch all the configs.
     *
     * @change_mode VehiclePropertyChangeMode.STATIC
     * @access VehiclePropertyAccess.READ
     */
    SUPPORTED_PROPERTY_IDS = 0x0F48 + 0x10000000 + 0x01000000
            + 0x00410000, // VehiclePropertyGroup:SYSTEM,VehicleArea:GLOBAL,VehiclePropertyType:INT32_VEC

}
+1 −0
Original line number Diff line number Diff line
@@ -207,6 +207,7 @@ std::unordered_map<VehicleProperty, VehiclePropertyAccess> AccessForVehiclePrope
        {VehicleProperty::TRAILER_PRESENT, VehiclePropertyAccess::READ},
        {VehicleProperty::VEHICLE_CURB_WEIGHT, VehiclePropertyAccess::READ},
        {VehicleProperty::GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyAccess::READ},
        {VehicleProperty::SUPPORTED_PROPERTY_IDS, VehiclePropertyAccess::READ},
};

}  // namespace vehicle
+1 −0
Original line number Diff line number Diff line
@@ -207,6 +207,7 @@ std::unordered_map<VehicleProperty, VehiclePropertyChangeMode> ChangeModeForVehi
        {VehicleProperty::TRAILER_PRESENT, VehiclePropertyChangeMode::ON_CHANGE},
        {VehicleProperty::VEHICLE_CURB_WEIGHT, VehiclePropertyChangeMode::STATIC},
        {VehicleProperty::GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyChangeMode::STATIC},
        {VehicleProperty::SUPPORTED_PROPERTY_IDS, VehiclePropertyChangeMode::STATIC},
};

}  // namespace vehicle
+2 −1
Original line number Diff line number Diff line
@@ -198,7 +198,8 @@ public final class AccessForVehicleProperty {
        Map.entry(VehicleProperty.EV_REGENERATIVE_BRAKING_STATE, VehiclePropertyAccess.READ),
        Map.entry(VehicleProperty.TRAILER_PRESENT, VehiclePropertyAccess.READ),
        Map.entry(VehicleProperty.VEHICLE_CURB_WEIGHT, VehiclePropertyAccess.READ),
        Map.entry(VehicleProperty.GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyAccess.READ)
        Map.entry(VehicleProperty.GENERAL_SAFETY_REGULATION_COMPLIANCE_REQUIREMENT, VehiclePropertyAccess.READ),
        Map.entry(VehicleProperty.SUPPORTED_PROPERTY_IDS, VehiclePropertyAccess.READ)
    );

}
Loading