blob: cf3b68d76b0b5b459ea29b0b9eb1be7eb50814e1 [file] [log] [blame]
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.car;
import static com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport.BOILERPLATE_CODE;
import android.annotation.RequiresPermission;
import android.annotation.SystemApi;
import android.car.annotation.AddedInOrBefore;
import android.car.annotation.ApiRequirements;
import android.car.hardware.CarPropertyValue;
import android.car.hardware.property.VehicleElectronicTollCollectionCardStatus;
import android.car.hardware.property.VehicleElectronicTollCollectionCardType;
import com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport;
import com.android.car.internal.property.CarPropertyHelper;
/**
* List of vehicle property IDs.
*
* <p> Property IDs are used with the {@link android.car.hardware.property.CarPropertyManager} APIs
* (e.g. {@link android.car.hardware.property.CarPropertyManager#getProperty(int, int)} or {@link
* android.car.hardware.property.CarPropertyManager#setProperty(Class, int, int, Object)}).
*/
public final class VehiclePropertyIds {
/**
* Undefined property.
*/
@AddedInOrBefore(majorVersion = 33)
public static final int INVALID = 0;
/**
* VIN of vehicle
* Requires permission: {@link Car#PERMISSION_IDENTIFICATION}.
*/
@RequiresPermission(Car.PERMISSION_IDENTIFICATION)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_VIN = 286261504;
/**
* Manufacturer of vehicle.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code String} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_MAKE = 286261505;
/**
* Model of vehicle.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code String} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_MODEL = 286261506;
/**
* Model year of vehicle.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_MODEL_YEAR = 289407235;
/**
* Fuel capacity of the vehicle in milliliters.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Float} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_FUEL_CAPACITY = 291504388;
/**
* List the {@link FuelType}s the vehicle may use.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer[]} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_FUEL_TYPE = 289472773;
/**
* Nominal battery capacity for EV or hybrid vehicle
*
* <p>Returns the nominal battery capacity in {@link android.car.VehicleUnit#WATT_HOUR}, if EV
* or hybrid. This is the battery capacity when the vehicle is new. This value might be
* different from {@link #EV_CURRENT_BATTERY_CAPACITY} because {@link
* #EV_CURRENT_BATTERY_CAPACITY} returns the real-time battery capacity taking into account
* factors such as battery aging and temperature dependency.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Float} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_EV_BATTERY_CAPACITY = 291504390;
/**
* List of {@link android.car.hardware.property.EvChargingConnectorType}s this vehicle may use.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer[]} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_EV_CONNECTOR_TYPE = 289472775;
/**
* {@link PortLocationType} for the fuel door location.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_FUEL_DOOR_LOCATION = 289407240;
/**
* {@link PortLocationType} for the EV port location
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_EV_PORT_LOCATION = 289407241;
/**
* List {@link PortLocationType}s for Multiple EV port locations.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer[]} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_MULTI_EV_PORT_LOCATIONS = 289472780;
/**
* Driver's {@link VehicleAreaSeat} seat location.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_DRIVER_SEAT = 356516106;
/**
* Vehicle's exterior dimensions in millimeters.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
* <li>{@code Integer[]} property type
* </ul>
*
* <p>Exterior dimensions defined in the {@link CarPropertyValue#getValue()} {@code Integer[]}:
* <ul>
* <li>Integer[0] = height
* <li>Integer[1] = length
* <li>Integer[2] = width
* <li>Integer[3] = width including mirrors
* <li>Integer[4] = wheel base
* <li>Integer[5] = track width front
* <li>Integer[6] = track width rear
* <li>Integer[7] = curb to curb turning radius
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int INFO_EXTERIOR_DIMENSIONS = 289472779;
/**
* Current odometer value of the vehicle in kilometers.
* The property is protected by the signature permission: android.car.permission.CAR_MILEAGE.
*/
@RequiresPermission(Car.PERMISSION_MILEAGE)
@AddedInOrBefore(majorVersion = 33)
public static final int PERF_ODOMETER = 291504644;
/**
* Speed of the vehicle in meters per second.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Float} property type
* </ul>
*
* <p>When the vehicle is moving forward, PERF_VEHICLE_SPEED is positive and negative when the
* vehicle is moving backward. Also, this value is independent of gear value (CURRENT_GEAR or
* GEAR_SELECTION). For example, if GEAR_SELECTION is GEAR_NEUTRAL, PERF_VEHICLE_SPEED is
* positive when the vehicle is moving forward, negative when moving backward, and zero when
* not moving.
*
* <p>Requires permission: {@link Car#PERMISSION_SPEED}.
*/
@RequiresPermission(Car.PERMISSION_SPEED)
@AddedInOrBefore(majorVersion = 33)
public static final int PERF_VEHICLE_SPEED = 291504647;
/**
* Speed of the vehicle in meters per second for displays.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Float} property type
* </ul>
*
* <p>Some cars display a slightly slower speed than the actual speed. This is
* usually displayed on the speedometer.
*
* <p>Requires permission: {@link Car#PERMISSION_SPEED}.
*/
@RequiresPermission(Car.PERMISSION_SPEED)
@AddedInOrBefore(majorVersion = 33)
public static final int PERF_VEHICLE_SPEED_DISPLAY = 291504648;
/**
* Front bicycle model steering angle for vehicle in degrees.
*
* Left is negative.
* Requires permission: {@link Car#PERMISSION_READ_STEERING_STATE}.
*/
@RequiresPermission(Car.PERMISSION_READ_STEERING_STATE)
@AddedInOrBefore(majorVersion = 33)
public static final int PERF_STEERING_ANGLE = 291504649;
/**
* Rear bicycle model steering angle for vehicle in degrees.
*
* Left is negative.
* Requires permission: {@link Car#PERMISSION_READ_STEERING_STATE}.
*/
@RequiresPermission(Car.PERMISSION_READ_STEERING_STATE)
@AddedInOrBefore(majorVersion = 33)
public static final int PERF_REAR_STEERING_ANGLE = 291504656;
/**
* Temperature of engine coolant in celsius.
* The property is protected by the signature permission:
* android.car.permission.CAR_ENGINE_DETAILED.
*/
@RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
@AddedInOrBefore(majorVersion = 33)
public static final int ENGINE_COOLANT_TEMP = 291504897;
/**
* Engine oil level.
*
* <p>Returns the status of the oil level for the vehicle. See {@link
* android.car.hardware.property.VehicleOilLevel} for possible values for
* {@code ENGINE_OIL_LEVEL}.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CAR_ENGINE_DETAILED} to read
* property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED))
@AddedInOrBefore(majorVersion = 33)
public static final int ENGINE_OIL_LEVEL = 289407747;
/**
* Temperature of engine oil in celsius.
* The property is protected by the signature permission:
* android.car.permission.CAR_ENGINE_DETAILED.
*/
@RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
@AddedInOrBefore(majorVersion = 33)
public static final int ENGINE_OIL_TEMP = 291504900;
/**
* Engine rpm
* The property is protected by the signature permission:
* android.car.permission.CAR_ENGINE_DETAILED.
*/
@RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
@AddedInOrBefore(majorVersion = 33)
public static final int ENGINE_RPM = 291504901;
/**
* Represents feature for engine idle automatic stop.
*
* If true, the vehicle may automatically shut off the engine when it is not needed and then
* automatically restart it when needed.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_CAR_ENGINE_DETAILED} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int ENGINE_IDLE_AUTO_STOP_ENABLED = 287310624;
/**
* Reports wheel ticks.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Long[]} property type
* </ul>
*
* <p>The first element in the array is a reset count. A reset indicates
* previous tick counts are not comparable with this and future ones. Some
* sort of discontinuity in tick counting has occurred.
*
* <p>The next four elements represent ticks for individual wheels in the
* following order: front left, front right, rear right, rear left. All
* tick counts are cumulative. Tick counts increment when the vehicle
* moves forward, and decrement when vehicles moves in reverse. The ticks
* should be reset to 0 when the vehicle is started by the user.
*
* <ul>
* <li>Long[0] = reset count
* <li>Long[1] = front left ticks
* <li>Long[2] = front right ticks
* <li>Long[3] = rear right ticks
* <li>Long[4] = rear left ticks
* </ul>
*
* <p>configArray is used to indicate the micrometers-per-wheel-tick values and
* which wheels are supported. Each micrometers-per-wheel-tick value is static (i.e. will not
* update based on wheel's status) and a best approximation. For example, if a vehicle has
* multiple rim/tire size options, the micrometers-per-wheel-tick values are set to those for
* the typically expected rim/tire size. configArray is set as follows:
*
* <ul>
* <li>configArray[0], bits [0:3] = supported wheels. Uses {@link VehicleAreaWheel}.
* <li>configArray[1] = micrometers per front left wheel tick
* <li>configArray[2] = micrometers per front right wheel tick
* <li>configArray[3] = micrometers per rear right wheel tick
* <li>configArray[4] = micrometers per rear left wheel tick
* </ul>
*
* <p>NOTE: If a wheel is not supported, its value is always 0.
*
* <p>Requires permission: {@link Car#PERMISSION_SPEED}.
*/
@RequiresPermission(Car.PERMISSION_SPEED)
@AddedInOrBefore(majorVersion = 33)
public static final int WHEEL_TICK = 290521862;
/**
* Fuel remaining in the vehicle in milliliters.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Float} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_ENERGY)
@AddedInOrBefore(majorVersion = 33)
public static final int FUEL_LEVEL = 291504903;
/**
* Fuel door open.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_ENERGY_PORTS} to read property.
* <li>Signature permission, android.car.permission.CONTROL_CAR_ENERGY_PORTS, to write
* property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY_PORTS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ENERGY_PORTS))
@AddedInOrBefore(majorVersion = 33)
public static final int FUEL_DOOR_OPEN = 287310600;
/**
* EV battery level.
*
* <p>Returns the current battery level in {@link android.car.VehicleUnit#WATT_HOUR}, if EV or
* hybrid. This value will not exceed {@link #EV_CURRENT_BATTERY_CAPACITY}. To calculate the
* battery percentage, use:
* ({@link #EV_BATTERY_LEVEL}/{@link #EV_CURRENT_BATTERY_CAPACITY})*100.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Float} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_ENERGY)
@AddedInOrBefore(majorVersion = 33)
public static final int EV_BATTERY_LEVEL = 291504905;
/**
* Current battery capacity for EV or hybrid vehicle
*
* <p>Returns the actual value of battery capacity in {@link android.car.VehicleUnit#WATT_HOUR},
* if EV or hybrid. This property captures the real-time battery capacity taking into account
* factors such as battery aging and temperature dependency. Therefore, this value might be
* different from {@link #INFO_EV_BATTERY_CAPACITY} because {@link #INFO_EV_BATTERY_CAPACITY}
* returns the nominal battery capacity from when the vehicle was new.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Float} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_ENERGY)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int EV_CURRENT_BATTERY_CAPACITY = 291504909;
/**
* EV charge port open.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_ENERGY_PORTS} to read property.
* <li>Signature permission, android.car.permission.CONTROL_CAR_ENERGY_PORTS, to write
* property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY_PORTS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ENERGY_PORTS))
@AddedInOrBefore(majorVersion = 33)
public static final int EV_CHARGE_PORT_OPEN = 287310602;
/**
* EV charge port connected.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_ENERGY_PORTS} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_ENERGY_PORTS)
@AddedInOrBefore(majorVersion = 33)
public static final int EV_CHARGE_PORT_CONNECTED = 287310603;
/**
* EV instantaneous charge rate in milliwatts.
*
* <p>Positive rate indicates battery is being charged, and Negative rate indicates battery
* being discharged.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Float} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_ENERGY)
@AddedInOrBefore(majorVersion = 33)
public static final int EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 291504908;
/**
* Range remaining in meters.
*
* <p>Range remaining accounts for all energy sources in a vehicle. For example, a hybrid car's
* range will be the sum of the ranges based on fuel and battery.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Float} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_ENERGY} to read property.
* <li>Signature permission, android.car.permission.ADJUST_RANGE_REMAINING, to write property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_ADJUST_RANGE_REMAINING))
@AddedInOrBefore(majorVersion = 33)
public static final int RANGE_REMAINING = 291504904;
/**
* Tire pressure in kilopascals.
*
* min/max value indicates tire pressure sensor range. Each tire will have a separate min/max
* value denoted by its areaConfig.areaId.
* The property is protected by the signature permission: android.car.permission.CAR_TIRES.
*/
@RequiresPermission(Car.PERMISSION_TIRES)
@AddedInOrBefore(majorVersion = 33)
public static final int TIRE_PRESSURE = 392168201;
/**
* Critically low tire pressure
*
* <p>This property indicates the critically low pressure threshold for each tire. It
* indicates when it is time for tires to be replaced or fixed. The value
* must be less than or equal to minFloatValue in {@link VehiclePropertyIds#TIRE_PRESSURE}.
* <p>Minimum and maximum property values
* (that is, {@code minFloatValue}, {@code maxFloatValue}) are not applicable to this property.
*/
@RequiresPermission(Car.PERMISSION_TIRES)
@AddedInOrBefore(majorVersion = 33)
public static final int CRITICALLY_LOW_TIRE_PRESSURE = 392168202;
/**
* Currently selected gear by user.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p> See {@link VehicleGear} for gear value enum.
*
* <p>configArray represents the list of supported gears for the vehicle. For example,
* configArray for an EV vehicle is set as follows:
*
* <ul>
* <li>configArray[0] = {@link VehicleGear#GEAR_REVERSE}
* <li>configArray[1] = {@link VehicleGear#GEAR_PARK}
* <li>configArray[2] = {@link VehicleGear#GEAR_DRIVE}
* </ul>
*
* <p>Example automatic transmission configArray:
*
* <ul>
* <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
* <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
* <li>configArray[2] = {@link VehicleGear#GEAR_PARK}
* <li>configArray[3] = {@link VehicleGear#GEAR_DRIVE}
* <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
* <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
* <li>...
* </ul>
*
* <p>Example manual transmission configArray:
*
* <ul>
* <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
* <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
* <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
* <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
* <li>...
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}.
*/
@RequiresPermission(Car.PERMISSION_POWERTRAIN)
@AddedInOrBefore(majorVersion = 33)
public static final int GEAR_SELECTION = 289408000;
/**
* Vehicle transmission's current {@link VehicleGear}.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>{@code CURRENT_GEAR}'s value may not match that of {@link
* VehiclePropertyIds#GEAR_SELECTION}. For example, if the {@link
* VehiclePropertyIds#GEAR_SELECTION} is {@link VehicleGear#GEAR_DRIVE} in a vehicle with an
* automatic transmission, the {@code CURRENT_GEAR} will be one of {@link
* VehicleGear#GEAR_FIRST}, {@link VehicleGear#GEAR_SECOND}, etc, which reflects the actual gear
* the transmission is currently running in.
*
* <p>configArray represents the list of supported {@link VehicleGear}s for {@code
* CURRENT_GEAR}. For example, the configArray for an EV vehicle is set as follows:
*
* <ul>
* <li>configArray[0] = {@link VehicleGear#GEAR_REVERSE}
* <li>configArray[1] = {@link VehicleGear#GEAR_PARK}
* <li>configArray[2] = {@link VehicleGear#GEAR_DRIVE}
* </ul>
*
* <p>Example automatic transmission configArray:
*
* <ul>
* <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
* <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
* <li>configArray[2] = {@link VehicleGear#GEAR_PARK}
* <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
* <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
* <li>...
* </ul>
*
* <p>Example manual transmission configArray:
*
* <ul>
* <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
* <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
* <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
* <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
* <li>...
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}.
*/
@RequiresPermission(Car.PERMISSION_POWERTRAIN)
@AddedInOrBefore(majorVersion = 33)
public static final int CURRENT_GEAR = 289408001;
/**
* Parking brake state.
*
* <p>{@code PARKING_BRAKE_ON} is true indicates that the car's parking brake is currently
* engaged. False implies that the car's parking brake is currently disengaged.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}.
*/
@RequiresPermission(Car.PERMISSION_POWERTRAIN)
@AddedInOrBefore(majorVersion = 33)
public static final int PARKING_BRAKE_ON = 287310850;
/**
* Auto-apply parking brake.
*
* <p>{@code PARKING_BRAKE_AUTO_APPLY} is true indicates that the car's automatic parking brake
* feature is currently enabled. False indicates that the car's automatic parking brake feature
* is currently disabled.
*
* This property is often confused with PARKING_BRAKE_ON. The difference is that
* PARKING_BRAKE_ON describes whether the actual parking brake is currently on/off, whereas
* PARKING_BRAKE_AUTO_APPLY describes whether the feature of automatic parking brake is enabled/
* disabled, and does not describe the current state of the actual parking brake.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}.
*/
@RequiresPermission(Car.PERMISSION_POWERTRAIN)
@AddedInOrBefore(majorVersion = 33)
public static final int PARKING_BRAKE_AUTO_APPLY = 287310851;
/**
* Regenerative braking level of a electronic vehicle
*
* <p>Returns the current regenerative braking level. Larger values mean more energy regenerated
* from braking while smaller values mean less energy regenerated from braking. 0 means no
* regenerative braking. See {@link CarPropertyConfig#getMaxValue(int)} and {@link
* CarPropertyConfig#getMinValue(int)} for the range of possible values.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
* <li>Privileged|Signature permission {@link Car#PERMISSION_CONTROL_POWERTRAIN} to write
* property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_POWERTRAIN))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_POWERTRAIN))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int EV_BRAKE_REGENERATION_LEVEL = 289408012;
/**
* Represents property for the current stopping mode of the vehicle.
*
* <p>For the global area ID, the {@link AreaIdConfig#getSupportedEnumValues()} obtained from
* {@link CarPropertyConfig#getAreaId(int)} specifies which enum values from
* {@link EvStoppingMode} are supported. EvStoppingMode may be extended to include more states
* in the future.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
* <li>Privileged|Signature permission {@link Car#PERMISSION_CONTROL_POWERTRAIN} to write
* property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_POWERTRAIN))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_POWERTRAIN))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int EV_STOPPING_MODE = 289408013;
/**
* Warning for fuel low level.
*
* <p>{@code FUEL_LEVEL_LOW} corresponds to the low fuel warning on the dashboard. Once {@code
* FUEL_LEVEL_LOW} is set, it should not be cleared until more fuel is added to the vehicle.
* This property may take into account all fuel sources for a vehicle - for example:
* <ul>
* <li>For a gas powered vehicle, this property is based solely on gas level.
* <li>For a battery powered vehicle, this property is based solely on battery level.
* <li>For a hybrid vehicle, this property may be based on the combination of gas and
* battery levels, at the OEM's discretion.
* </ul>
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_ENERGY)
@AddedInOrBefore(majorVersion = 33)
public static final int FUEL_LEVEL_LOW = 287310853;
/**
* Night mode.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>True indicates that the night mode sensor has detected that the car cabin environment has
* low light.
*
* <p>Requires permission: {@link Car#PERMISSION_EXTERIOR_ENVIRONMENT}.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_ENVIRONMENT)
@AddedInOrBefore(majorVersion = 33)
public static final int NIGHT_MODE = 287310855;
/**
* State of the vehicles turn signals
*
* <p>See {@link android.car.hardware.property.VehicleTurnSignal} for possible values for
* {@code TURN_SIGNAL_STATE}.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature permission {@link Car#PERMISSION_EXTERIOR_LIGHTS} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int TURN_SIGNAL_STATE = 289408008;
/**
* Vehicle's ignition state.
*
* <p>See {@link VehicleIgnitionState} for possible values for {@code IGNITION_STATE}.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_POWERTRAIN} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_POWERTRAIN)
@AddedInOrBefore(majorVersion = 33)
public static final int IGNITION_STATE = 289408009;
/**
* ABS is active
* The property is protected by the signature permission:
* android.car.permission.CAR_DYNAMICS_STATE.
*/
@RequiresPermission(Car.PERMISSION_CAR_DYNAMICS_STATE)
@AddedInOrBefore(majorVersion = 33)
public static final int ABS_ACTIVE = 287310858;
/**
* Traction Control is active
* The property is protected by the signature permission:
* android.car.permission.CAR_DYNAMICS_STATE.
*/
@RequiresPermission(Car.PERMISSION_CAR_DYNAMICS_STATE)
@AddedInOrBefore(majorVersion = 33)
public static final int TRACTION_CONTROL_ACTIVE = 287310859;
/**
* Fan speed setting
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_FAN_SPEED = 356517120;
/**
* Fan direction setting
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_FAN_DIRECTION = 356517121;
/**
* HVAC current temperature in celsius.
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_TEMPERATURE_CURRENT = 358614274;
/**
* HVAC, target temperature set.
*
* <p>The {@code configArray} is used to indicate the valid values for HVAC in Fahrenheit and
* Celsius. Android might use it in the HVAC app UI.
* <p>The {@code configArray} is set as follows:
* <ul>
* <li>{@code configArray[0]} is [the lower bound of the supported temperature in Celsius]
* * 10.
* <li>{@code configArray[1]} is [the upper bound of the supported temperature in Celsius]
* * 10.
* <li>{@code configArray[2]} is [the increment in Celsius] * 10.
* <li>{@code configArray[3]} is
* [the lower bound of the supported temperature in Fahrenheit] * 10.
* <li>{@code configArray[4]} is
* [the upper bound of the supported temperature in Fahrenheit] * 10.
* <li>{@code configArray[5]} is [the increment in Fahrenheit] * 10.
* </ul>
* <p>For example, if the vehicle supports temperature values as:
* <pre>
* [16.0, 16.5, 17.0 ,..., 28.0] in Celsius
* [60.5, 61.5, 62.5 ,..., 85.5] in Fahrenheit
* </pre>
* <p>The {@code configArray} should be:
* <pre>
* configArray = {160, 280, 5, 605, 855, 10}.
* </pre>
* <p>If the vehicle supports {@link VehiclePropertyIds#HVAC_TEMPERATURE_VALUE_SUGGESTION},
* the application can use that property to get the suggested value before setting
* {@code HVAC_TEMPERATURE_SET}. Otherwise, the application may choose the
* value in {@code configArray} of {@code HVAC_TEMPERATURE_SET} by itself.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_TEMPERATURE_SET = 358614275;
/**
* Suggested values for setting HVAC temperature.
*
* <p>Implement the property to help applications understand the closest supported temperature
* value in Celsius or Fahrenheit.
* <ul>
* <li>{@code floatValues[0]} is the requested value that an application wants to set a
* temperature to.
* <li>{@code floatValues[1]} is the unit for {@code floatValues[0]}. It should be one of
* ({@link VehicleUnit#CELSIUS}, {@link VehicleUnit#FAHRENHEIT}).
* <li>{@code floatValues[2]} is the value OEMs suggested in CELSIUS. This value is not
* included in the request.
* <li>{@code floatValues[3]} is the value OEMs suggested in FAHRENHEIT. This value is not
* included in the request.
* </ul>
* <p>An application calls
* {@link android.car.hardware.property.CarPropertyManager#setProperty(Class, int, int, Object)}
* with the requested value and unit for the value. OEMs need to return the suggested values
* in {@code floatValues[2]} and {@code floatValues[3]} by
* {@link android.car.hardware.property.CarPropertyManager.CarPropertyEventCallback}.
*
* <p>For example, when a user uses the voice assistant to set HVAC temperature to 66.2 in
* Fahrenheit.
* <p>First, an application will set this property with the value
* [66.2, {@link VehicleUnit#FAHRENHEIT}, 0, 0]. If OEMs suggest to set 19.0 in Celsius
* or 66.5 in Fahrenheit for user's request, then car must generate a callback with property
* value [66.2, {@link VehicleUnit#FAHRENHEIT}, 19.0, 66.5]. After the voice assistant
* gets the callback, it will inform the user and set HVAC temperature to the suggested value.
*
* <p>Another example, an application receives 21 Celsius as the current temperature value by
* querying {@link VehiclePropertyIds#HVAC_TEMPERATURE_SET}. But the application wants to know
* what value is displayed on the car's UI in Fahrenheit.
* <p>For this, the application sets the property to
* [21, {@link VehicleUnit#CELSIUS}, 0, 0]. If the suggested value by the OEM for 21
* Celsius is 70 Fahrenheit, then car must generate a callback with property value
* [21, {@link VehicleUnit#CELSIUS}, 21.0, 70.0]. In this case, the application can know
* that the value is 70.0 Fahrenheit in the car’s UI.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_TEMPERATURE_VALUE_SUGGESTION = 291570965;
/**
* On/off defrost for designated window
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_DEFROSTER = 320865540;
/**
* On/off AC for designated areaId
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_AC_ON = 354419973;
/**
* On/off max AC
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_MAX_AC_ON = 354419974;
/**
* On/off max defrost
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_MAX_DEFROST_ON = 354419975;
/**
* Recirculation on/off
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_RECIRC_ON = 354419976;
/**
* Enable temperature coupling between areas.
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_DUAL_ON = 354419977;
/**
* On/off automatic mode
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_AUTO_ON = 354419978;
/**
* Seat heating/cooling
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_SEAT_TEMPERATURE = 356517131;
/**
* Side Mirror Heat
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_SIDE_MIRROR_HEAT = 339739916;
/**
* Steering Wheel Heating/Cooling
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_STEERING_WHEEL_HEAT = 289408269;
/**
* Temperature units for display.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Read permissions: Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} or
* Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_CLIMATE}.
* <li>Write permission: Signature|Privileged permission {@link
* Car#PERMISSION_CONTROL_CAR_CLIMATE}.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(anyOf = {Car.PERMISSION_READ_DISPLAY_UNITS,
Car.PERMISSION_CONTROL_CAR_CLIMATE}))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.TIRAMISU_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int HVAC_TEMPERATURE_DISPLAY_UNITS = 289408270;
/**
* Actual fan speed
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_ACTUAL_FAN_SPEED_RPM = 356517135;
/**
* Represents global power state for HVAC. Setting this property to false
* MAY mark some properties that control individual HVAC features/subsystems
* to UNAVAILABLE state. Setting this property to true MAY mark some
* properties that control individual HVAC features/subsystems to AVAILABLE
* state (unless any/all of them are UNAVAILABLE on their own individual
* merits).
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_POWER_ON = 354419984;
/**
* Fan Positions Available
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_FAN_DIRECTION_AVAILABLE = 356582673;
/**
* Automatic recirculation on/off
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_AUTO_RECIRC_ON = 354419986;
/**
* Seat ventilation
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
public static final int HVAC_SEAT_VENTILATION = 356517139;
/**
* ELECTRIC DEFROSTER
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_CLIMATE.
*
* @hide
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
@AddedInOrBefore(majorVersion = 33)
@SystemApi
public static final int HVAC_ELECTRIC_DEFROSTER_ON = 320865556;
/**
* Distance units for display.
*
* <p>Indicates which units the car is using to display distances to the user.
*
* <p>configArray represents the list of supported units for {@code
* DISTANCE_DISPLAY_UNITS}. Here is an example configArray:
* <ul>
* <li>configArray[0] = {@link VehicleUnit#METER}
* <li>configArray[1] = {@link VehicleUnit#KILOMETER}
* <li>configArray[2] = {@link VehicleUnit#MILE}
* </ul>
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
* <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and
* android.car.permission.CAR_VENDOR_EXTENSION, to write property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
@RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
Car.PERMISSION_VENDOR_EXTENSION}))
@AddedInOrBefore(majorVersion = 33)
public static final int DISTANCE_DISPLAY_UNITS = 289408512;
/**
* Fuel volume units for display.
*
* <p>Indicates which units the car is using to display fuel volume to the user.
*
* <p>configArray represents the list of supported units for {@code
* FUEL_VOLUME_DISPLAY_UNITS}. Here is an example configArray:
* <ul>
* <li>configArray[0] = {@link VehicleUnit#LITER}
* <li>configArray[1] = {@link VehicleUnit#US_GALLON}
* </ul>
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
* <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and
* android.car.permission.CAR_VENDOR_EXTENSION, to write property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
@RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
Car.PERMISSION_VENDOR_EXTENSION}))
@AddedInOrBefore(majorVersion = 33)
public static final int FUEL_VOLUME_DISPLAY_UNITS = 289408513;
/**
* Tire pressure units for display.
*
* <p>Indicates which units the car is using to display tire pressure to the user.
*
* <p>configArray represents the list of supported units for {@code
* TIRE_PRESSURE_DISPLAY_UNITS}. Here is an example configArray:
* <ul>
* <li>configArray[0] = {@link VehicleUnit#KILOPASCAL}
* <li>configArray[1] = {@link VehicleUnit#PSI}
* <li>configArray[2] = {@link VehicleUnit#BAR}
* </ul>
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
* <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and
* android.car.permission.CAR_VENDOR_EXTENSION, to write property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
@RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
Car.PERMISSION_VENDOR_EXTENSION}))
@AddedInOrBefore(majorVersion = 33)
public static final int TIRE_PRESSURE_DISPLAY_UNITS = 289408514;
/**
* EV battery units for display.
*
* <p>Indicates which units the vehicle is using to display EV battery information to the user.
*
* <p>configArray represents the list of supported units for {@code
* EV_BATTERY_DISPLAY_UNITS}. Here is an example configArray:
* <ul>
* <li>configArray[0] = {@link VehicleUnit#WATT_HOUR}
* <li>configArray[1] = {@link VehicleUnit#AMPERE_HOURS}
* <li>configArray[2] = {@link VehicleUnit#KILOWATT_HOUR}
* </ul>
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
* <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and
* android.car.permission.CAR_VENDOR_EXTENSION, to write property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
@RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
Car.PERMISSION_VENDOR_EXTENSION}))
@AddedInOrBefore(majorVersion = 33)
public static final int EV_BATTERY_DISPLAY_UNITS = 289408515;
/**
* Speed units for display.
*
* <p>Indicates type of units the vehicle is using to display speed to user.
*
* <p>configArray represents the list of supported units for {@code
* VEHICLE_SPEED_DISPLAY_UNITS}. Here is an example configArray:
* <ul>
* <li>configArray[0] = {@link VehicleUnit#METER_PER_SEC}
* <li>configArray[1] = {@link VehicleUnit#MILES_PER_HOUR}
* <li>configArray[2] = {@link VehicleUnit#KILOMETERS_PER_HOUR}
* </ul>
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
* <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and
* android.car.permission.CAR_VENDOR_EXTENSION, to write property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
@RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
Car.PERMISSION_VENDOR_EXTENSION}))
@AddedInOrBefore(majorVersion = 33)
public static final int VEHICLE_SPEED_DISPLAY_UNITS = 289408516;
/**
* Fuel consumption units for display.
*
* <p>Indicates type of units the car is using to display fuel consumption information to user.
*
* <p>{@code true} indicates units are distance over volume such as MPG.
*
* <p>{@code false} indicates units are volume over distance such as L/100KM.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
* <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and
* android.car.permission.CAR_VENDOR_EXTENSION, to write property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
@RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
Car.PERMISSION_VENDOR_EXTENSION}))
@AddedInOrBefore(majorVersion = 33)
public static final int FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME = 287311364;
/**
* Outside temperature in celsius.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Float} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_EXTERIOR_ENVIRONMENT}.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_ENVIRONMENT)
@AddedInOrBefore(majorVersion = 33)
public static final int ENV_OUTSIDE_TEMPERATURE = 291505923;
/**
* Property to control power state of application processor
*
* It is assumed that AP's power state is controller by separate power
* controller.
* The property is protected by the signature permission: android.car.permission.CAR_POWER.
*/
@RequiresPermission(Car.PERMISSION_CAR_POWER)
@AddedInOrBefore(majorVersion = 33)
public static final int AP_POWER_STATE_REQ = 289475072;
/**
* Property to report power state of application processor
*
* It is assumed that AP's power state is controller by separate power
* controller.
* The property is protected by the signature permission: android.car.permission.CAR_POWER.
*/
@RequiresPermission(Car.PERMISSION_CAR_POWER)
@AddedInOrBefore(majorVersion = 33)
public static final int AP_POWER_STATE_REPORT = 289475073;
/**
* Property to report bootup reason for the current power on. This is a
* static property that will not change for the whole duration until power
* off. For example, even if user presses power on button after automatic
* power on with door unlock, bootup reason must stay with
* VehicleApPowerBootupReason#USER_UNLOCK.
* The property is protected by the signature permission: android.car.permission.CAR_POWER.
*/
@RequiresPermission(Car.PERMISSION_CAR_POWER)
@AddedInOrBefore(majorVersion = 33)
public static final int AP_POWER_BOOTUP_REASON = 289409538;
/**
* Property to represent brightness of the display. Some cars have single
* control for the brightness of all displays and this property is to share
* change in that control.
* The property is protected by the signature permission: android.car.permission.CAR_POWER.
*/
@RequiresPermission(Car.PERMISSION_CAR_POWER)
@AddedInOrBefore(majorVersion = 33)
public static final int DISPLAY_BRIGHTNESS = 289409539;
/**
* Property to feed H/W input events to android
*/
@AddedInOrBefore(majorVersion = 33)
public static final int HW_KEY_INPUT = 289475088;
/**
* Door position
*
* This is an integer in case a door may be set to a particular position.
* Max value indicates fully open, min value (0) indicates fully closed.
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_DOORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
@AddedInOrBefore(majorVersion = 33)
public static final int DOOR_POS = 373295872;
/**
* Door move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_DOORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
@AddedInOrBefore(majorVersion = 33)
public static final int DOOR_MOVE = 373295873;
/**
* Door lock
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_DOORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
@AddedInOrBefore(majorVersion = 33)
public static final int DOOR_LOCK = 371198722;
/**
* Door child lock feature enabled
*
* <p>Returns true if the door child lock feature is enabled and false if it is disabled.
* If enabled, the door is unable to be opened from the inside.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_DOOR}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_DOORS} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int DOOR_CHILD_LOCK_ENABLED = 371198723;
/**
* Mirror Z Position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_MIRRORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@AddedInOrBefore(majorVersion = 33)
public static final int MIRROR_Z_POS = 339741504;
/**
* Mirror Z Move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_MIRRORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@AddedInOrBefore(majorVersion = 33)
public static final int MIRROR_Z_MOVE = 339741505;
/**
* Mirror Y Position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_MIRRORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@AddedInOrBefore(majorVersion = 33)
public static final int MIRROR_Y_POS = 339741506;
/**
* Mirror Y Move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_MIRRORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@AddedInOrBefore(majorVersion = 33)
public static final int MIRROR_Y_MOVE = 339741507;
/**
* Mirror Lock
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_MIRRORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@AddedInOrBefore(majorVersion = 33)
public static final int MIRROR_LOCK = 287312708;
/**
* Mirror Fold
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_MIRRORS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@AddedInOrBefore(majorVersion = 33)
public static final int MIRROR_FOLD = 287312709;
/**
* Represents property for the Mirror Auto Fold feature.
*
* This property is true when the feature for automatically folding the vehicle's mirrors (for
* example, when the mirrors fold inward automatically when one exits and locks the vehicle) is
* enabled.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_MIRRORS} to read and
* write property.
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int MIRROR_AUTO_FOLD_ENABLED = 337644358;
/**
* Represents property for the Mirror Auto Tilt feature.
*
* This property is true when the feature for automatically tilting the vehicle's mirrors (for
* example, when the mirrors tilt downward automatically when one reverses the vehicle) is
* enabled.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_MIRRORS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int MIRROR_AUTO_TILT_ENABLED = 337644359;
/**
* Property that represents the current position of the glove box door.
*
* {@link CarPropertyConfig#getMinValue(int)} indicates that the glove box is closed.
* {@link CarPropertyConfig#getMaxValue(int)} indicates that the glove box is fully open.
*
* All integers between the min and max values are supported and indicate a transition state
* between the closed and fully open positions.
*
* The supported area IDs match the seat(s) by which the glove box is intended to be used (e.g.
* if the front right dashboard has a glove box embedded in it, then the area ID should be
* ROW_1_RIGHT).
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_GLOVE_BOX} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_GLOVE_BOX)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int GLOVE_BOX_DOOR_POS = 356518896;
/**
* Lock or unlock the glove box.
*
* <p>If {@code true}, the glove box is locked. If {@code false}, the glove box is unlocked.
*
* <p>The supported area IDs match the seat(s) by which the glove box is intended to be used
* (e.g. if the front right dashboard has a glove box embedded in it, then the area ID will be
* {@link android.car.VehicleAreaSeat#SEAT_ROW_1_RIGHT}).
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_GLOVE_BOX} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_GLOVE_BOX)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int GLOVE_BOX_LOCKED = 354421745;
/**
* Seat memory select
*
* This parameter selects the memory preset to use to select the seat
* position. The minValue is always 0, and the maxValue determines the
* number of seat positions available.
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_MEMORY_SELECT = 356518784;
/**
* Seat memory set
*
* This setting allows the user to save the current seat position settings
* into the selected preset slot. The maxValue for each seat position
* must match the maxValue for SEAT_MEMORY_SELECT.
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_MEMORY_SET = 356518785;
/**
* Seatbelt buckled
*
* True indicates belt is buckled.
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_BELT_BUCKLED = 354421634;
/**
* Seatbelt height position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_BELT_HEIGHT_POS = 356518787;
/**
* Seatbelt height move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_BELT_HEIGHT_MOVE = 356518788;
/**
* Seat fore/aft position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_FORE_AFT_POS = 356518789;
/**
* Seat fore/aft move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_FORE_AFT_MOVE = 356518790;
/**
* Seat backrest angle 1 position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_BACKREST_ANGLE_1_POS = 356518791;
/**
* Seat backrest angle 1 move
*
* Moves the backrest forward or recline.
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_BACKREST_ANGLE_1_MOVE = 356518792;
/**
* Seat backrest angle 2 position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_BACKREST_ANGLE_2_POS = 356518793;
/**
* Seat backrest angle 2 move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_BACKREST_ANGLE_2_MOVE = 356518794;
/**
* Seat height position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEIGHT_POS = 356518795;
/**
* Seat height move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEIGHT_MOVE = 356518796;
/**
* Seat depth position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_DEPTH_POS = 356518797;
/**
* Seat depth move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_DEPTH_MOVE = 356518798;
/**
* Seat tilt position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_TILT_POS = 356518799;
/**
* Seat tilt move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_TILT_MOVE = 356518800;
/**
* Lumber fore/aft position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_LUMBAR_FORE_AFT_POS = 356518801;
/**
* Lumbar fore/aft move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_LUMBAR_FORE_AFT_MOVE = 356518802;
/**
* Lumbar side support position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_LUMBAR_SIDE_SUPPORT_POS = 356518803;
/**
* Lumbar side support move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 356518804;
/**
* @deprecated This property is deprecated because it is defined as type {@link
* VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}, which means all seats use the same value. Use
* {@link #SEAT_HEADREST_HEIGHT_POS_V2} instead which fixes this issue by being defined as type
* {@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}.
*
* Headrest height position.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read
* and write property.
* </ul>
*/
@Deprecated
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEADREST_HEIGHT_POS = 289409941;
/**
* Headrest height position.
*
* <p>Returns the height of the headrest for supported seats. This value is not in any
* particular unit but in a specified range of steps. The {@link
* CarPropertyConfig#getMaxValue(int)} indicates the tallest height. See {@link
* CarPropertyConfig#getMaxValue(int)} and {@link CarPropertyConfig#getMinValue(int)}
* for the range of possible positions.
*
* <p>{@link CarPropertyConfig#getAreaIdConfigs()} specifies which seats are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read
* and write property.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_HEADREST_HEIGHT_POS_V2 = 356518820;
/**
* Headrest height move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEADREST_HEIGHT_MOVE = 356518806;
/**
* Headrest angle position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEADREST_ANGLE_POS = 356518807;
/**
* Headrest angle move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEADREST_ANGLE_MOVE = 356518808;
/**
* Headrest fore/aft position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEADREST_FORE_AFT_POS = 356518809;
/**
* Headrest fore/aft move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_HEADREST_FORE_AFT_MOVE = 356518810;
/**
* Represents property for state of the footwell lights.
*
* SEAT_FOOTWELL_LIGHTS_STATE reflects the current state of the lights at any point in time.
* This is different from the function of {@link SEAT_FOOTWELL_LIGHTS_SWITCH} which represents
* the position of the switch controlling the lights. Therefore, SEAT_FOOTWELL_LIGHTS_STATE may
* not match the value of SEAT_FOOTWELL_LIGHTS_SWITCH (e.g.
* SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC and SEAT_FOOTWELL_LIGHTS_STATE=ON).
*
* This property will only be implemented if SEAT_FOOTWELL_LIGHTS_STATE's value may be different
* from that of {@link CABIN_LIGHTS_STATE}.
*
* For each supported area ID, the {@link AreaIdConfig#getSupportedEnumValues()} obtained from
* {@link CarPropertyConfig#getAreaId(int)} specifies which enum values from
* {@link VehicleLightState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_READ_INTERIOR_LIGHTS} to read
* property.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_FOOTWELL_LIGHTS_STATE = 356518811;
/**
* Represents property for switch of the footwell lights.
*
* SEAT_FOOTWELL_LIGHTS_SWITCH represents the position of the switch controlling the lights.
* This is different from the function of {@link SEAT_FOOTWELL_LIGHTS_STATE} which reflects the
* current state of the lights at any point in time. Therefore, SEAT_FOOTWELL_LIGHTS_SWITCH may
* not match the value of SEAT_FOOTWELL_LIGHTS_STATE (e.g. SEAT_FOOTWELL_LIGHTS_SWITCH=AUTOMATIC
* and SEAT_FOOTWELL_LIGHTS_STATE=ON).
*
* This property will only be implemented if SEAT_FOOTWELL_LIGHTS_SWITCH's value may be
* different from that of {@link CABIN_LIGHTS_SWITCH}.
*
* For each supported area ID, the {@link AreaIdConfig#getSupportedEnumValues()} obtained from
* {@link CarPropertyConfig#getAreaId(int)} specifies which enum values from
* {@link VehicleLightSwitch} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_CONTROL_INTERIOR_LIGHTS} to read
* and write property.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_FOOTWELL_LIGHTS_SWITCH = 356518812;
/**
* Represents property for Seat easy access feature.
*
* If true, the seat will automatically adjust to make it easier for the occupant to enter and
* exit the vehicle.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_EASY_ACCESS_ENABLED = 354421661;
/**
* Represents feature to enable/disable a seat's ability to deploy airbag(s) when triggered
* (e.g. by a crash).
*
* If true, it means the seat's airbags are enabled, and if triggered (e.g. by a crash), they
* will deploy. If false, it means the seat's airbags are disabled, and they will not deploy
* under any circumstance. This property does not indicate if the airbags are deployed or not.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_AIRBAGS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_AIRBAGS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_AIRBAG_ENABLED = 354421662;
/**
* Represents property for seat’s hipside (bottom cushion’s side) support position.
*
* This value is not in any particular unit but in a specified range of steps. The max value
* indicates the widest cushion side support setting (i.e. least support). The min value
* indicates the thinnest cushion side support setting (i.e most support). See {@link
* CarPropertyConfig#getMaxValue(int)} and {@link CarPropertyConfig#getMinValue(int)} for the
* range of possible positions. All integers between min and max value are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Int32} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_CUSHION_SIDE_SUPPORT_POS = 356518815;
/**
* Represents property for movement direction and speed of seat cushion side support.
*
* This value is not in any particular unit but in a specified range of steps. Positive values
* mean growing wider (i.e. less support) and negative values mean growing thinner (i.e. more
* support). Larger integers, either positive or negative, indicate a faster speed. Once the
* support reaches the positional limit, the value resets to 0. See {@link
* CarPropertyConfig#getMaxValue(int)} and {@link CarPropertyConfig#getMinValue(int)} for the
* range of possible speeds. All integers between min and max value are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Int32} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_CUSHION_SIDE_SUPPORT_MOVE = 356518816;
/**
* Represents property for seat’s lumbar support vertical position.
*
* This value is not in any particular unit but in a specified range of steps. The max value
* indicates the highest position. The min value indicates the lowest position. See {@link
* CarPropertyConfig#getMaxValue(int)} and {@link CarPropertyConfig#getMinValue(int)} for the
* range of possible positions. All integers between min and max value are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Int32} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_LUMBAR_VERTICAL_POS = 356518817;
/**
* Represents property for vertical movement direction and speed of seat lumbar support.
*
* This value is not in any particular unit but in a specified range of steps. Positive values
* mean the support is moving up and negative values mean the support is moving down. Larger
* integers, either positive or negative, indicate a faster speed. Once the support reaches the
* positional limit, the value resets to 0. See {@link CarPropertyConfig#getMaxValue(int)} and
* {@link CarPropertyConfig#getMinValue(int)} for the range of possible speeds. All integers
* between min and max value are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Int32} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_LUMBAR_VERTICAL_MOVE = 356518818;
/**
* Represents property that indicates the current walk-in position of the seat.
*
* {@link CarPropertyConfig#getMinValue(int)} indicates the normal seat position.
* {@link CarPropertyConfig#getMaxValue(int)} indicates the seat is in the full walk-in
* position.
*
* All integers in between the min and max values are supported and indicate a transition state
* between the normal and walk-in positions. The area IDs match the seats that actually move
* when the walk-in feature activates.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Int32} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
* write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int SEAT_WALK_IN_POS = 356518819;
/**
* Seat Occupancy
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_SEATS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
@AddedInOrBefore(majorVersion = 33)
public static final int SEAT_OCCUPANCY = 356518832;
/**
* Window Position
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_WINDOWS
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS)
@AddedInOrBefore(majorVersion = 33)
public static final int WINDOW_POS = 322964416;
/**
* Window Move
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_WINDOWS
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS)
@AddedInOrBefore(majorVersion = 33)
public static final int WINDOW_MOVE = 322964417;
/**
* Window Lock
* The property is protected by the signature permission:
* android.car.permission.CONTROL_CAR_WINDOWS
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS)
@AddedInOrBefore(majorVersion = 33)
public static final int WINDOW_LOCK = 320867268;
/**
* Windshield wipers period (milliseconds).
*
* <p>Returns the instantaneous time period for 1 full cycle of the windshield wipers in
* milliseconds. A full cycle is defined as a wiper moving from and returning to its rest
* position. The {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} specifies the
* longest wiper period. The {@link android.car.hardware.property.AreaIdConfig#getMinValue()} is
* always 0. When an intermittent wiper setting is selected, this property value will be set to
* 0 during the "pause" phase of the intermittent wiping.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_WINDSHIELD_WIPERS} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_WINDSHIELD_WIPERS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int WINDSHIELD_WIPERS_PERIOD = 322964421;
/**
* Windshield wipers state.
*
* <p>Returns the current state of the windshield wipers. The value of {@code
* WINDSHIELD_WIPERS_STATE} may not match the value of {@link #WINDSHIELD_WIPERS_SWITCH}. (e.g.
* {@code #WINDSHIELD_WIPERS_STATE} = {@link
* android.car.hardware.property.WindshieldWipersState#ON} and {@link
* #WINDSHIELD_WIPERS_SWITCH} = {@link
* android.car.hardware.property.WindshieldWipersSwitch#AUTO}).
*
* <p>If {@code #WINDSHIELD_WIPERS_STATE} = {@link
* android.car.hardware.property.WindshieldWipersState#ON} and {@link #WINDSHIELD_WIPERS_PERIOD}
* is implemented, then {@link #WINDSHIELD_WIPERS_PERIOD} will reflect the time period of 1
* full cycle of the wipers.
*
* <p>For each supported area ID, the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.WindshieldWipersState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_WINDSHIELD_WIPERS} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_WINDSHIELD_WIPERS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int WINDSHIELD_WIPERS_STATE = 322964422;
/**
* Steering wheel depth position
*
* <p>Returns how close the steering wheel is to the driver. This value is not in any
* particular unit but in a specified range of steps. The max value indicates the wheel
* position closest to the driver. See {@link CarPropertyConfig#getMaxValue(int)} and
* {@link CarPropertyConfig#getMinValue(int)} for the range of possible positions.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_DEPTH_POS = 289410016;
/**
* Steering wheel depth movement
*
* <p>Returns the speed and direction, either towards or away from the driver, that the
* steering wheel is moving in. This value is not in any particular unit but in a specified
* range of steps. Positive values mean moving towards the driver and negative values mean
* moving away from the driver. Larger integers, either positive or negative, indicate a
* faster speed. Once the steering wheel reaches the positional limit, the value resets to 0.
* See {@link CarPropertyConfig#getMaxValue(int)} and {@link CarPropertyConfig#getMinValue(int)}
* for the range of possible values.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_DEPTH_MOVE = 289410017;
/**
* Steering wheel height position
*
* <p>Returns the steering wheel height. This value is not in any particular unit but in a
* specified range of steps. The max value indicates the heightest position that can be set. See
* {@link CarPropertyConfig#getMaxValue(int)} and {@link CarPropertyConfig#getMinValue(int)} for
* the range of possible positions.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_HEIGHT_POS = 289410018;
/**
* Steering wheel height movement
*
* <p>Returns the speed and direction, either upwards or downwards, that the steering wheel is
* moving in. This value is not in any particular unit but in a specified range of steps.
* Positive values mean moving upwards and negative values mean moving downwards. Larger
* integers, either positive or negative, indicate a faster speed. Once the steering wheel
* reaches the positional limit, the value resets to 0. See {@link
* CarPropertyConfig#getMaxValue(int)} and {@link CarPropertyConfig#getMinValue(int)} for the
* range of possible values.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_HEIGHT_MOVE = 289410019;
/**
* Steering wheel theft lock feature enabled
*
* <p>Returns true if the steering wheel theft lock feature is enabled and false if it is
* disabled. If enabled, the steering wheel will lock automatically to prevent theft in
* certain situations.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_THEFT_LOCK_ENABLED = 287312868;
/**
* Steering wheel locked
*
* <p>Returns true if the steering wheel is locked. If locked, the steering wheel’s position is
* not changeable.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_LOCKED = 287312869;
/**
* Steering wheel easy access feature enabled
*
* <p>Returns true if the steering wheel easy access feature is enabled and false if it is
* disabled. If enabled, the driver’s steering wheel will automatically adjust to make it easier
* for the driver to enter and exit the vehicle.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
* and write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_EASY_ACCESS_ENABLED = 287312870;
/**
* Vehicle Maps Service (VMS) message
* The property is protected by the signature permissions:
* android.car.permission.VMS_PUBLISHER and android.car.permission.VMS_SUBSCRIBER.
*/
@RequiresPermission(anyOf = {Car.PERMISSION_VMS_PUBLISHER, Car.PERMISSION_VMS_SUBSCRIBER})
@AddedInOrBefore(majorVersion = 33)
public static final int VEHICLE_MAP_SERVICE = 299895808;
/**
* OBD2 Live Sensor Data
*
* Reports a snapshot of the current (live) values of the OBD2 sensors available.
* The property is protected by the signature permission:
* android.car.permission.CAR_DIAGNOSTICS.
*/
@RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL)
@AddedInOrBefore(majorVersion = 33)
public static final int OBD2_LIVE_FRAME = 299896064;
/**
* OBD2 Freeze Frame Sensor Data
*
* Reports a snapshot of the value of the OBD2 sensors available at the time that a fault
* occurred and was detected.
* The property is protected by the signature permission:
* android.car.permission.CAR_DIAGNOSTICS.
*/
@RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL)
@AddedInOrBefore(majorVersion = 33)
public static final int OBD2_FREEZE_FRAME = 299896065;
/**
* OBD2 Freeze Frame Information
* The property is protected by the signature permission:
* android.car.permission.CAR_DIAGNOSTICS.
*/
@RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL)
@AddedInOrBefore(majorVersion = 33)
public static final int OBD2_FREEZE_FRAME_INFO = 299896066;
/**
* OBD2 Freeze Frame Clear
*
* This property allows deletion of any of the freeze frames stored in
* vehicle memory, as described by OBD2_FREEZE_FRAME_INFO.
* The property is protected by the signature permission:
* android.car.permission.CLEAR_CAR_DIAGNOSTICS.
*/
@RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR)
@AddedInOrBefore(majorVersion = 33)
public static final int OBD2_FREEZE_FRAME_CLEAR = 299896067;
/**
* Headlights State
* The property is protected by the signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int HEADLIGHTS_STATE = 289410560;
/**
* High beam lights state
* The property is protected by the signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int HIGH_BEAM_LIGHTS_STATE = 289410561;
/**
* Fog light state
*
* If the car has both front and rear fog lights:
* If front and rear fog lights can only be controlled together: FOG_LIGHTS_STATE provides
* the state of fog lights.
*
* If front and rear fog lights can only be controlled independently: FRONT_FOG_LIGHTS_STATE
* and REAR_FOG_LIGHTS_STATE provide the state of front, rear fog lights respectively.
*
* If the car has only front fog lights:
* Only one of FOG_LIGHTS_STATE or FRONT_FOG_LIGHTS_STATE will be implemented in the car. The
* implemented property provides the state of the front fog lights.
*
* If the car has only rear fog lights:
* Only one of FOG_LIGHTS_STATE or REAR_FOG_LIGHTS_STATE will be implemented in the car. The
* implemented property provides the state of the rear fog lights.
*
* The property is protected by the privileged|signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int FOG_LIGHTS_STATE = 289410562;
/**
* Hazard light status
* The property is protected by the signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int HAZARD_LIGHTS_STATE = 289410563;
/**
* Headlight switch
* The property is protected by the signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int HEADLIGHTS_SWITCH = 289410576;
/**
* High beam light switch
* The property is protected by the signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int HIGH_BEAM_LIGHTS_SWITCH = 289410577;
/**
* Fog light switch
*
* If the car has both front and rear fog lights:
* If front and rear fog lights can only be controlled together: FOG_LIGHTS_SWITCH should be
* used to change the fog lights state.
*
* If front and rear fog lights can only be controlled independently: FRONT_FOG_LIGHTS_SWITCH
* and REAR_FOG_LIGHTS_SWITCH should be used to change the front, rear fog lights state
* respectively.
*
* If the car has only front fog lights:
* Only one of FOG_LIGHTS_SWITCH or FRONT_FOG_LIGHTS_SWITCH will be implemented in the car. The
* implemented property should be used to change the front fog lights state.
*
* If the car has only rear fog lights:
* Only one of FOG_LIGHTS_SWITCH or REAR_FOG_LIGHTS_SWITCH will be implemented in the car. The
* implemented property should be used to change the rear fog lights state.
*
* The property is protected by the privileged|signature permission:
* android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int FOG_LIGHTS_SWITCH = 289410578;
/**
* Hazard light switch
* The property is protected by the signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int HAZARD_LIGHTS_SWITCH = 289410579;
/**
* Cabin lights
* Requires permission: {@link Car#PERMISSION_READ_INTERIOR_LIGHTS}.
*/
@RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int CABIN_LIGHTS_STATE = 289410817;
/**
* Cabin lights switch
* Requires permission: {@link Car#PERMISSION_CONTROL_INTERIOR_LIGHTS}.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int CABIN_LIGHTS_SWITCH = 289410818;
/**
* Reading lights
* Requires permission: {@link Car#PERMISSION_READ_INTERIOR_LIGHTS}.
*/
@RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int READING_LIGHTS_STATE = 356519683;
/**
* Reading lights switch
* Requires permission: {@link Car#PERMISSION_CONTROL_INTERIOR_LIGHTS}.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int READING_LIGHTS_SWITCH = 356519684;
/**
* Steering wheel lights state.
*
* <p>Returns the current state of the steering wheel lights. This is different from {@link
* #STEERING_WHEEL_LIGHTS_SWITCH} which represents the position of the switch controlling
* the lights. Therefore, {@code STEERING_WHEEL_LIGHTS_STATE} may not match the value of
* {@link #STEERING_WHEEL_LIGHTS_SWITCH} (e.g. STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
* and STEERING_WHEEL_LIGHTS_STATE=ON).
*
* <p>This property will only be implemented if {@code STEERING_WHEEL_LIGHTS_STATE}'s value may
* be different from that of {@link #CABIN_LIGHTS_STATE}.
*
* <p>For the global area ID (0), the {@link AreaIdConfig#getSupportedEnumValues()} obtained
* from {@link CarPropertyConfig#getAreaId(int)} specifies which enum values from {@link
* VehicleLightState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_INTERIOR_LIGHTS} to read
* property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_LIGHTS_STATE = 289410828;
/**
* Steering wheel lights switch.
*
* <p>Returns the position of the switch controlling the steering wheel lights. This is
* different from {@link #STEERING_WHEEL_LIGHTS_STATE} which represents the current state of the
* steering wheel lights. Therefore, {@code STEERING_WHEEL_LIGHTS_SWITCH} may not match the
* value of {@link #STEERING_WHEEL_LIGHTS_STATE} (e.g. STEERING_WHEEL_LIGHTS_SWITCH=AUTOMATIC
* and STEERING_WHEEL_LIGHTS_STATE=ON).
*
* <p>This property will only be implemented if {@code STEERING_WHEEL_LIGHTS_SWITCH}'s value may
* be different from that of {@link #CABIN_LIGHTS_SWITCH}.
*
* <p>For the global area ID (0), the {@link AreaIdConfig#getSupportedEnumValues()} obtained
* from {@link CarPropertyConfig#getAreaId(int)} specifies which enum values from {@link
* VehicleLightSwitch} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permission:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_INTERIOR_LIGHTS} to read
* and write property.
* </ul>
*/
@RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int STEERING_WHEEL_LIGHTS_SWITCH = 289410829;
/**
* Property to get the initial settings for multi-user management (such as initial user).
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int INITIAL_USER_INFO = 299896583;
/**
* Property to switch user for multi-user management.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int SWITCH_USER = 299896584;
/**
* Property to create a new user for multi-user management.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int CREATE_USER = 299896585;
/**
* Property to remove a new user for multi-user management.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int REMOVE_USER = 299896586;
/**
* Property to get / set the user authentication types associated with an Android user.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int USER_IDENTIFICATION_ASSOCIATION = 299896587;
/**
* Property for VHAL to apply power policy.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int POWER_POLICY_REQ = 286265121;
/**
* Property for VHAL to set the default power policies per power status transition.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int POWER_POLICY_GROUP_REQ = 286265122;
/**
* Property to report a new current power policy to VHAL.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int CURRENT_POWER_POLICY = 286265123;
/**
* Property to report that car watchdog is alive.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int WATCHDOG_ALIVE = 290459441;
/**
* Property to report a process terminated by car watchdog.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int WATCHDOG_TERMINATED_PROCESS = 299896626;
/**
* Property to signal a heartbeat from VHAL.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int VHAL_HEARTBEAT = 290459443;
/**
* Property to start the ClusterUI in cluster display.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int CLUSTER_SWITCH_UI = 289410868;
/**
* Property to change the state of the cluster display.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int CLUSTER_DISPLAY_STATE = 289476405;
/**
* Property to reports the current display and ClusterUI statue.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int CLUSTER_REPORT_STATE = 299896630;
/**
* Property to request to change the cluster display state to show some ClusterUI.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int CLUSTER_REQUEST_DISPLAY = 289410871;
/**
* Property to inform the current navigation state.
*
* <p>Doesn't require permission because it's not exposed through
* {@link android.car.hardware.property.CarPropertyManager}.
*
* @hide
*/
@AddedInOrBefore(majorVersion = 33)
public static final int CLUSTER_NAVIGATION_STATE = 292556600;
/**
* Current date and time, encoded as Unix time.
*
* <p>This value denotes the number of milliseconds that have elapsed since 1/1/1970 UTC.
*/
@RequiresPermission(Car.PERMISSION_CAR_EPOCH_TIME)
@AddedInOrBefore(majorVersion = 33)
public static final int EPOCH_TIME = 290457094;
/**
* Electronic Toll Collection card type.
*
* <p>This property indicates the type of ETC(Electronic Toll Collection) card in the vehicle.
* If the head unit is aware of an ETC card attached to the vehicle, this property should
* return the type of card attached; otherwise, this property should be UNAVAILABLE. The
* property value should be one of {@link VehicleElectronicTollCollectionCardType}.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int ELECTRONIC_TOLL_COLLECTION_CARD_TYPE = 289410873;
/**
* Electronic Toll Collection card status.
*
* <p>This property indicates the status of ETC(Electronic Toll Collection) card in the
* vehicle. If the head unit is aware of an ETC card attached to the vehicle, ETC_CARD_STATUS
* gives that status of the card; otherwise, this property should be UNAVAILABLE. The property
* value should be one of {@link VehicleElectronicTollCollectionCardStatus}.
*
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission(Car.PERMISSION_CAR_INFO)
@AddedInOrBefore(majorVersion = 33)
public static final int ELECTRONIC_TOLL_COLLECTION_CARD_STATUS = 289410874;
/**
* Front fog lights state
*
* Please refer to the documentation on FOG_LIGHTS_STATE for more information.
*
* The property is protected by the privileged|signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int FRONT_FOG_LIGHTS_STATE = 289410875;
/**
* Front fog lights switch
*
* Please refer to the documentation on FOG_LIGHTS_SWITCH for more information.
*
* The property is protected by the privileged|signature permission:
* android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int FRONT_FOG_LIGHTS_SWITCH = 289410876;
/**
* Rear fog lights state
*
* Please refer to the documentation on FOG_LIGHTS_STATE for more information.
*
* The property is protected by the privileged|signature permission:
* android.car.permission.CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int REAR_FOG_LIGHTS_STATE = 289410877;
/**
* Rear fog lights switch
*
* Please refer to the documentation on FOG_LIGHTS_SWITCH for more information.
*
* The property is protected by the privileged|signature permission:
* android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
@AddedInOrBefore(majorVersion = 33)
public static final int REAR_FOG_LIGHTS_SWITCH = 289410878;
/**
* EV charge current draw limit.
*
* <p>Indicates the maximum current draw threshold for charging set by the user. configArray[0]
* contains the max current draw allowed by the vehicle in Amperes.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
* <li>Privileged|Signature permission {@link Car#PERMISSION_CONTROL_CAR_ENERGY} to write
* property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_CAR_ENERGY))
@AddedInOrBefore(majorVersion = 33)
public static final int EV_CHARGE_CURRENT_DRAW_LIMIT = 291508031;
/**
* EV charge percent limit.
*
* <p>Indicates the maximum charge percent threshold set by the user. Returns a float value
* from 0 to 100.
*
* <p>configArray is optional. If it is populated, it represents the valid charge percent limit
* values for the vehicle. Here is an example configArray:
* <ul>
* <li>configArray[0] = 20
* <li>configArray[1] = 40
* <li>configArray[2] = 60
* <li>configArray[3] = 80
* </ul>
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Float} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
* <li>Privileged|Signature permission {@link Car#PERMISSION_CONTROL_CAR_ENERGY} to write
* property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_CAR_ENERGY))
@AddedInOrBefore(majorVersion = 33)
public static final int EV_CHARGE_PERCENT_LIMIT = 291508032;
/**
* Charging state of the car.
*
* <p>Returns the current charging state of the car. See
* {@link android.car.hardware.property.EvChargeState} for possible values for
* {@code EV_CHARGE_STATE}.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>
* <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
@AddedInOrBefore(majorVersion = 33)
public static final int EV_CHARGE_STATE = 289410881;
/**
* Start or stop charging the EV battery.
*
* <p>The setting that the user wants. Setting this property to true starts the battery charging
* and setting to false stops charging.
*
* <p>Required Permissions:
* <ul>
* <li>Privileged|Signature permission {@link Car#PERMISSION_CONTROL_CAR_ENERGY} to read/write
* property.
*/
@RequiresPermission(Car.PERMISSION_CONTROL_CAR_ENERGY)
@AddedInOrBefore(majorVersion = 33)
public static final int EV_CHARGE_SWITCH = 287313730;
/**
* Estimated charge time remaining in seconds.
*
* <p>Returns 0 if the vehicle is not charging.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
@AddedInOrBefore(majorVersion = 33)
public static final int EV_CHARGE_TIME_REMAINING = 289410883;
/**
* Regenerative braking or one-pedal drive state of the car.
*
* <p>Returns the current state associated with the regenerative braking
* setting in the car. See
* {@link android.car.hardware.property.EvRegenerativeBrakingState} for possible values for
* {@code EV_REGENERATIVE_BRAKING_STATE}.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
@AddedInOrBefore(majorVersion = 33)
public static final int EV_REGENERATIVE_BRAKING_STATE = 289410884;
/**
* Vehicle’s curb weight
*
* <p>Returns the vehicle's curb weight in kilograms. configArray[0] specifies the vehicle’s
* gross weight in kilograms.
*
* <p>Required Permissions:
* <ul>
* <li>Privileged|Signature permission {@link Car#PERMISSION_PRIVILEGED_CAR_INFO} to read
* property.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_PRIVILEGED_CAR_INFO))
@AddedInOrBefore(majorVersion = 33)
public static final int VEHICLE_CURB_WEIGHT = 289410886;
/**
* Indicates if there is a trailer present or not.
*
* <p>Returns the trailer state of the car. See {@link
* android.car.hardware.property.TrailerState} for possible values for {@code TRAILER_PRESENT}.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_PRIVILEGED_CAR_INFO} to read
* property.
* <li>Property is not writable.
* </ul>
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_PRIVILEGED_CAR_INFO))
@AddedInOrBefore(majorVersion = 33)
public static final int TRAILER_PRESENT = 289410885;
/**
* EU's General security regulation compliance requirement.
*
* <p>Returns whether general security regulation compliance is required, if
* so, what type of requirement. See {@link GsrComplianceType} for possible enums.
*
* <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}.
*/
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_CAR_INFO))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.TIRAMISU_1,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int GENERAL_SAFETY_REGULATION_COMPLIANCE = 289410887;
/**
* Enable or disable automatic emergency braking (AEB).
*
* <p>Returns true if AEB is enabled and false if AEB is disabled. When AEB is enabled, the ADAS
* system in the vehicle should be turned on and monitoring to avoid potential collisions.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int AUTOMATIC_EMERGENCY_BRAKING_ENABLED = 287313920;
/**
* Automatic Emergency Braking (AEB) state.
*
* <p>Returns the current state of AEB. This property will always return a valid state defined
* in {@link android.car.hardware.property.AutomaticEmergencyBrakingState} or {@link
* android.car.hardware.property.ErrorState}.
*
* <p>If AEB includes forward collision warnings before activating the brakes, those warnings
* will be surfaced through the Forward Collision Warning (FCW) properties.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.AutomaticEmergencyBrakingState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int AUTOMATIC_EMERGENCY_BRAKING_STATE = 289411073;
/**
* Enable or disable forward collision warning (FCW).
*
* <p>Returns true if FCW is enabled and false if FCW is disabled. When FCW is enabled, the ADAS
* system in the vehicle should be turned on and monitoring for potential collisions.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int FORWARD_COLLISION_WARNING_ENABLED = 287313922;
/**
* Forward Collision Warning State (FCW) state.
*
* <p>Returns the current state of FCW. This property will always return a valid state defined
* in {@link android.car.hardware.property.ForwardCollisionWarningState} or {@link
* android.car.hardware.property.ErrorState}.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.ForwardCollisionWarningState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int FORWARD_COLLISION_WARNING_STATE = 289411075;
/**
* Enable and disable blind spot warning (BSW).
*
* <p>Returns true if BSW is enabled and false if BSW is disabled. When BSW is enabled, the ADAS
* system in the vehicle should be turned on and monitoring for objects in the vehicle’s blind
* spots.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int BLIND_SPOT_WARNING_ENABLED = 287313924;
/**
* Blind Spot Warning (BSW) state.
*
* <p>Returns the current state of BSW. This property will always return a valid state defined
* in {@link android.car.hardware.property.BlindSpotWarningState} or {@link
* android.car.hardware.property.ErrorState}.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.BlindSpotWarningState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int BLIND_SPOT_WARNING_STATE = 339742725;
/**
* Enable or disable lane departure warning (LDW).
*
* <p>Returns true if LDW is enabled and false if LDW is disabled. When LDW is enabled, the ADAS
* system in the vehicle should be turned on and monitoring if the vehicle is approaching or
* crossing lane lines, in which case a warning will be given.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int LANE_DEPARTURE_WARNING_ENABLED = 287313926;
/**
* Lane Departure Warning (LDW) state.
*
* <p>Returns the current state of LDW. This property will always return a valid state defined
* in {@link android.car.hardware.property.LaneDepartureWarningState} or {@link
* android.car.hardware.property.ErrorState}.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.LaneDepartureWarningState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int LANE_DEPARTURE_WARNING_STATE = 289411079;
/**
* Enable or disable Lane Keep Assist (LKA).
*
* <p>Returns true if LKA is enabled and false if LKA is disabled. When LKA is enabled, the ADAS
* system in the vehicle should be turned on and monitoring if the driver unintentionally drifts
* toward or over the lane marking. If an unintentional lane departure is detected, the system
* applies steering control to return the vehicle into the current lane.
*
* <p>This is different from Lane Centering Assist (LCA) which, when activated, applies
* continuous steering control to keep the vehicle centered in the current lane.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int LANE_KEEP_ASSIST_ENABLED = 287313928;
/**
* Lane Keep Assist (LKA) state.
*
* <p>Returns the current state of LKA. This property will always return a valid state defined
* in {@link android.car.hardware.property.LaneKeepAssistState} or {@link
* android.car.hardware.property.ErrorState}.
*
* <p>If LKA includes lane departure warnings before applying steering corrections, those
* warnings will be surfaced through {@link #LANE_DEPARTURE_WARNING_STATE}.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.LaneKeepAssistState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int LANE_KEEP_ASSIST_STATE = 289411081;
/**
* Enable or disable lane centering assist (LCA).
*
* <p>Returns true if LCA is enabled and false if LCA is disabled. When LCA is enabled, the ADAS
* system in the vehicle should be turned on and waiting for an activation signal from the
* driver. Once the feature is activated, the ADAS system should be steering the vehicle to keep
* it centered in its current lane.
*
* <p>This is different from Lane Keep Assist (LKA) which monitors if the driver unintentionally
* drifts toward or over the lane marking. If an unintentional lane departure is detected, the
* system applies steering control to return the vehicle into the current lane.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int LANE_CENTERING_ASSIST_ENABLED = 287313930;
/**
* Lane Centering Assist (LCA) commands.
*
* <p>Commands to activate and suspend LCA. They are only valid when {@link
* #LANE_CENTERING_ASSIST_ENABLED} = {@code true}. Otherwise, these commands will throw a {@link
* android.car.hardware.property.PropertyNotAvailableException}.
*
* <p>When the command {@link android.car.hardware.property.LaneCenteringAssistCommand#ACTIVATE}
* is sent, {@link #LANE_CENTERING_ASSIST_STATE} will be set to {@link
* android.car.hardware.property.LaneCenteringAssistState#ACTIVATION_REQUESTED}. When the
* command {@link android.car.hardware.property.LaneCenteringAssistCommand#ACTIVATE} succeeds,
* {@link #LANE_CENTERING_ASSIST_STATE} will be set to {@link
* android.car.hardware.property.LaneCenteringAssistState#ACTIVATED}. When the command {@link
* android.car.hardware.property.LaneCenteringAssistCommand#DEACTIVATE} succeeds, {@link
* #LANE_CENTERING_ASSIST_STATE} will be set to {@link
* android.car.hardware.property.LaneCenteringAssistState#ENABLED}.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which enum
* values from {@link android.car.hardware.property.LaneCenteringAssistCommand} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Property is not readable.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_STATES} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int LANE_CENTERING_ASSIST_COMMAND = 289411083;
/**
* Lane Centering Assist (LCA) state.
*
* <p>Returns the current state of LCA. This property will always return a valid state defined
* in {@link android.car.hardware.property.LaneCenteringAssistState} or {@link
* android.car.hardware.property.ErrorState}.
*
* <p>If LCA includes lane departure warnings, those warnings will be surfaced through the Lane
* Departure Warning (LDW) properties.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.LaneCenteringAssistState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int LANE_CENTERING_ASSIST_STATE = 289411084;
/**
* Enable or disable emergency lane keep assist (ELKA).
*
* <p>Return true if ELKA is enabled and false if ELKA is disabled. When ELKA is enabled, the
* ADAS system in the vehicle should be on and monitoring for unsafe lane changes by the driver.
* When an unsafe maneuver is detected, ELKA alerts the driver and applies steering corrections
* to keep the vehicle in its original lane.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int EMERGENCY_LANE_KEEP_ASSIST_ENABLED = 287313933;
/**
* Emergency Lane Keep Assist (ELKA) state.
*
* <p>Returns the current state of ELKA. Generally, this property should return a valid state
* defined in the {@link android.car.hardware.property.EmergencyLaneKeepAssistState} or {@link
* android.car.hardware.property.ErrorState}. For example, if the feature is not available due
* to some temporary state, that information should be conveyed through ErrorState.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.EmergencyLaneKeepAssistState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int EMERGENCY_LANE_KEEP_ASSIST_STATE = 289411086;
/**
* Enable or disable cruise control (CC).
*
* <p>Return true if CC is enabled and false if CC is disabled. This property is shared by all
* forms of {@link android.car.hardware.property.CruiseControlType}).
*
* <p>When CC is enabled, the ADAS system in the vehicle should be turned on and responding to
* commands.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
* property.
* <li> Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int CRUISE_CONTROL_ENABLED = 287313935;
/**
* Current type of Cruise Control (CC).
*
* <p>When {@link CRUISE_CONTROL_ENABLED} is true, this property returns the type of CC that is
* currently enabled (for example, standard CC, adaptive CC, etc.). Generally, this property
* should return a valid state defined in the {@link
* android.car.hardware.property.CruiseControlType} or {@link
* android.car.hardware.property.ErrorState}. For example, if the feature is not available due
* to some temporary state, that information should be conveyed through {@link
* android.car.hardware.property.ErrorState}.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.CruiseControlType} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* Trying to write {@link android.car.hardware.property.CruiseControlType#OTHER} or an
* ErrorState to this property will throw an {@code IllegalArgumentException}.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_STATES} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int CRUISE_CONTROL_TYPE = 289411088;
/**
* Current state of Cruise Control (CC).
*
* <p>This property returns the state of CC. Generally, this property should return a valid
* state defined in the {@link android.car.hardware.property.CruiseControlState} or {@link
* android.car.hardware.property.ErrorState}. For example, if the feature is not available due
* to some temporary state, that information should be conveyed through {@link
* android.car.hardware.property.ErrorState}.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.CruiseControlState} and {@link
* android.car.hardware.property.ErrorState} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
* property.
* <li>Property is not writable.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int CRUISE_CONTROL_STATE = 289411089;
/**
* Write Cruise Control (CC) commands.
*
* <p>See {@link android.car.hardware.property.CruiseControlCommand} for the details about
* each supported command.
*
* <p>For the global area ID (0), the {@link
* android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
* {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
* from {@link android.car.hardware.property.CruiseControlCommand} are supported.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Integer} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li>Property is not readable.
* <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_STATES} to write
* property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_STATES))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int CRUISE_CONTROL_COMMAND = 289411090;
/**
* Enable or disable hands on detection (HOD).
*
* <p>Return true if HOD is enabled and false if HOD is disabled. When HOD is enabled, a system
* inside the vehicle should be monitoring the presence of the driver's hands on the steering
* wheel and send a warning if it detects that the driver's hands are no longer on the steering
* wheel.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_READ_DRIVER_MONITORING_SETTINGS}
* to read property.
* <li> Signature|Privileged permission {@link
* Car#PERMISSION_CONTROL_DRIVER_MONITORING_SETTINGS} to write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DRIVER_MONITORING_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(
Car.PERMISSION_CONTROL_DRIVER_MONITORING_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int HANDS_ON_DETECTION_ENABLED = 287313942;
/**
* Enable or disable driver attention monitoring.
*
* <p>Return true if driver attention monitoring is enabled and false if driver attention
* monitoring is disabled. When driver attention monitoring is enabled, a system inside the
* vehicle should be monitoring the attention level of the driver and should send a warning if
* it detects that the driver is distracted.
*
* <p>This property is defined as read_write, but OEMs have the option to implement it as read
* only.
*
* <p>Property Config:
* <ul>
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
* {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
* <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
* <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
* <li>{@code Boolean} property type
* </ul>
*
* <p>Required Permissions:
* <ul>
* <li> Signature|Privileged permission {@link Car#PERMISSION_READ_DRIVER_MONITORING_SETTINGS}
* to read property.
* <li> Signature|Privileged permission {@link
* Car#PERMISSION_CONTROL_DRIVER_MONITORING_SETTINGS} to write property.
* </ul>
*
* @hide
*/
@SystemApi
@RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DRIVER_MONITORING_SETTINGS))
@RequiresPermission.Write(@RequiresPermission(
Car.PERMISSION_CONTROL_DRIVER_MONITORING_SETTINGS))
@ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
public static final int DRIVER_ATTENTION_MONITORING_ENABLED = 287313945;
/**
* @deprecated to prevent others from instantiating this class
*/
@Deprecated
@ExcludeFromCodeCoverageGeneratedReport(reason = BOILERPLATE_CODE)
public VehiclePropertyIds() {
}
/**
* Gets a user-friendly representation of a property.
*/
@AddedInOrBefore(majorVersion = 33)
public static String toString(int property) {
return CarPropertyHelper.toString(property);
}
}