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

Commit e50882a0 authored by Yu Shan's avatar Yu Shan
Browse files

Update VehicleAreaConfig documentation.

Flag: EXEMPT HAL
Test: Presubmit
Bug: 382563296
Change-Id: I47df27fca04a42673b27d1f2d58209449837395e
parent 7a71cc47
Loading
Loading
Loading
Loading
+101 −75
Original line number Diff line number Diff line
@@ -29,142 +29,156 @@ parcelable VehicleAreaConfig {
    int areaId;

    /**
     * client should use {@code getMinMaxSupportedValue} instead.
     * The optional minimum int32 value at boot time.
     *
     * Only applicable for {@code INT32} type property. Ignored for other types.
     * Assume unspecified if both {@code minInt32Value} and
     * {@code maxInt32Value} is 0. If either one is not 0, then we assume min
     * and max both take effect. If no minimum or maximum value is available at
     * boot time, both {@code minInt32Value} and {@code maxInt32Value} must be
     * set to 0.
     *
     * The optional minimum value at boot time.
     * Note that this property only represents the minimum value at boot time
     * and may not represent the current actual minimum value.
     *
     * For backward compatibility,
     * if {@code HasSupportedValueInfo.hasMinSupportedValue} is {@code true},
     * and {@code HasSupportedValueInfo.hasMaxSupportedValue} is {@code true},
     * this must be equal to the min supported value
     * ({@code MinMaxSupportedValueResult.minSupportedValue}) at boot time.
     * Only applicable for {@code INT32} type property. Ignored for other types.
     *
     * If no minimum or maximum value is available at boot time, both
     * {@code minInt32Value} and {@code maxInt32Value} must be set to 0.
     * For certain properties, this field must be specified, see
     * {@code VehicleProperty} documentation.
     *
     * If either one is not 0, then we assume min and max both take effect.
     * If {@code HasSupportedValueInfo} is not {@code null} and this field is
     * specified, {@code HasSupportedValueInfo.hasMinSupportedValue} must be
     * {@code true}.
     */
    int minInt32Value;

    /**
     * client should use {@code getMinMaxSupportedValue} instead.
     * The optional maximum int32 value at boot time.
     *
     * Only applicable for {@code INT32} type property. Ignored for other types.
     * Assume unspecified if both {@code minInt32Value} and
     * {@code maxInt32Value} is 0. If either one is not 0, then we assume min
     * and max both take effect. If no minimum or maximum value is available at
     * boot time, both {@code minInt32Value} and {@code maxInt32Value} must be
     * set to 0.
     *
     * The optional maximum value at boot time.
     * Note that this property only represents the minimum value at boot time
     * and may not represent the current actual minimum value.
     *
     * For backward compatibility,
     * if {@code HasSupportedValueInfo.hasMinSupportedValue} is {@code true},
     * and {@code HasSupportedValueInfo.hasMaxSupportedValue} is {@code true},
     * this must be equal to the max supported value
     * ({@code MinMaxSupportedValueResult.maxSupportedValue}) at boot time.
     * Only applicable for {@code INT32} type property. Ignored for other types.
     *
     * If no minimum or maximum value is available at boot time, both
     * {@code minInt32Value} and {@code maxInt32Value} must be set to 0.
     * For certain properties, this field must be specified, see
     * {@code VehicleProperty} documentation.
     *
     * If either one is not 0, then we assume min and max both take effect.
     * If {@code HasSupportedValueInfo} is not {@code null} and this field is
     * specified, {@code HasSupportedValueInfo.hasMaxSupportedValue} must be
     * {@code true}.
     */
    int maxInt32Value;

    /**
     * client should use {@code getMinMaxSupportedValue} instead.
     * The optional minimum int64 value at boot time.
     *
     * Only applicable for {@code INT64} type property. Ignored for other types.
     * Assume unspecified if both {@code minInt64Value} and
     * {@code maxInt64Value} is 0. If either one is not 0, then we assume min
     * and max both take effect. If no minimum or maximum value is available at
     * boot time, both {@code minInt64Value} and {@code maxInt64Value} must be
     * set to 0.
     *
     * The optional minimum value at boot time.
     * Note that this property only represents the minimum value at boot time
     * and may not represent the current actual minimum value.
     *
     * For backward compatibility,
     * if {@code HasSupportedValueInfo.hasMinSupportedValue} is {@code true},
     * and {@code HasSupportedValueInfo.hasMaxSupportedValue} is {@code true},
     * this must be equal to the min supported value
     * ({@code MinMaxSupportedValueResult.minSupportedValue}) at boot time.
     * Only applicable for {@code INT64} type property. Ignored for other types.
     *
     * If no minimum or maximum value is available at boot time, both
     * {@code minInt64Value} and {@code maxInt64Value} must be set to 0.
     * For certain properties, this field must be specified, see
     * {@code VehicleProperty} documentation.
     *
     * If either one is not 0, then we assume min and max both take effect.
     * If {@code HasSupportedValueInfo} is not {@code null} and this field is
     * specified, {@code HasSupportedValueInfo.hasMinSupportedValue} must be
     * {@code true}.
     */
    long minInt64Value;

    /**
     * client should use {@code getMinMaxSupportedValue} instead.
     * The optional maximum int64 value at boot time.
     *
     * Only applicable for {@code INT64} type property. Ignored for other types.
     * Assume unspecified if both {@code minInt64Value} and
     * {@code maxInt64Value} is 0. If either one is not 0, then we assume min
     * and max both take effect. If no minimum or maximum value is available at
     * boot time, both {@code minInt64Value} and {@code maxInt64Value} must be
     * set to 0.
     *
     * The optional maximum value at boot time.
     * Note that this property only represents the minimum value at boot time
     * and may not represent the current actual minimum value.
     *
     * For backward compatibility,
     * if {@code HasSupportedValueInfo.hasMinSupportedValue} is {@code true},
     * and {@code HasSupportedValueInfo.hasMaxSupportedValue} is {@code true},
     * this must be equal to the max supported value
     * ({@code MinMaxSupportedValueResult.maxSupportedValue}) at boot time.
     * Only applicable for {@code INT64} type property. Ignored for other types.
     *
     * If no minimum or maximum value is available at boot time, both
     * {@code minInt64Value} and {@code maxInt64Value} must be set to 0.
     * For certain properties, this field must be specified, see
     * {@code VehicleProperty} documentation.
     *
     * If either one is not 0, then we assume min and max both take effect.
     * If {@code HasSupportedValueInfo} is not {@code null} and this field is
     * specified, {@code HasSupportedValueInfo.hasMaxSupportedValue} must be
     * {@code true}.
     */
    long maxInt64Value;

    /**
     * client should use {@code getMinMaxSupportedValue} instead.
     * The optional minimum float value at boot time.
     *
     * Only applicable for {@code FLOAT} type property. Ignored for other types.
     * Assume unspecified if both {@code minFloatValue} and
     * {@code maxFloatValue} is 0. If either one is not 0, then we assume min
     * and max both take effect. If no minimum or maximum value is available at
     * boot time, both {@code minFloatValue} and {@code maxFloatValue} must be
     * set to 0.
     *
     * The optional minimum value at boot time.
     * Note that this property only represents the minimum value at boot time
     * and may not represent the current actual minimum value.
     *
     * For backward compatibility,
     * if {@code HasSupportedValueInfo.hasMinSupportedValue} is {@code true},
     * and {@code HasSupportedValueInfo.hasMaxSupportedValue} is {@code true},
     * this must be equal to the min supported value
     * ({@code MinMaxSupportedValueResult.minSupportedValue}) at boot time.
     * Only applicable for {@code FLOAT} type property. Ignored for other types.
     *
     * If no minimum or maximum value is available at boot time, both
     * {@code minFloatValue} and {@code maxFloatValue} must be set to 0.
     * For certain properties, this field must be specified, see
     * {@code VehicleProperty} documentation.
     *
     * If either one is not 0, then we assume min and max both take effect.
     * If {@code HasSupportedValueInfo} is not {@code null} and this field is
     * specified, {@code HasSupportedValueInfo.hasMinSupportedValue} must be
     * {@code true}.
     */
    float minFloatValue;

    /**
     * client should use {@code getMinMaxSupportedValue} instead.
     * The optional maximum float value at boot time.
     *
     * Only applicable for {@code FLOAT} type property. Ignored for other types.
     * Assume unspecified if both {@code minFloatValue} and
     * {@code maxFloatValue} is 0. If either one is not 0, then we assume min
     * and max both take effect. If no minimum or maximum value is available at
     * boot time, both {@code minFloatValue} and {@code maxFloatValue} must be
     * set to 0.
     *
     * The optional maximum value at boot time.
     * Note that this property only represents the minimum value at boot time
     * and may not represent the current actual minimum value.
     *
     * For backward compatibility,
     * if {@code HasSupportedValueInfo.hasMinSupportedValue} is {@code true},
     * and {@code HasSupportedValueInfo.hasMaxSupportedValue} is {@code true},
     * this must be equal to the max supported value
     * ({@code MinMaxSupportedValueResult.maxSupportedValue}) at boot time.
     * Only applicable for {@code FLOAT} type property. Ignored for other types.
     *
     * If no minimum or maximum value is available at boot time, both
     * {@code minFloatValue} and {@code maxFloatValue} must be set to 0.
     * For certain properties, this field must be specified, see
     * {@code VehicleProperty} documentation.
     *
     * If either one is not 0, then we assume min and max both take effect.
     * If {@code HasSupportedValueInfo} is not {@code null} and this field is
     * specified, {@code HasSupportedValueInfo.hasMinSupportedValue} must be
     * {@code true}.
     */
    float maxFloatValue;

    /**
     * client should use {@code getMinMaxSupportedValue} instead.
     * Optional supported subset of supported enum values at boot time.
     *
     * Only applicable for property with {@code @data_enum} annotation. Ignored
     * for other properties.
     *
     * Optional supported subset of supported values at boot time.
     *
     * If the property has a @data_enum and supportedEnumValues is {@code null},
     * then it is assumed all @data_enum values are supported unless specified
     * through another mechanism.
     *
     * For backward compatibility, if
     * {@code HasSupportedValueInfo.hasSupportedValuesList} is {@code true}
     * and this property has {@code data_enum} annotation,
     * this must be set to the same as
     * {@code SupportedValuesListResult.supportedValuesList} at boot time.
     * If {@code HasSupportedValueInfo} is not {@code null} and this field is
     * not {@code null}, {@code HasSupportedValueInfo.hasSupportedValuesList}
     * must be {@code true}.
     */
    @nullable long[] supportedEnumValues;

@@ -237,7 +251,19 @@ parcelable VehicleAreaConfig {
     * {@code getSupportedValuesLists}, {@code subscribeSupportedValueChange},
     * {@code unsubscribeSupportedValueChange}.
     *
     * If this is {@code null} for legacy properties, the APIs mentioned before are not supported.
     * If this is not {@code null}. The VHAL implementation must implement
     * {@code getMinMaxSupportedValue}, {@code getSupportedValuesLists},
     * {@code subscribeSupportedValueChange} for the [propId, areaId].
     *
     * This should be non-null if the VHAL implementation wants to expose
     * min/max supported value or supported values list that may change dynamically. For example,
     * if the max HVAC fan speed may change due to HVAC power settings.
     *
     * This should not be non-null if the VHAL implementation wants to expose supported
     * values list for property ID that is not an enum type (hence do not support
     * {@code VehicleAreaConfig#supportedEnumValues}).
     *
     * If this is {@code null}, the APIs mentioned before are not supported.
     * Client must fallback to use static supported value information in {@code VehicleAreaConfig}.
     *
     * For VHAL implementation < V4, this is always {@code null}.