• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2018 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.car;
18 
19 import static android.Manifest.permission.ACCESS_FINE_LOCATION;
20 
21 import static com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport.BOILERPLATE_CODE;
22 
23 import android.annotation.RequiresPermission;
24 import android.annotation.SystemApi;
25 import android.car.annotation.AddedInOrBefore;
26 import android.car.annotation.ApiRequirements;
27 import android.car.hardware.CarPropertyValue;
28 import android.car.hardware.property.VehicleElectronicTollCollectionCardStatus;
29 import android.car.hardware.property.VehicleElectronicTollCollectionCardType;
30 
31 import com.android.car.internal.ExcludeFromCodeCoverageGeneratedReport;
32 import com.android.car.internal.property.CarPropertyHelper;
33 
34 /**
35  * List of vehicle property IDs.
36  *
37  * <p> Property IDs are used with the {@link android.car.hardware.property.CarPropertyManager} APIs
38  * (e.g. {@link android.car.hardware.property.CarPropertyManager#getProperty(int, int)} or {@link
39  * android.car.hardware.property.CarPropertyManager#setProperty(Class, int, int, Object)}).
40  */
41 public final class VehiclePropertyIds {
42 
43     /**
44      * Undefined property.
45      *
46      * <p>This property should never be used/will never be supported.
47      */
48     @AddedInOrBefore(majorVersion = 33)
49     public static final int INVALID = 0;
50     /**
51      * VIN of vehicle
52      *
53      * <p>Property Config:
54      * <ul>
55      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
56      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
57      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
58      *  <li>{@code String} property type
59      * </ul>
60      *
61      * <p>Required Permission:
62      * <ul>
63      *  <li>Signature|Privileged permission "android.car.permission.CAR_IDENTIFICATION" to read
64      *  property.
65      *  <li>Property is not writable.
66      * </ul>
67      */
68     @RequiresPermission(Car.PERMISSION_IDENTIFICATION)
69     @AddedInOrBefore(majorVersion = 33)
70     public static final int INFO_VIN = 286261504;
71     /**
72      * Manufacturer of vehicle.
73      *
74      * <p>Property Config:
75      * <ul>
76      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
77      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
78      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
79      *  <li>{@code String} property type
80      * </ul>
81      *
82      * <p>Required Permission:
83      * <ul>
84      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
85      *  <li>Property is not writable.
86      * </ul>
87      */
88     @RequiresPermission(Car.PERMISSION_CAR_INFO)
89     @AddedInOrBefore(majorVersion = 33)
90     public static final int INFO_MAKE = 286261505;
91     /**
92      * Model of vehicle.
93      *
94      * <p>Property Config:
95      * <ul>
96      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
97      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
98      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
99      *  <li>{@code String} property type
100      * </ul>
101      *
102      * <p>Required Permission:
103      * <ul>
104      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
105      *  <li>Property is not writable.
106      * </ul>
107      */
108     @RequiresPermission(Car.PERMISSION_CAR_INFO)
109     @AddedInOrBefore(majorVersion = 33)
110     public static final int INFO_MODEL = 286261506;
111     /**
112      * Model year of vehicle.
113      *
114      * <p>Property Config:
115      * <ul>
116      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
117      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
118      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
119      *  <li>{@code Integer} property type
120      * </ul>
121      *
122      * <p>Required Permission:
123      * <ul>
124      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
125      *  <li>Property is not writable.
126      * </ul>
127      */
128     @RequiresPermission(Car.PERMISSION_CAR_INFO)
129     @AddedInOrBefore(majorVersion = 33)
130     public static final int INFO_MODEL_YEAR = 289407235;
131     /**
132      * Fuel capacity of the vehicle in milliliters.
133      *
134      * <p>Property Config:
135      * <ul>
136      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
137      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
138      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
139      *  <li>{@code Float} property type
140      * </ul>
141      *
142      * <p>Required Permission:
143      * <ul>
144      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
145      *  <li>Property is not writable.
146      * </ul>
147      */
148     @RequiresPermission(Car.PERMISSION_CAR_INFO)
149     @AddedInOrBefore(majorVersion = 33)
150     public static final int INFO_FUEL_CAPACITY = 291504388;
151     /**
152      * List the {@link FuelType}s the vehicle may use.
153      *
154      * <p>{@link FuelType#ELECTRIC} will only be included if the vehicle is plug in rechargeable.
155      * Note that for this reason, even though {@link FuelType#ELECTRIC} is not listed as a fuel
156      * type, other EV properties such as {@link #INFO_EV_BATTERY_CAPACITY} can still be supported on
157      * the vehicle.
158      *
159      * <p>For example:
160      *  <p>FHEVs (Fully Hybrid Electric Vehicles) will not include {@link FuelType#ELECTRIC} in its
161      *  {@code Integer[]} value. So {@code INFO_FUEL_TYPE} will be populated as such:
162      *  { {@link FuelType#UNLEADED} }.
163      *  <p>On the other hand, PHEVs (Partially Hybrid Electric Vehicles) are plug in rechargeable,
164      *  and hence will include {@link FuelType#ELECTRIC} in {@code INFO_FUEL_TYPE}'s {@code
165      *  Integer[]} value. So {@code INFO_FUEL_TYPE} will be populated as such:
166      *  { {@link FuelType#UNLEADED}, {@link FuelType#ELECTRIC} }.
167      *
168      * <p>Property Config:
169      * <ul>
170      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
171      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
172      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
173      *  <li>{@code Integer[]} property type
174      * </ul>
175      *
176      * <p>Required Permission:
177      * <ul>
178      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
179      *  <li>Property is not writable.
180      * </ul>
181      */
182     @RequiresPermission(Car.PERMISSION_CAR_INFO)
183     @AddedInOrBefore(majorVersion = 33)
184     public static final int INFO_FUEL_TYPE = 289472773;
185     /**
186      * Nominal battery capacity for EV or hybrid vehicle.
187      *
188      * <p>Returns the nominal battery capacity in {@link android.car.VehicleUnit#WATT_HOUR}, if EV
189      * or hybrid. This is the battery capacity when the vehicle is new. This value might be
190      * different from {@link #EV_CURRENT_BATTERY_CAPACITY} because {@link
191      * #EV_CURRENT_BATTERY_CAPACITY} returns the real-time battery capacity taking into account
192      * factors such as battery aging and temperature dependency.
193      *
194      * <p>Property Config:
195      * <ul>
196      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
197      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
198      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
199      *  <li>{@code Float} property type
200      * </ul>
201      *
202      * <p>Required Permission:
203      * <ul>
204      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
205      *  <li>Property is not writable.
206      * </ul>
207      */
208     @RequiresPermission(Car.PERMISSION_CAR_INFO)
209     @AddedInOrBefore(majorVersion = 33)
210     public static final int INFO_EV_BATTERY_CAPACITY = 291504390;
211     /**
212      * List of {@link android.car.hardware.property.EvChargingConnectorType}s this vehicle may use.
213      *
214      * <p>Property Config:
215      * <ul>
216      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
217      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
218      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
219      *  <li>{@code Integer[]} property type
220      * </ul>
221      *
222      * <p>Required Permission:
223      * <ul>
224      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
225      *  <li>Property is not writable.
226      * </ul>
227      */
228     @RequiresPermission(Car.PERMISSION_CAR_INFO)
229     @AddedInOrBefore(majorVersion = 33)
230     public static final int INFO_EV_CONNECTOR_TYPE = 289472775;
231     /**
232      * {@link PortLocationType} for the fuel door location.
233      *
234      * <p>Property Config:
235      * <ul>
236      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
237      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
238      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
239      *  <li>{@code Integer} property type
240      * </ul>
241      *
242      * <p>Required Permission:
243      * <ul>
244      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
245      *  <li>Property is not writable.
246      * </ul>
247      */
248     @RequiresPermission(Car.PERMISSION_CAR_INFO)
249     @AddedInOrBefore(majorVersion = 33)
250     public static final int INFO_FUEL_DOOR_LOCATION = 289407240;
251     /**
252      * {@link PortLocationType} for the EV port location.
253      *
254      * <p>Property Config:
255      * <ul>
256      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
257      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
258      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
259      *  <li>{@code Integer} property type
260      * </ul>
261      *
262      * <p>Required Permission:
263      * <ul>
264      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
265      *  <li>Property is not writable.
266      * </ul>
267      */
268     @RequiresPermission(Car.PERMISSION_CAR_INFO)
269     @AddedInOrBefore(majorVersion = 33)
270     public static final int INFO_EV_PORT_LOCATION = 289407241;
271     /**
272      * List {@link PortLocationType}s for Multiple EV port locations.
273      *
274      * <p>Property Config:
275      * <ul>
276      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
277      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
278      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
279      *  <li>{@code Integer[]} property type
280      * </ul>
281      *
282      * <p>Required Permission:
283      * <ul>
284      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
285      *  <li>Property is not writable.
286      * </ul>
287      */
288     @RequiresPermission(Car.PERMISSION_CAR_INFO)
289     @AddedInOrBefore(majorVersion = 33)
290     public static final int INFO_MULTI_EV_PORT_LOCATIONS = 289472780;
291     /**
292      * Driver's seat location.
293      *
294      * <p>The only area ID listed in {@link android.car.hardware.CarPropertyConfig#getAreaIds} for
295      * {@code INFO_DRIVER_SEAT} will be {@code 0}.
296      *
297      * <p>Property Config:
298      * <ul>
299      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
300      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
301      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
302      *  <li>{@code Integer} property type
303      * </ul>
304      *
305      * <p>Required Permission:
306      * <ul>
307      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
308      *  <li>Property is not writable.
309      * </ul>
310      */
311     @RequiresPermission(Car.PERMISSION_CAR_INFO)
312     @AddedInOrBefore(majorVersion = 33)
313     public static final int INFO_DRIVER_SEAT = 356516106;
314     /**
315      * Vehicle's exterior dimensions in millimeters.
316      *
317      * <p>Property Config:
318      * <ul>
319      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
320      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
321      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
322      *  <li>{@code Integer[]} property type
323      * </ul>
324      *
325      * <p>Exterior dimensions defined in the {@link CarPropertyValue#getValue()} {@code Integer[]}:
326      * <ul>
327      *  <li>Integer[0] = height
328      *  <li>Integer[1] = length
329      *  <li>Integer[2] = width
330      *  <li>Integer[3] = width including mirrors
331      *  <li>Integer[4] = wheel base
332      *  <li>Integer[5] = track width front
333      *  <li>Integer[6] = track width rear
334      *  <li>Integer[7] = curb to curb turning radius
335      * </ul>
336      *
337      * <p>Required Permission:
338      * <ul>
339      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
340      *  <li>Property is not writable.
341      * </ul>
342      */
343     @RequiresPermission(Car.PERMISSION_CAR_INFO)
344     @AddedInOrBefore(majorVersion = 33)
345     public static final int INFO_EXTERIOR_DIMENSIONS = 289472779;
346     /**
347      * Current odometer value of the vehicle in kilometers.
348      *
349      * <p>Property Config:
350      * <ul>
351      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
352      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
353      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
354      *  <li>{@code Float} property type
355      * </ul>
356      *
357      * <p>Required Permission:
358      * <ul>
359      *  <li>Signature|Privileged permission "android.car.permission.CAR_MILEAGE" to read property.
360      *  <li>Property is not writable.
361      * </ul>
362      */
363     @RequiresPermission(Car.PERMISSION_MILEAGE)
364     @AddedInOrBefore(majorVersion = 33)
365     public static final int PERF_ODOMETER = 291504644;
366     /**
367      * Speed of the vehicle in meters per second.
368      *
369      * <p>Property Config:
370      * <ul>
371      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
372      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
373      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
374      *  <li>{@code Float} property type
375      * </ul>
376      *
377      * <p>When the vehicle is moving forward, {@code PERF_VEHICLE_SPEED} is positive and negative
378      * when the vehicle is moving backward. Also, this value is independent of gear value ({@link
379      * #CURRENT_GEAR} or {@link #GEAR_SELECTION}). For example, if {@link #GEAR_SELECTION} is
380      * {@link VehicleGear#GEAR_NEUTRAL}, {@code PERF_VEHICLE_SPEED} is positive when the vehicle is
381      * moving forward, negative when moving backward, and zero when not moving.
382      *
383      * <p>Required Permission:
384      * <ul>
385      *  <li>Dangerous permission {@link Car#PERMISSION_SPEED} to read property.
386      *  <li>Property is not writable.
387      * </ul>
388      */
389     @RequiresPermission(Car.PERMISSION_SPEED)
390     @AddedInOrBefore(majorVersion = 33)
391     public static final int PERF_VEHICLE_SPEED = 291504647;
392     /**
393      * Speed of the vehicle in meters per second for displays.
394      *
395      * <p>Property Config:
396      * <ul>
397      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
398      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
399      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
400      *  <li>{@code Float} property type
401      * </ul>
402      *
403      * <p>Some cars display a slightly slower speed than the actual speed. This is
404      * usually displayed on the speedometer.
405      *
406      * <p>Required Permission:
407      * <ul>
408      *  <li>Dangerous permission {@link Car#PERMISSION_SPEED} to read property.
409      *  <li>Property is not writable.
410      * </ul>
411      */
412     @RequiresPermission(Car.PERMISSION_SPEED)
413     @AddedInOrBefore(majorVersion = 33)
414     public static final int PERF_VEHICLE_SPEED_DISPLAY = 291504648;
415     /**
416      * Front bicycle model steering angle for vehicle in degrees.
417      *
418      * <p>Left is negative.
419      *
420      * <p>Property Config:
421      * <ul>
422      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
423      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
424      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
425      *  <li>{@code Float} property type
426      * </ul>
427      *
428      * <p>Required Permission:
429      * <ul>
430      *  <li>Signature|Privileged permission "android.car.permission.READ_CAR_STEERING" to read
431      *  property.
432      *  <li>Property is not writable.
433      * </ul>
434      */
435     @RequiresPermission(Car.PERMISSION_READ_STEERING_STATE)
436     @AddedInOrBefore(majorVersion = 33)
437     public static final int PERF_STEERING_ANGLE = 291504649;
438     /**
439      * Rear bicycle model steering angle for vehicle in degrees.
440      *
441      * <p>Left is negative.
442      *
443      * <p>Property Config:
444      * <ul>
445      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
446      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
447      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
448      *  <li>{@code Float} property type
449      * </ul>
450      *
451      * <p>Required Permission:
452      * <ul>
453      *  <li>Signature|Privileged permission "android.car.permission.READ_CAR_STEERING" to read
454      *  property.
455      *  <li>Property is not writable.
456      * </ul>
457      */
458     @RequiresPermission(Car.PERMISSION_READ_STEERING_STATE)
459     @AddedInOrBefore(majorVersion = 33)
460     public static final int PERF_REAR_STEERING_ANGLE = 291504656;
461     /**
462      * Temperature of engine coolant in celsius.
463      *
464      * <p>Property Config:
465      * <ul>
466      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
467      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
468      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
469      *  <li>{@code Float} property type
470      * </ul>
471      *
472      * <p>Required Permission:
473      * <ul>
474      *  <li>Signature|Privileged permission "android.car.permission.CAR_ENGINE_DETAILED" to read
475      *  property.
476      *  <li>Property is not writable.
477      * </ul>
478      */
479     @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
480     @AddedInOrBefore(majorVersion = 33)
481     public static final int ENGINE_COOLANT_TEMP = 291504897;
482     /**
483      * Engine oil level.
484      *
485      * <p>Returns the status of the oil level for the vehicle. See {@code VehicleOilLevel} for
486      * possible values for {@code ENGINE_OIL_LEVEL}.
487      *
488      * <p>Property Config:
489      * <ul>
490      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
491      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
492      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
493      *  <li>{@code Integer} property type
494      * </ul>
495      *
496      * <p>Required Permission:
497      * <ul>
498      *  <li>Signature|Privileged permission "android.car.permission.CAR_ENGINE_DETAILED" to read
499      *  property.
500      *  <li>Property is not writable.
501      * </ul>
502      */
503     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED))
504     @AddedInOrBefore(majorVersion = 33)
505     public static final int ENGINE_OIL_LEVEL = 289407747;
506     /**
507      * Temperature of engine oil in celsius.
508      *
509      * <p>Property Config:
510      * <ul>
511      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
512      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
513      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
514      *  <li>{@code Float} property type
515      * </ul>
516      *
517      * <p>Required Permission:
518      * <ul>
519      *  <li>Signature|Privileged permission "android.car.permission.CAR_ENGINE_DETAILED" to read
520      *  property.
521      *  <li>Property is not writable.
522      * </ul>
523      */
524     @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
525     @AddedInOrBefore(majorVersion = 33)
526     public static final int ENGINE_OIL_TEMP = 291504900;
527     /**
528      * Engine rpm.
529      *
530      * <p>Property Config:
531      * <ul>
532      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
533      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
534      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
535      *  <li>{@code Float} property type
536      * </ul>
537      *
538      * <p>Required Permission:
539      * <ul>
540      *  <li>Signature|Privileged permission "android.car.permission.CAR_ENGINE_DETAILED" to read
541      *  property.
542      *  <li>Property is not writable.
543      * </ul>
544      */
545     @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
546     @AddedInOrBefore(majorVersion = 33)
547     public static final int ENGINE_RPM = 291504901;
548     /**
549      * Represents feature for engine idle automatic stop.
550      *
551      * <p>If true, the vehicle may automatically shut off the engine when it is not needed and then
552      * automatically restart it when needed.
553      *
554      * <p>Property Config:
555      * <ul>
556      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
557      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
558      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
559      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
560      *  <li>{@code Boolean} property type
561      * </ul>
562      *
563      * <p>Required Permission:
564      * <ul>
565      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CAR_ENGINE_DETAILED} to read and
566      *  write property.
567      * </ul>
568      *
569      * @hide
570      */
571     @SystemApi
572     @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED)
573     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
574             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
575     public static final int ENGINE_IDLE_AUTO_STOP_ENABLED = 287310624;
576     /**
577      * Reports wheel ticks.
578      *
579      * <p>Property Config:
580      * <ul>
581      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
582      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
583      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
584      *  <li>{@code Long[]} property type
585      * </ul>
586      *
587      * <p>The first element in the array is a reset count.  A reset indicates
588      * previous tick counts are not comparable with this and future ones.  Some
589      * sort of discontinuity in tick counting has occurred.
590      *
591      * <p>The next four elements represent ticks for individual wheels in the
592      * following order: front left, front right, rear right, rear left.  All
593      * tick counts are cumulative.  Tick counts increment when the vehicle
594      * moves forward, and decrement when vehicles moves in reverse.  The ticks
595      * should be reset to 0 when the vehicle is started by the user.
596      *
597      * <ul>
598      *  <li>Long[0] = reset count
599      *  <li>Long[1] = front left ticks
600      *  <li>Long[2] = front right ticks
601      *  <li>Long[3] = rear right ticks
602      *  <li>Long[4] = rear left ticks
603      * </ul>
604      *
605      * <p>configArray is used to indicate the micrometers-per-wheel-tick values and
606      * which wheels are supported. Each micrometers-per-wheel-tick value is static (i.e. will not
607      * update based on wheel's status) and a best approximation. For example, if a vehicle has
608      * multiple rim/tire size options, the micrometers-per-wheel-tick values are set to those for
609      * the typically expected rim/tire size. configArray is set as follows:
610      *
611      * <ul>
612      *  <li>configArray[0], bits [0:3] = supported wheels. Uses {@link VehicleAreaWheel}. For
613      *  example, if all wheels are supported, then configArray[0] = {@link
614      *  VehicleAreaWheel#WHEEL_LEFT_FRONT} | {@link VehicleAreaWheel#WHEEL_RIGHT_FRONT} | {@link
615      *  VehicleAreaWheel#WHEEL_LEFT_REAR} | {@link VehicleAreaWheel#WHEEL_RIGHT_REAR}
616      *  <li>configArray[1] = micrometers per front left wheel tick
617      *  <li>configArray[2] = micrometers per front right wheel tick
618      *  <li>configArray[3] = micrometers per rear right wheel tick
619      *  <li>configArray[4] = micrometers per rear left wheel tick
620      * </ul>
621      *
622      * <p>NOTE:  If a wheel is not supported, its value is always 0.
623      *
624      * <p>Required Permission:
625      * <ul>
626      *  <li>Dangerous permission {@link Car#PERMISSION_SPEED} to read property.
627      *  <li>Property is not writable.
628      * </ul>
629      */
630     @RequiresPermission(Car.PERMISSION_SPEED)
631     @AddedInOrBefore(majorVersion = 33)
632     public static final int WHEEL_TICK = 290521862;
633     /**
634      * Fuel remaining in the vehicle in milliliters.
635      *
636      * <p>Property Config:
637      * <ul>
638      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
639      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
640      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
641      *  <li>{@code Float} property type
642      * </ul>
643      *
644      * <p>Required Permission:
645      * <ul>
646      *  <li>Dangerous permission {@link Car#PERMISSION_SPEED} to read property.
647      *  <li>Property is not writable.
648      * </ul>
649      */
650     @RequiresPermission(Car.PERMISSION_ENERGY)
651     @AddedInOrBefore(majorVersion = 33)
652     public static final int FUEL_LEVEL = 291504903;
653     /**
654      * Fuel door open.
655      *
656      * <p>Property Config:
657      * <ul>
658      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
659      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
660      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
661      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
662      *  <li>{@code Boolean} property type
663      * </ul>
664      *
665      * <p>Required Permissions:
666      * <ul>
667      *  <li>Normal permission {@link Car#PERMISSION_ENERGY_PORTS} to read property.
668      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_ENERGY_PORTS" to
669      *  write property.
670      * </ul>
671      */
672     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY_PORTS))
673     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ENERGY_PORTS))
674     @AddedInOrBefore(majorVersion = 33)
675     public static final int FUEL_DOOR_OPEN = 287310600;
676     /**
677      * EV battery level.
678      *
679      * <p>Returns the current battery level in {@link android.car.VehicleUnit#WATT_HOUR}, if EV or
680      * hybrid. This value will not exceed {@link #EV_CURRENT_BATTERY_CAPACITY}. To calculate the
681      * battery percentage, use:
682      * ({@link #EV_BATTERY_LEVEL}/{@link #EV_CURRENT_BATTERY_CAPACITY})*100.
683      *
684      * <p>Property Config:
685      * <ul>
686      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
687      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
688      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
689      *  <li>{@code Float} property type
690      * </ul>
691      *
692      * <p>Required Permission:
693      * <ul>
694      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
695      *  <li>Property is not writable.
696      * </ul>
697      */
698     @RequiresPermission(Car.PERMISSION_ENERGY)
699     @AddedInOrBefore(majorVersion = 33)
700     public static final int EV_BATTERY_LEVEL = 291504905;
701     /**
702      * Current battery capacity for EV or hybrid vehicle.
703      *
704      * <p>Returns the actual value of battery capacity in {@link android.car.VehicleUnit#WATT_HOUR},
705      * if EV or hybrid. This property captures the real-time battery capacity taking into account
706      * factors such as battery aging and temperature dependency. Therefore, this value might be
707      * different from {@link #INFO_EV_BATTERY_CAPACITY} because {@link #INFO_EV_BATTERY_CAPACITY}
708      * returns the nominal battery capacity from when the vehicle was new.
709      *
710      * <p>Property Config:
711      * <ul>
712      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
713      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
714      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
715      *  <li>{@code Float} property type
716      * </ul>
717      *
718      * <p>Required Permission:
719      * <ul>
720      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
721      *  <li>Property is not writable.
722      * </ul>
723      */
724     @RequiresPermission(Car.PERMISSION_ENERGY)
725     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
726              minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
727     public static final int EV_CURRENT_BATTERY_CAPACITY = 291504909;
728     /**
729      * EV charge port open.
730      *
731      * <p>Property Config:
732      * <ul>
733      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
734      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
735      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
736      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
737      *  <li>{@code Boolean} property type
738      * </ul>
739      *
740      * <p>Required Permissions:
741      * <ul>
742      *  <li>Normal permission {@link Car#PERMISSION_ENERGY_PORTS} to read property.
743      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_ENERGY_PORTS" to
744      *  write property.
745      * </ul>
746      */
747     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY_PORTS))
748     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ENERGY_PORTS))
749     @AddedInOrBefore(majorVersion = 33)
750     public static final int EV_CHARGE_PORT_OPEN = 287310602;
751     /**
752      * EV charge port connected.
753      *
754      * <p>Property Config:
755      * <ul>
756      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
757      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
758      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
759      *  <li>{@code Boolean} property type
760      * </ul>
761      *
762      * <p>Required Permission:
763      * <ul>
764      *  <li>Normal permission {@link Car#PERMISSION_ENERGY_PORTS} to read property.
765      *  <li>Property is not writable.
766      * </ul>
767      */
768     @RequiresPermission(Car.PERMISSION_ENERGY_PORTS)
769     @AddedInOrBefore(majorVersion = 33)
770     public static final int EV_CHARGE_PORT_CONNECTED = 287310603;
771     /**
772      * EV instantaneous charge rate in milliwatts.
773      *
774      * <p>Positive rate indicates battery is being charged, and Negative rate indicates battery
775      * being discharged.
776      *
777      * <p>Property Config:
778      * <ul>
779      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
780      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
781      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
782      *  <li>{@code Float} property type
783      * </ul>
784      *
785      * <p>Required Permission:
786      * <ul>
787      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
788      *  <li>Property is not writable.
789      * </ul>
790      */
791     @RequiresPermission(Car.PERMISSION_ENERGY)
792     @AddedInOrBefore(majorVersion = 33)
793     public static final int EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 291504908;
794     /**
795      * Range remaining in meters.
796      *
797      * <p>Range remaining accounts for all energy sources in a vehicle.  For example, a hybrid car's
798      * range will be the sum of the ranges based on fuel and battery.
799      *
800      * <p>Property Config:
801      * <ul>
802      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
803      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
804      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
805      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
806      *  <li>{@code Float} property type
807      * </ul>
808      *
809      * <p>Required Permissions:
810      * <ul>
811      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
812      *  <li>Signature|Privileged permission "android.car.permission.ADJUST_RANGE_REMAINING" to write
813      *  property.
814      * </ul>
815      */
816     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
817     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_ADJUST_RANGE_REMAINING))
818     @AddedInOrBefore(majorVersion = 33)
819     public static final int RANGE_REMAINING = 291504904;
820     /**
821      * Tire pressure in kilopascals.
822      *
823      * <p>For each area ID listed in {@link android.car.hardware.CarPropertyConfig#getAreaIds}, the
824      * corresponding {@link android.car.hardware.property.AreaIdConfig#getMinValue()} and {@link
825      * android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the OEM recommended tire
826      * pressure range for that tire.
827      *
828      * <p>Property Config:
829      * <ul>
830      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
831      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WHEEL}
832      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
833      *  <li>{@code Float} property type
834      * </ul>
835      *
836      * <p>Required Permission:
837      * <ul>
838      *  <li>Signature|Privileged permission "android.car.permission.CAR_TIRES" to read property.
839      *  <li>Property is not writable.
840      * </ul>
841      */
842     @RequiresPermission(Car.PERMISSION_TIRES)
843     @AddedInOrBefore(majorVersion = 33)
844     public static final int TIRE_PRESSURE = 392168201;
845     /**
846      * Critically low tire pressure.
847      *
848      * <p>For each area ID listed in {@link android.car.hardware.CarPropertyConfig#getAreaIds}, the
849      * corresponding {@code CRITICALLY_LOW_TIRE_PRESSURE} will be less than or equal the {@link
850      * android.car.hardware.property.AreaIdConfig#getMinValue()} of {@link #TIRE_PRESSURE} for the
851      * same area ID.
852      *
853      * <p>Property Config:
854      * <ul>
855      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
856      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WHEEL}
857      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
858      *  <li>{@code Float} property type
859      * </ul>
860      *
861      * <p>Required Permission:
862      * <ul>
863      *  <li>Signature|Privileged permission "android.car.permission.CAR_TIRES" to read property.
864      *  <li>Property is not writable.
865      * </ul>
866      */
867     @RequiresPermission(Car.PERMISSION_TIRES)
868     @AddedInOrBefore(majorVersion = 33)
869     public static final int CRITICALLY_LOW_TIRE_PRESSURE = 392168202;
870     /**
871      * Currently selected gear by user.
872      *
873      * <p>Property Config:
874      * <ul>
875      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
876      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
877      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
878      *  <li>{@code Integer} property type
879      * </ul>
880      *
881      * <p> See {@link VehicleGear} for gear value enum.
882      *
883      * <p>configArray represents the list of supported gears for the vehicle. For example,
884      * configArray for an EV vehicle is set as follows:
885      *
886      * <ul>
887      *  <li>configArray[0] = {@link VehicleGear#GEAR_REVERSE}
888      *  <li>configArray[1] = {@link VehicleGear#GEAR_PARK}
889      *  <li>configArray[2] = {@link VehicleGear#GEAR_DRIVE}
890      * </ul>
891      *
892      * <p>Example automatic transmission configArray:
893      *
894      * <ul>
895      *  <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
896      *  <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
897      *  <li>configArray[2] = {@link VehicleGear#GEAR_PARK}
898      *  <li>configArray[3] = {@link VehicleGear#GEAR_DRIVE}
899      *  <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
900      *  <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
901      *  <li>...
902      * </ul>
903      *
904      * <p>Example manual transmission configArray:
905      *
906      * <ul>
907      *  <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
908      *  <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
909      *  <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
910      *  <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
911      *  <li>...
912      * </ul>
913      *
914      * <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}.
915      */
916     @RequiresPermission(Car.PERMISSION_POWERTRAIN)
917     @AddedInOrBefore(majorVersion = 33)
918     public static final int GEAR_SELECTION = 289408000;
919     /**
920      * Vehicle transmission's current {@link VehicleGear}.
921      *
922      * <p>Property Config:
923      * <ul>
924      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
925      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
926      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
927      *  <li>{@code Integer} property type
928      * </ul>
929      *
930      * <p>{@code CURRENT_GEAR}'s value may not match that of {@link
931      * VehiclePropertyIds#GEAR_SELECTION}. For example, if the {@link
932      * VehiclePropertyIds#GEAR_SELECTION} is {@link VehicleGear#GEAR_DRIVE} in a vehicle with an
933      * automatic transmission, the {@code CURRENT_GEAR} will be one of {@link
934      * VehicleGear#GEAR_FIRST}, {@link VehicleGear#GEAR_SECOND}, etc, which reflects the actual gear
935      * the transmission is currently running in.
936      *
937      * <p>configArray represents the list of supported {@link VehicleGear}s for {@code
938      * CURRENT_GEAR}. For example, the configArray for an EV vehicle is set as follows:
939      *
940      * <ul>
941      *  <li>configArray[0] = {@link VehicleGear#GEAR_REVERSE}
942      *  <li>configArray[1] = {@link VehicleGear#GEAR_PARK}
943      *  <li>configArray[2] = {@link VehicleGear#GEAR_DRIVE}
944      * </ul>
945      *
946      * <p>Example automatic transmission configArray:
947      *
948      * <ul>
949      *  <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
950      *  <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
951      *  <li>configArray[2] = {@link VehicleGear#GEAR_PARK}
952      *  <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
953      *  <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
954      *  <li>...
955      * </ul>
956      *
957      * <p>Example manual transmission configArray:
958      *
959      * <ul>
960      *  <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL}
961      *  <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE}
962      *  <li>configArray[4] = {@link VehicleGear#GEAR_FIRST}
963      *  <li>configArray[5] = {@link VehicleGear#GEAR_SECOND}
964      *  <li>...
965      * </ul>
966      *
967      * <p>Required Permission:
968      * <ul>
969      *  <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
970      *  <li>Property is not writable.
971      * </ul>
972      */
973     @RequiresPermission(Car.PERMISSION_POWERTRAIN)
974     @AddedInOrBefore(majorVersion = 33)
975     public static final int CURRENT_GEAR = 289408001;
976     /**
977      * Parking brake state.
978      *
979      * <p>{@code PARKING_BRAKE_ON} is true indicates that the car's parking brake is currently
980      * engaged. False implies that the car's parking brake is currently disengaged.
981      *
982      * <p>Property Config:
983      * <ul>
984      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
985      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
986      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
987      *  <li>{@code Boolean} property type
988      * </ul>
989      *
990      * <p>Required Permission:
991      * <ul>
992      *  <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
993      *  <li>Property is not writable.
994      * </ul>
995      */
996     @RequiresPermission(Car.PERMISSION_POWERTRAIN)
997     @AddedInOrBefore(majorVersion = 33)
998     public static final int PARKING_BRAKE_ON = 287310850;
999     /**
1000      * Auto-apply parking brake.
1001      *
1002      * <p>{@code PARKING_BRAKE_AUTO_APPLY} is true indicates that the car's automatic parking brake
1003      * feature is currently enabled. False indicates that the car's automatic parking brake feature
1004      * is currently disabled.
1005      *
1006      * <p>This property is often confused with {@link #PARKING_BRAKE_ON}. The difference is that
1007      * {@link #PARKING_BRAKE_ON} describes whether the actual parking brake is currently on/off,
1008      * whereas {@code PARKING_BRAKE_AUTO_APPLY} describes whether the feature of automatic parking
1009      * brake is enabled/disabled, and does not describe the current state of the actual parking
1010      * brake.
1011      *
1012      * <p>Property Config:
1013      * <ul>
1014      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1015      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1016      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1017      *  <li>{@code Boolean} property type
1018      * </ul>
1019      *
1020      * <p>Required Permission:
1021      * <ul>
1022      *  <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
1023      *  <li>Property is not writable.
1024      * </ul>
1025      */
1026     @RequiresPermission(Car.PERMISSION_POWERTRAIN)
1027     @AddedInOrBefore(majorVersion = 33)
1028     public static final int PARKING_BRAKE_AUTO_APPLY = 287310851;
1029     /**
1030      * Regenerative braking level of a electronic vehicle.
1031      *
1032      * <p>Returns the current regenerative braking level. Larger values mean more energy regenerated
1033      * from braking while smaller values mean less energy regenerated from braking. 0 means no
1034      * regenerative braking. See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()}
1035      * and {@link android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of
1036      * possible values.
1037      *
1038      * <p>Property Config:
1039      * <ul>
1040      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1041      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1042      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1043      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1044      *  <li>{@code Integer} property type
1045      * </ul>
1046      *
1047      * <p>Required Permissions:
1048      * <ul>
1049      *  <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
1050      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_POWERTRAIN" to write
1051      *  property.
1052      * </ul>
1053      */
1054     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_POWERTRAIN))
1055     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_POWERTRAIN))
1056     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
1057              minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
1058     public static final int EV_BRAKE_REGENERATION_LEVEL = 289408012;
1059     /**
1060      * Represents property for the current stopping mode of the vehicle.
1061      *
1062      * <p>For the global area ID, the {@link
1063      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} obtained from {@link
1064      * android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which enum values from
1065      * {@code EvStoppingMode} are supported. {@code EvStoppingMode} may be extended to include more
1066      * states in the future.
1067      *
1068      * <p>Property Config:
1069      * <ul>
1070      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1071      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1072      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1073      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1074      *  <li>{@code Integer} property type
1075      * </ul>
1076      *
1077      * <p>Required Permissions:
1078      * <ul>
1079      *  <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
1080      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_POWERTRAIN" to write
1081      *  property.
1082      * </ul>
1083      */
1084     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_POWERTRAIN))
1085     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_POWERTRAIN))
1086     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
1087             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
1088     public static final int EV_STOPPING_MODE = 289408013;
1089     /**
1090      * Warning for fuel low level.
1091      *
1092      * <p>{@code FUEL_LEVEL_LOW} corresponds to the low fuel warning on the dashboard. Once {@code
1093      * FUEL_LEVEL_LOW} is set, it should not be cleared until more fuel is added to the vehicle.
1094      * This property may take into account all fuel sources for a vehicle - for example:
1095      * <ul>
1096      *  <li>For a gas powered vehicle, this property is based solely on gas level.
1097      *  <li>For a battery powered vehicle, this property is based solely on battery level.
1098      *  <li>For a hybrid vehicle, this property may be based on the combination of gas and
1099      *  battery levels, at the OEM's discretion.
1100      * </ul>
1101      *
1102      * <p>Property Config:
1103      * <ul>
1104      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1105      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1106      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1107      *  <li>{@code Boolean} property type
1108      * </ul>
1109      *
1110      * <p>Required Permission:
1111      * <ul>
1112      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
1113      *  <li>Property is not writable.
1114      * </ul>
1115      */
1116     @RequiresPermission(Car.PERMISSION_ENERGY)
1117     @AddedInOrBefore(majorVersion = 33)
1118     public static final int FUEL_LEVEL_LOW = 287310853;
1119     /**
1120      * Night mode.
1121      *
1122      * <p>Property Config:
1123      * <ul>
1124      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1125      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1126      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1127      *  <li>{@code Boolean} property type
1128      * </ul>
1129      *
1130      * <p>True indicates that the night mode sensor has detected that the car cabin environment has
1131      * low light.
1132      *
1133      * <p>Required Permission:
1134      * <ul>
1135      *  <li>Normal permission {@link Car#PERMISSION_EXTERIOR_ENVIRONMENT} to read property.
1136      *  <li>Property is not writable.
1137      * </ul>
1138      */
1139     @RequiresPermission(Car.PERMISSION_EXTERIOR_ENVIRONMENT)
1140     @AddedInOrBefore(majorVersion = 33)
1141     public static final int NIGHT_MODE = 287310855;
1142     /**
1143      * State of the vehicles turn signals
1144      *
1145      * <p>See {@code VehicleTurnSignal} for possible values for {@code TURN_SIGNAL_STATE}.
1146      *
1147      * <p>Property Config:
1148      * <ul>
1149      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1150      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1151      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1152      *  <li>{@code Integer} property type
1153      * </ul>
1154      *
1155      * <p>Required Permission:
1156      * <ul>
1157      *  <li>Signature|Privileged permission "android.car.permission.CAR_EXTERIOR_LIGHTS" to read
1158      *  property.
1159      *  <li>Property is not writable.
1160      * </ul>
1161      */
1162     @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
1163     @AddedInOrBefore(majorVersion = 33)
1164     public static final int TURN_SIGNAL_STATE = 289408008;
1165     /**
1166      * Vehicle's ignition state.
1167      *
1168      * <p>See {@link VehicleIgnitionState} for possible values for {@code IGNITION_STATE}.
1169      *
1170      * <p>Property Config:
1171      * <ul>
1172      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1173      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1174      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1175      *  <li>{@code Integer} property type
1176      * </ul>
1177      *
1178      * <p>Required Permission:
1179      * <ul>
1180      *  <li>Normal permission {@link Car#PERMISSION_POWERTRAIN} to read property.
1181      *  <li>Property is not writable.
1182      * </ul>
1183      */
1184     @RequiresPermission(Car.PERMISSION_POWERTRAIN)
1185     @AddedInOrBefore(majorVersion = 33)
1186     public static final int IGNITION_STATE = 289408009;
1187     /**
1188      * ABS is active.
1189      *
1190      * <p>Property Config:
1191      * <ul>
1192      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1193      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1194      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1195      *  <li>{@code Boolean} property type
1196      * </ul>
1197      *
1198      * <p>Required Permission:
1199      * <ul>
1200      *  <li>Signature|Privileged permission "android.car.permission.CAR_DYNAMICS_STATE" to read
1201      *  property.
1202      *  <li>Property is not writable.
1203      * </ul>
1204      */
1205     @RequiresPermission(Car.PERMISSION_CAR_DYNAMICS_STATE)
1206     @AddedInOrBefore(majorVersion = 33)
1207     public static final int ABS_ACTIVE = 287310858;
1208     /**
1209      * Traction Control is active.
1210      *
1211      * <p>Property Config:
1212      * <ul>
1213      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1214      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1215      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1216      *  <li>{@code Boolean} property type
1217      * </ul>
1218      *
1219      * <p>Required Permission:
1220      * <ul>
1221      *  <li>Signature|Privileged permission "android.car.permission.CAR_DYNAMICS_STATE" to read
1222      *  property.
1223      *  <li>Property is not writable.
1224      * </ul>
1225      */
1226     @RequiresPermission(Car.PERMISSION_CAR_DYNAMICS_STATE)
1227     @AddedInOrBefore(majorVersion = 33)
1228     public static final int TRACTION_CONTROL_ACTIVE = 287310859;
1229     /**
1230      * Fan speed setting.
1231      *
1232      * <p>Property Config:
1233      * <ul>
1234      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1235      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1236      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1237      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1238      *  <li>{@code Integer} property type
1239      * </ul>
1240      *
1241      * <p>Required Permission:
1242      * <ul>
1243      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1244      *  and write property.
1245      * </ul>
1246      */
1247     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1248     @AddedInOrBefore(majorVersion = 33)
1249     public static final int HVAC_FAN_SPEED = 356517120;
1250     /**
1251      * Fan direction setting.
1252      *
1253      * <p>Property Config:
1254      * <ul>
1255      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1256      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1257      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1258      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1259      *  <li>{@code Integer} property type
1260      * </ul>
1261      *
1262      * <p>Required Permission:
1263      * <ul>
1264      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1265      *  and write property.
1266      * </ul>
1267      */
1268     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1269     @AddedInOrBefore(majorVersion = 33)
1270     public static final int HVAC_FAN_DIRECTION = 356517121;
1271     /**
1272      * HVAC current temperature in celsius.
1273      *
1274      * <p>Property Config:
1275      * <ul>
1276      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1277      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1278      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1279      *  <li>{@code Float} property type
1280      * </ul>
1281      *
1282      * <p>Required Permission:
1283      * <ul>
1284      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1285      *  property.
1286      *  <li>Property is not writable.
1287      * </ul>
1288      */
1289     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1290     @AddedInOrBefore(majorVersion = 33)
1291     public static final int HVAC_TEMPERATURE_CURRENT = 358614274;
1292     /**
1293      * HVAC, target temperature set.
1294      *
1295      * <p>The {@code configArray} is used to indicate the valid values for HVAC in Fahrenheit and
1296      * Celsius. Android might use it in the HVAC app UI.
1297      *
1298      * <p>The {@code configArray} is set as follows:
1299      * <ul>
1300      *      <li>{@code configArray[0]} is [the lower bound of the supported temperature in Celsius]
1301      *      * 10.
1302      *      <li>{@code configArray[1]} is [the upper bound of the supported temperature in Celsius]
1303      *      * 10.
1304      *      <li>{@code configArray[2]} is [the increment in Celsius] * 10.
1305      *      <li>{@code configArray[3]} is
1306      *      [the lower bound of the supported temperature in Fahrenheit] * 10.
1307      *      <li>{@code configArray[4]} is
1308      *      [the upper bound of the supported temperature in Fahrenheit] * 10.
1309      *      <li>{@code configArray[5]} is [the increment in Fahrenheit] * 10.
1310      * </ul>
1311      *
1312      * <p>For example, if the vehicle supports temperature values as:
1313      * <pre>
1314      * [16.0, 16.5, 17.0 ,..., 28.0] in Celsius
1315      * [60.5, 61.5, 62.5 ,..., 85.5] in Fahrenheit
1316      * </pre>
1317      *
1318      * <p>The {@code configArray} should be:
1319      * <pre>
1320      * configArray = {160, 280, 5, 605, 855, 10}.
1321      * </pre>
1322      *
1323      * <p>If the vehicle supports {@link VehiclePropertyIds#HVAC_TEMPERATURE_VALUE_SUGGESTION},
1324      * the application can use that property to get the suggested value before setting
1325      * {@code HVAC_TEMPERATURE_SET}. Otherwise, the application may choose the
1326      * value in {@code configArray} of {@code HVAC_TEMPERATURE_SET} by itself.
1327      *
1328      * <p>Property Config:
1329      * <ul>
1330      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1331      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1332      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1333      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1334      *  <li>{@code Float} property type
1335      * </ul>
1336      *
1337      * <p>Required Permission:
1338      * <ul>
1339      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1340      *  and write property.
1341      * </ul>
1342      */
1343     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1344     @AddedInOrBefore(majorVersion = 33)
1345     public static final int HVAC_TEMPERATURE_SET = 358614275;
1346     /**
1347      * Suggested values for setting HVAC temperature.
1348      *
1349      * <p>Implement the property to help applications understand the closest supported temperature
1350      * value in Celsius or Fahrenheit.
1351      * <ul>
1352      *      <li>{@code floatValues[0]} is the requested value that an application wants to set a
1353      *      temperature to.
1354      *      <li>{@code floatValues[1]} is the unit for {@code floatValues[0]}. It should be one of
1355      *      ({@link VehicleUnit#CELSIUS}, {@link VehicleUnit#FAHRENHEIT}).
1356      *      <li>{@code floatValues[2]} is the value OEMs suggested in CELSIUS. This value is not
1357      *      included in the request.
1358      *      <li>{@code floatValues[3]} is the value OEMs suggested in FAHRENHEIT. This value is not
1359      *      included in the request.
1360      * </ul>
1361      *
1362      * <p>An application calls
1363      * {@link android.car.hardware.property.CarPropertyManager#setProperty(Class, int, int, Object)}
1364      * with the requested value and unit for the value. OEMs need to return the suggested values
1365      * in {@code floatValues[2]} and {@code floatValues[3]} by
1366      * {@link android.car.hardware.property.CarPropertyManager.CarPropertyEventCallback}.
1367      *
1368      * <p>For example, when a user uses the voice assistant to set HVAC temperature to 66.2 in
1369      * Fahrenheit.
1370      *
1371      * <p>First, an application will set this property with the value
1372      * [66.2, {@link VehicleUnit#FAHRENHEIT}, 0, 0]. If OEMs suggest to set 19.0 in Celsius
1373      * or 66.5 in Fahrenheit for user's request, then car must generate a callback with property
1374      * value [66.2, {@link VehicleUnit#FAHRENHEIT}, 19.0, 66.5]. After the voice assistant
1375      * gets the callback, it will inform the user and set HVAC temperature to the suggested value.
1376      *
1377      * <p>Another example, an application receives 21 Celsius as the current temperature value by
1378      * querying {@link VehiclePropertyIds#HVAC_TEMPERATURE_SET}. But the application wants to know
1379      * what value is displayed on the car's UI in Fahrenheit.
1380      *
1381      * <p>For this, the application sets the property to
1382      * [21, {@link VehicleUnit#CELSIUS}, 0, 0]. If the suggested value by the OEM for 21
1383      * Celsius is 70 Fahrenheit, then car must generate a callback with property value
1384      * [21, {@link VehicleUnit#CELSIUS}, 21.0, 70.0]. In this case, the application can know
1385      * that the value is 70.0 Fahrenheit in the car’s UI.
1386      *
1387      * <p>Property Config:
1388      * <ul>
1389      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
1390      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1391      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1392      *  <li>{@code Float[]} property type
1393      * </ul>
1394      *
1395      * <p>Required Permission:
1396      * <ul>
1397      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1398      *  and write property.
1399      * </ul>
1400      */
1401     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1402     @AddedInOrBefore(majorVersion = 33)
1403     public static final int HVAC_TEMPERATURE_VALUE_SUGGESTION = 291570965;
1404     /**
1405      * On/off defrost for designated window.
1406      *
1407      * <p>Property Config:
1408      * <ul>
1409      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1410      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1411      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
1412      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1413      *  <li>{@code Boolean} property type
1414      * </ul>
1415      *
1416      * <p>Required Permission:
1417      * <ul>
1418      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1419      *  and write property.
1420      * </ul>
1421      */
1422     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1423     @AddedInOrBefore(majorVersion = 33)
1424     public static final int HVAC_DEFROSTER = 320865540;
1425     /**
1426      * On/off AC for designated areaId.
1427      *
1428      * <p>Property Config:
1429      * <ul>
1430      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1431      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1432      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1433      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1434      *  <li>{@code Boolean} property type
1435      * </ul>
1436      *
1437      * <p>Required Permission:
1438      * <ul>
1439      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1440      *  and write property.
1441      * </ul>
1442      */
1443     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1444     @AddedInOrBefore(majorVersion = 33)
1445     public static final int HVAC_AC_ON = 354419973;
1446     /**
1447      * On/off max AC.
1448      *
1449      * <p>Property Config:
1450      * <ul>
1451      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1452      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1453      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1454      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1455      *  <li>{@code Boolean} property type
1456      * </ul>
1457      *
1458      * <p>Required Permission:
1459      * <ul>
1460      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1461      *  and write property.
1462      * </ul>
1463      */
1464     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1465     @AddedInOrBefore(majorVersion = 33)
1466     public static final int HVAC_MAX_AC_ON = 354419974;
1467     /**
1468      * On/off max defrost.
1469      *
1470      * <p>Property Config:
1471      * <ul>
1472      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1473      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1474      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1475      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1476      *  <li>{@code Boolean} property type
1477      * </ul>
1478      *
1479      * <p>Required Permission:
1480      * <ul>
1481      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1482      *  and write property.
1483      * </ul>
1484      */
1485     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1486     @AddedInOrBefore(majorVersion = 33)
1487     public static final int HVAC_MAX_DEFROST_ON = 354419975;
1488     /**
1489      * Recirculation on/off.
1490      *
1491      * <p>Property Config:
1492      * <ul>
1493      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1494      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1495      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1496      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1497      *  <li>{@code Boolean} property type
1498      * </ul>
1499      *
1500      * <p>Required Permission:
1501      * <ul>
1502      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1503      *  and write property.
1504      * </ul>
1505      */
1506     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1507     @AddedInOrBefore(majorVersion = 33)
1508     public static final int HVAC_RECIRC_ON = 354419976;
1509     /**
1510      * Enable temperature coupling between areas.
1511      *
1512      * <p>Property Config:
1513      * <ul>
1514      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1515      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1516      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1517      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1518      *  <li>{@code Boolean} property type
1519      * </ul>
1520      *
1521      * <p>Required Permission:
1522      * <ul>
1523      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1524      *  and write property.
1525      * </ul>
1526      */
1527     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1528     @AddedInOrBefore(majorVersion = 33)
1529     public static final int HVAC_DUAL_ON = 354419977;
1530     /**
1531      * On/off automatic mode.
1532      *
1533      * <p>Property Config:
1534      * <ul>
1535      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1536      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1537      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1538      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1539      *  <li>{@code Boolean} property type
1540      * </ul>
1541      *
1542      * <p>Required Permission:
1543      * <ul>
1544      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1545      *  and write property.
1546      * </ul>
1547      */
1548     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1549     @AddedInOrBefore(majorVersion = 33)
1550     public static final int HVAC_AUTO_ON = 354419978;
1551     /**
1552      * Seat heating/cooling.
1553      *
1554      * <p>Property Config:
1555      * <ul>
1556      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1557      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1558      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1559      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1560      *  <li>{@code Integer} property type
1561      * </ul>
1562      *
1563      * <p>Required Permission:
1564      * <ul>
1565      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1566      *  and write property.
1567      * </ul>
1568      */
1569     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1570     @AddedInOrBefore(majorVersion = 33)
1571     public static final int HVAC_SEAT_TEMPERATURE = 356517131;
1572     /**
1573      * Side Mirror Heat.
1574      *
1575      * <p>Property Config:
1576      * <ul>
1577      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1578      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1579      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
1580      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1581      *  <li>{@code Integer} property type
1582      * </ul>
1583      *
1584      * <p>Required Permission:
1585      * <ul>
1586      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1587      *  and write property.
1588      * </ul>
1589      */
1590     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1591     @AddedInOrBefore(majorVersion = 33)
1592     public static final int HVAC_SIDE_MIRROR_HEAT = 339739916;
1593     /**
1594      * Steering Wheel Heating/Cooling.
1595      *
1596      * <p>Property Config:
1597      * <ul>
1598      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1599      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1600      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1601      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1602      *  <li>{@code Integer} property type
1603      * </ul>
1604      *
1605      * <p>Required Permission:
1606      * <ul>
1607      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1608      *  and write property.
1609      * </ul>
1610      */
1611     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1612     @AddedInOrBefore(majorVersion = 33)
1613     public static final int HVAC_STEERING_WHEEL_HEAT = 289408269;
1614     /**
1615      * Temperature units for display.
1616      *
1617      * <p>Property Config:
1618      * <ul>
1619      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1620      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1621      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1622      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1623      *  <li>{@code Integer} property type
1624      * </ul>
1625      *
1626      * <p>Required Permissions:
1627      * <ul>
1628      *  <li>Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} or Signature|Privileged
1629      *  permission "android.car.permission.CONTROL_CAR_CLIMATE" to read property.
1630      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to write
1631      *  property.
1632      * </ul>
1633      */
1634     @RequiresPermission.Read(@RequiresPermission(anyOf = {Car.PERMISSION_READ_DISPLAY_UNITS,
1635             Car.PERMISSION_CONTROL_CAR_CLIMATE}))
1636     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE))
1637     @AddedInOrBefore(majorVersion = 33)
1638     public static final int HVAC_TEMPERATURE_DISPLAY_UNITS = 289408270;
1639     /**
1640      * Actual fan speed.
1641      *
1642      * <p>Property Config:
1643      * <ul>
1644      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1645      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1646      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1647      *  <li>{@code Integer} property type
1648      * </ul>
1649      *
1650      * <p>Required Permission:
1651      * <ul>
1652      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1653      *  property.
1654      *  <li>Property is not writable.
1655      * </ul>
1656      */
1657     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1658     @AddedInOrBefore(majorVersion = 33)
1659     public static final int HVAC_ACTUAL_FAN_SPEED_RPM = 356517135;
1660     /**
1661      * Represents global power state for HVAC.
1662      *
1663      * <p>Setting this property to false MAY mark some properties that control individual HVAC
1664      * features/subsystems to UNAVAILABLE state. Setting this property to true MAY mark some
1665      * properties that control individual HVAC features/subsystems to AVAILABLE state (unless
1666      * any/all of them are UNAVAILABLE on their own individual merits).
1667      *
1668      * <p>Property Config:
1669      * <ul>
1670      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1671      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1672      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1673      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1674      *  <li>{@code Boolean} property type
1675      * </ul>
1676      *
1677      * <p>Required Permission:
1678      * <ul>
1679      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1680      *  and write property.
1681      * </ul>
1682      */
1683     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1684     @AddedInOrBefore(majorVersion = 33)
1685     public static final int HVAC_POWER_ON = 354419984;
1686     /**
1687      * Fan Positions Available.
1688      *
1689      * <p>Property Config:
1690      * <ul>
1691      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1692      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1693      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
1694      *  <li>{@code Integer[]} property type
1695      * </ul>
1696      *
1697      * <p>Required Permission:
1698      * <ul>
1699      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1700      *  property.
1701      *  <li>Property is not writable.
1702      * </ul>
1703      */
1704     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1705     @AddedInOrBefore(majorVersion = 33)
1706     public static final int HVAC_FAN_DIRECTION_AVAILABLE = 356582673;
1707     /**
1708      * Automatic recirculation on/off.
1709      *
1710      * <p>Property Config:
1711      * <ul>
1712      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1713      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1714      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1715      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1716      *  <li>{@code Boolean} property type
1717      * </ul>
1718      *
1719      * <p>Required Permission:
1720      * <ul>
1721      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1722      *  and write property.
1723      * </ul>
1724      */
1725     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1726     @AddedInOrBefore(majorVersion = 33)
1727     public static final int HVAC_AUTO_RECIRC_ON = 354419986;
1728     /**
1729      * Seat ventilation.
1730      *
1731      * <p>Property Config:
1732      * <ul>
1733      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1734      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1735      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
1736      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1737      *  <li>{@code Integer} property type
1738      * </ul>
1739      *
1740      * <p>Required Permission:
1741      * <ul>
1742      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_CLIMATE" to read
1743      *  and write property.
1744      * </ul>
1745      */
1746     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1747     @AddedInOrBefore(majorVersion = 33)
1748     public static final int HVAC_SEAT_VENTILATION = 356517139;
1749     /**
1750      * ELECTRIC DEFROSTER.
1751      *
1752      * <p>Property Config:
1753      * <ul>
1754      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1755      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1756      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
1757      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1758      *  <li>{@code Boolean} property type
1759      * </ul>
1760      *
1761      * <p>Required Permission:
1762      * <ul>
1763      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_CLIMATE} to read
1764      *  and write property.
1765      * </ul>
1766      *
1767      * @hide
1768      */
1769     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE)
1770     @AddedInOrBefore(majorVersion = 33)
1771     @SystemApi
1772     public static final int HVAC_ELECTRIC_DEFROSTER_ON = 320865556;
1773     /**
1774      * Distance units for display.
1775      *
1776      * <p>Indicates which units the car is using to display distances to the user.
1777      *
1778      * <p>configArray represents the list of supported units for {@code
1779      * DISTANCE_DISPLAY_UNITS}. Here is an example configArray:
1780      * <ul>
1781      *  <li>configArray[0] = {@link VehicleUnit#METER}
1782      *  <li>configArray[1] = {@link VehicleUnit#KILOMETER}
1783      *  <li>configArray[2] = {@link VehicleUnit#MILE}
1784      * </ul>
1785      *
1786      * <p>Property Config:
1787      * <ul>
1788      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1789      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1790      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1791      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1792      *  <li>{@code Integer} property type
1793      * </ul>
1794      *
1795      * <p>Required Permissions:
1796      * <ul>
1797      *  <li>Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
1798      *  <li>Normal permission {@link Car#PERMISSION_CONTROL_DISPLAY_UNITS} and Signature|Privileged
1799      *  permission "android.car.permission.CAR_VENDOR_EXTENSION" to write property.
1800      * </ul>
1801      */
1802     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
1803     @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
1804             Car.PERMISSION_VENDOR_EXTENSION}))
1805     @AddedInOrBefore(majorVersion = 33)
1806     public static final int DISTANCE_DISPLAY_UNITS = 289408512;
1807     /**
1808      * Fuel volume units for display.
1809      *
1810      * <p>Indicates which units the car is using to display fuel volume to the user.
1811      *
1812      * <p>configArray represents the list of supported units for {@code
1813      * FUEL_VOLUME_DISPLAY_UNITS}. Here is an example configArray:
1814      * <ul>
1815      *  <li>configArray[0] = {@link VehicleUnit#LITER}
1816      *  <li>configArray[1] = {@link VehicleUnit#US_GALLON}
1817      * </ul>
1818      *
1819      * <p>Property Config:
1820      * <ul>
1821      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1822      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1823      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1824      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1825      *  <li>{@code Integer} property type
1826      * </ul>
1827      *
1828      * <p>Required Permissions:
1829      * <ul>
1830      *  <li>Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
1831      *  <li>Normal permission {@link Car#PERMISSION_CONTROL_DISPLAY_UNITS} and Signature|Privileged
1832      *  permission "android.car.permission.CAR_VENDOR_EXTENSION" to write property.
1833      * </ul>
1834      */
1835     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
1836     @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
1837             Car.PERMISSION_VENDOR_EXTENSION}))
1838     @AddedInOrBefore(majorVersion = 33)
1839     public static final int FUEL_VOLUME_DISPLAY_UNITS = 289408513;
1840     /**
1841      * Tire pressure units for display.
1842      *
1843      * <p>Indicates which units the car is using to display tire pressure to the user.
1844      *
1845      * <p>configArray represents the list of supported units for {@code
1846      * TIRE_PRESSURE_DISPLAY_UNITS}. Here is an example configArray:
1847      * <ul>
1848      *  <li>configArray[0] = {@link VehicleUnit#KILOPASCAL}
1849      *  <li>configArray[1] = {@link VehicleUnit#PSI}
1850      *  <li>configArray[2] = {@link VehicleUnit#BAR}
1851      * </ul>
1852      *
1853      * <p>Property Config:
1854      * <ul>
1855      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1856      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1857      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1858      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1859      *  <li>{@code Integer} property type
1860      * </ul>
1861      *
1862      * <p>Required Permissions:
1863      * <ul>
1864      *  <li>Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
1865      *  <li>Normal permission {@link Car#PERMISSION_CONTROL_DISPLAY_UNITS} and Signature|Privileged
1866      *  permission "android.car.permission.CAR_VENDOR_EXTENSION" to write property.
1867      * </ul>
1868      */
1869     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
1870     @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
1871             Car.PERMISSION_VENDOR_EXTENSION}))
1872     @AddedInOrBefore(majorVersion = 33)
1873     public static final int TIRE_PRESSURE_DISPLAY_UNITS = 289408514;
1874     /**
1875      * EV battery units for display.
1876      *
1877      * <p>Indicates which units the vehicle is using to display EV battery information to the user.
1878      *
1879      * <p>configArray represents the list of supported units for {@code
1880      * EV_BATTERY_DISPLAY_UNITS}. Here is an example configArray:
1881      * <ul>
1882      *  <li>configArray[0] = {@link VehicleUnit#WATT_HOUR}
1883      *  <li>configArray[1] = {@link VehicleUnit#AMPERE_HOURS}
1884      *  <li>configArray[2] = {@link VehicleUnit#KILOWATT_HOUR}
1885      * </ul>
1886      *
1887      * <p>Property Config:
1888      * <ul>
1889      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1890      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1891      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1892      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1893      *  <li>{@code Integer} property type
1894      * </ul>
1895      *
1896      * <p>Required Permissions:
1897      * <ul>
1898      *  <li>Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
1899      *  <li>Normal permission {@link Car#PERMISSION_CONTROL_DISPLAY_UNITS} and Signature|Privileged
1900      *  permission "android.car.permission.CAR_VENDOR_EXTENSION" to write property.
1901      * </ul>
1902      */
1903     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
1904     @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
1905             Car.PERMISSION_VENDOR_EXTENSION}))
1906     @AddedInOrBefore(majorVersion = 33)
1907     public static final int EV_BATTERY_DISPLAY_UNITS = 289408515;
1908     /**
1909      * Speed units for display.
1910      *
1911      * <p>Indicates type of units the vehicle is using to display speed to user.
1912      *
1913      * <p>configArray represents the list of supported units for {@code
1914      * VEHICLE_SPEED_DISPLAY_UNITS}. Here is an example configArray:
1915      * <ul>
1916      *  <li>configArray[0] = {@link VehicleUnit#METER_PER_SEC}
1917      *  <li>configArray[1] = {@link VehicleUnit#MILES_PER_HOUR}
1918      *  <li>configArray[2] = {@link VehicleUnit#KILOMETERS_PER_HOUR}
1919      * </ul>
1920      *
1921      * <p>Property Config:
1922      * <ul>
1923      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1924      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1925      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1926      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1927      *  <li>{@code Integer} property type
1928      * </ul>
1929      *
1930      * <p>Required Permissions:
1931      * <ul>
1932      *  <li>Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
1933      *  <li>Normal permission {@link Car#PERMISSION_CONTROL_DISPLAY_UNITS} and Signature|Privileged
1934      *  permission "android.car.permission.CAR_VENDOR_EXTENSION" to write property.
1935      * </ul>
1936      */
1937     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
1938     @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
1939             Car.PERMISSION_VENDOR_EXTENSION}))
1940     @AddedInOrBefore(majorVersion = 33)
1941     public static final int VEHICLE_SPEED_DISPLAY_UNITS = 289408516;
1942     /**
1943      * Fuel consumption units for display.
1944      *
1945      * <p>Indicates type of units the car is using to display fuel consumption information to user.
1946      *
1947      * <p>{@code true} indicates units are distance over volume such as MPG.
1948      *
1949      * <p>{@code false} indicates units are volume over distance such as L/100KM.
1950      *
1951      * <p>Property Config:
1952      * <ul>
1953      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
1954      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1955      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1956      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
1957      *  <li>{@code Boolean} property type
1958      * </ul>
1959      *
1960      * <p>Required Permissions:
1961      * <ul>
1962      *  <li>Normal permission {@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property.
1963      *  <li>Normal permission {@link Car#PERMISSION_CONTROL_DISPLAY_UNITS} and Signature|Privileged
1964      *  permission "android.car.permission.CAR_VENDOR_EXTENSION" to write property.
1965      * </ul>
1966      */
1967     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS))
1968     @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS,
1969             Car.PERMISSION_VENDOR_EXTENSION}))
1970     @AddedInOrBefore(majorVersion = 33)
1971     public static final int FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME = 287311364;
1972     /**
1973      * Outside temperature in celsius.
1974      *
1975      * <p>Property Config:
1976      * <ul>
1977      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
1978      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
1979      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
1980      *  <li>{@code Float} property type
1981      * </ul>
1982      *
1983      * <p>Required Permission:
1984      * <ul>
1985      *  <li>Normal permission {@link Car#PERMISSION_EXTERIOR_ENVIRONMENT} to read property.
1986      *  <li>Property is not writable.
1987      * </ul>
1988      */
1989     @RequiresPermission(Car.PERMISSION_EXTERIOR_ENVIRONMENT)
1990     @AddedInOrBefore(majorVersion = 33)
1991     public static final int ENV_OUTSIDE_TEMPERATURE = 291505923;
1992     /**
1993      * Property to control power state of application processor.
1994      *
1995      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
1996      *
1997      * <p>Trying to get/set this property will cause {@link SecurityException}.
1998      *
1999      * Deprecated, use {@link android.car.hardware.power.CarPowerManager} instead.
2000      */
2001     @RequiresPermission(Car.PERMISSION_CAR_POWER)
2002     @AddedInOrBefore(majorVersion = 33)
2003     public static final int AP_POWER_STATE_REQ = 289475072;
2004     /**
2005      * Property to report power state of application processor.
2006      *
2007      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
2008      *
2009      * <p>Trying to get/set this property will cause {@link SecurityException}.
2010      *
2011      * Deprecated, use {@link android.car.hardware.power.CarPowerManager} instead.
2012      */
2013     @RequiresPermission(Car.PERMISSION_CAR_POWER)
2014     @AddedInOrBefore(majorVersion = 33)
2015     public static final int AP_POWER_STATE_REPORT = 289475073;
2016     /**
2017      * Property to report bootup reason for the current power on.
2018      *
2019      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
2020      *
2021      * <p>Trying to get/set this property will cause {@link SecurityException}.
2022      *
2023      * Deprecated, use {@link android.car.hardware.power.CarPowerManager} instead.
2024      */
2025     @RequiresPermission(Car.PERMISSION_CAR_POWER)
2026     @AddedInOrBefore(majorVersion = 33)
2027     public static final int AP_POWER_BOOTUP_REASON = 289409538;
2028     /**
2029      * Property to represent brightness of the display.
2030      *
2031      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
2032      *
2033      * <p>Trying to get/set this property will cause {@link SecurityException}.
2034      *
2035      * Deprecated, use {@link android.car.hardware.power.CarPowerManager} instead.
2036      */
2037     @RequiresPermission(Car.PERMISSION_CAR_POWER)
2038     @AddedInOrBefore(majorVersion = 33)
2039     public static final int DISPLAY_BRIGHTNESS = 289409539;
2040     /**
2041      * Property to represent brightness of the displays which are controlled separately.
2042      *
2043      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
2044      *
2045      * <p>Trying to get/set this property will cause {@link SecurityException}.
2046      *
2047      * Deprecated, use {@link android.car.hardware.power.CarPowerManager} instead.
2048      */
2049     @RequiresPermission(Car.PERMISSION_CAR_POWER)
2050     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
2051             minPlatformVersion = ApiRequirements.PlatformVersion.UPSIDE_DOWN_CAKE_0)
2052     public static final int PER_DISPLAY_BRIGHTNESS = 289475076;
2053     /**
2054      * Property to feed H/W input events to android.
2055      *
2056      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
2057      *
2058      * <p>Trying to get/set this property will cause {@link SecurityException}.
2059      *
2060      * Deprecated, use {@link android.car.input.CarInputManager} instead.
2061      */
2062     @AddedInOrBefore(majorVersion = 33)
2063     public static final int HW_KEY_INPUT = 289475088;
2064     /**
2065      * Door position.
2066      *
2067      * <p>This property is not in any particular unit but in a specified range of relative
2068      * positions.
2069      *
2070      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the door's
2071      * position when closed. This value will be 0
2072      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the door's
2073      * position when fully open.
2074      *
2075      * <p>All integers between the min and max values are supported and indicate a transition state
2076      * between the closed and fully open positions.
2077      *
2078      * <p>Property Config:
2079      * <ul>
2080      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2081      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2082      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_DOOR}
2083      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2084      *  <li>{@code Integer} property type
2085      * </ul>
2086      *
2087      * <p>Required Permission:
2088      * <ul>
2089      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_DOORS" to read and
2090      *  write property.
2091      * </ul>
2092      */
2093     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
2094     @AddedInOrBefore(majorVersion = 33)
2095     public static final int DOOR_POS = 373295872;
2096     /**
2097      * Door move.
2098      *
2099      * <p>This property is not in any particular unit but in a specified range of relative movement
2100      * speeds.
2101      *
2102      * <p>Positive values mean the door is opening and negative values mean the door is closing.
2103      * Larger integers, either positive or negative, indicate a faster speed. Once the door reaches
2104      * the positional limit, the value resets to 0. When this property's value is 0, that means
2105      * there is no movement currently occurring.
2106      *
2107      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2108      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2109      * All integers between min and max value are supported.
2110      *
2111      * <p>Property Config:
2112      * <ul>
2113      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2114      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2115      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_DOOR}
2116      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2117      *  <li>{@code Integer} property type
2118      * </ul>
2119      *
2120      * <p>Required Permission:
2121      * <ul>
2122      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_DOORS" to read and
2123      *  write property.
2124      * </ul>
2125      */
2126     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
2127     @AddedInOrBefore(majorVersion = 33)
2128     public static final int DOOR_MOVE = 373295873;
2129     /**
2130      * Door lock.
2131      *
2132      * <p>Property Config:
2133      * <ul>
2134      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2135      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2136      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_DOOR}
2137      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2138      *  <li>{@code Boolean} property type
2139      * </ul>
2140      *
2141      * <p>Required Permission:
2142      * <ul>
2143      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_DOORS" to read and
2144      *  write property.
2145      * </ul>
2146      */
2147     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
2148     @AddedInOrBefore(majorVersion = 33)
2149     public static final int DOOR_LOCK = 371198722;
2150     /**
2151      * Door child lock feature enabled.
2152      *
2153      * <p>Returns true if the door child lock feature is enabled and false if it is disabled.
2154      * If enabled, the door is unable to be opened from the inside.
2155      *
2156      * <p>Property Config:
2157      * <ul>
2158      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2159      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2160      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_DOOR}
2161      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2162      *  <li>{@code Boolean} property type
2163      * </ul>
2164      *
2165      * <p>Required Permission:
2166      * <ul>
2167      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_DOORS} to read
2168      *  and write property.
2169      * </ul>
2170      *
2171      * @hide
2172      */
2173     @SystemApi
2174     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS)
2175     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
2176             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
2177     public static final int DOOR_CHILD_LOCK_ENABLED = 371198723;
2178     /**
2179      * Mirror Z Position.
2180      *
2181      * <p>This property is not in any particular unit but in a specified range of relative
2182      * positions.
2183      *
2184      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the mirror's
2185      * position when tilted completely downwards.
2186      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the mirror's
2187      * position when tilted completely upwards.
2188      * <p>0 indicates the mirror is not tilted in either direction.
2189      *
2190      * <p>All integers between the min and max values are supported and indicate a transition state
2191      * between the completely downwards and completely upwards positions.
2192      *
2193      * <p>Property Config:
2194      * <ul>
2195      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2196      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2197      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
2198      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2199      *  <li>{@code Integer} property type
2200      * </ul>
2201      *
2202      * <p>Required Permission:
2203      * <ul>
2204      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_MIRRORS" to read and
2205      *  write property.
2206      * </ul>
2207      */
2208     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2209     @AddedInOrBefore(majorVersion = 33)
2210     public static final int MIRROR_Z_POS = 339741504;
2211     /**
2212      * Mirror Z Move.
2213      *
2214      * <p>This property is not in any particular unit but in a specified range of relative movement
2215      * speeds.
2216      *
2217      * <p>Positive values mean the mirror is tilting up and negative values mean the mirror is
2218      * tilting down. Larger integers, either positive or negative, indicate a faster speed. Once the
2219      * mirror reaches the positional limit, the value resets to 0. When this property's value is 0,
2220      * that means there is no movement currently occurring.
2221      *
2222      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2223      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2224      * All integers between min and max value are supported.
2225      *
2226      * <p>Property Config:
2227      * <ul>
2228      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2229      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2230      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
2231      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2232      *  <li>{@code Integer} property type
2233      * </ul>
2234      *
2235      * <p>Required Permission:
2236      * <ul>
2237      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_MIRRORS" to read and
2238      *  write property.
2239      * </ul>
2240      */
2241     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2242     @AddedInOrBefore(majorVersion = 33)
2243     public static final int MIRROR_Z_MOVE = 339741505;
2244     /**
2245      * Mirror Y Position.
2246      *
2247      * <p>This property is not in any particular unit but in a specified range of relative
2248      * positions.
2249      *
2250      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the mirror's
2251      * position when tilted completely to the left.
2252      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the mirror's
2253      * position when tilted completely to the right.
2254      * <p>0 indicates the mirror is not tilted in either direction.
2255      *
2256      * <p>All integers between the min and max values are supported and indicate a transition state
2257      * between the extreme left and extreme right positions.
2258      *
2259      * <p>Property Config:
2260      * <ul>
2261      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2262      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2263      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
2264      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2265      *  <li>{@code Integer} property type
2266      * </ul>
2267      *
2268      * <p>Required Permission:
2269      * <ul>
2270      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_MIRRORS" to read and
2271      *  write property.
2272      * </ul>
2273      */
2274     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2275     @AddedInOrBefore(majorVersion = 33)
2276     public static final int MIRROR_Y_POS = 339741506;
2277     /**
2278      * Mirror Y Move.
2279      *
2280      * <p>This property is not in any particular unit but in a specified range of relative movement
2281      * speeds.
2282      *
2283      * <p>Positive values mean the mirror is tilting to the right and negative values mean the
2284      * support is tilting to the left. Larger integers, either positive or negative, indicate a
2285      * faster speed. Once the mirror reaches the positional limit, the value resets to 0. When this
2286      * property's value is 0, that means there is no movement currently occurring.
2287      *
2288      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2289      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2290      * All integers between min and max value are supported.
2291      *
2292      * <p>Property Config:
2293      * <ul>
2294      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2295      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2296      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
2297      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2298      *  <li>{@code Integer} property type
2299      * </ul>
2300      *
2301      * <p>Required Permission:
2302      * <ul>
2303      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_MIRRORS" to read and
2304      *  write property.
2305      * </ul>
2306      */
2307     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2308     @AddedInOrBefore(majorVersion = 33)
2309     public static final int MIRROR_Y_MOVE = 339741507;
2310     /**
2311      * Mirror Lock.
2312      *
2313      * <p>Property Config:
2314      * <ul>
2315      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2316      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2317      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
2318      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2319      *  <li>{@code Boolean} property type
2320      * </ul>
2321      *
2322      * <p>Required Permission:
2323      * <ul>
2324      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_MIRRORS" to read and
2325      *  write property.
2326      * </ul>
2327      */
2328     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2329     @AddedInOrBefore(majorVersion = 33)
2330     public static final int MIRROR_LOCK = 287312708;
2331     /**
2332      * Mirror Fold.
2333      *
2334      * <p>Property Config:
2335      * <ul>
2336      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2337      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2338      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
2339      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2340      *  <li>{@code Boolean} property type
2341      * </ul>
2342      *
2343      * <p>Required Permission:
2344      * <ul>
2345      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_MIRRORS" to read and
2346      *  write property.
2347      * </ul>
2348      */
2349     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2350     @AddedInOrBefore(majorVersion = 33)
2351     public static final int MIRROR_FOLD = 287312709;
2352     /**
2353      * Represents property for the Mirror Auto Fold feature.
2354      *
2355      * <p>This property is true when the feature for automatically folding the vehicle's mirrors
2356      * (for example, when the mirrors fold inward automatically when one exits and locks the
2357      * vehicle) is enabled.
2358      *
2359      * <p>Property Config:
2360      * <ul>
2361      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2362      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2363      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
2364      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2365      *  <li>{@code Boolean} property type
2366      * </ul>
2367      *
2368      * <p>Required Permission:
2369      * <ul>
2370      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_MIRRORS} to read and
2371      *  write property.
2372      *
2373      * @hide
2374      */
2375     @SystemApi
2376     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2377     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
2378             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
2379     public static final int MIRROR_AUTO_FOLD_ENABLED = 337644358;
2380     /**
2381      * Represents property for the Mirror Auto Tilt feature.
2382      *
2383      * <p>This property is true when the feature for automatically tilting the vehicle's mirrors
2384      * (for example, when the mirrors tilt downward automatically when one reverses the vehicle) is
2385      * enabled.
2386      *
2387      * <p>Property Config:
2388      * <ul>
2389      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2390      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2391      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
2392      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2393      *  <li>{@code Boolean} property type
2394      * </ul>
2395      *
2396      * <p>Required Permission:
2397      * <ul>
2398      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_MIRRORS} to read and
2399      *  write property.
2400      * </ul>
2401      *
2402      * @hide
2403      */
2404     @SystemApi
2405     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS)
2406     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
2407             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
2408     public static final int MIRROR_AUTO_TILT_ENABLED = 337644359;
2409     /**
2410      * Property that represents the current position of the glove box door.
2411      *
2412      * <p>This property is not in any particular unit but in a specified range of relative
2413      * positions.
2414      *
2415      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the glove box's
2416      * position when closed. This value will be 0.
2417      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the glove box's
2418      * position when fully open.
2419      *
2420      * <p>All integers between the min and max values are supported and indicate a transition state
2421      * between the closed and fully open positions.
2422      *
2423      * <p>The supported area IDs match the seat(s) by which the glove box is intended to be used
2424      * (e.g.) if the front right dashboard has a glove box embedded in it, then the area ID should
2425      * be {@link VehicleAreaSeat#SEAT_ROW_1_RIGHT}).
2426      *
2427      * <p>Property Config:
2428      * <ul>
2429      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2430      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2431      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2432      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2433      *  <li>{@code Integer} property type
2434      * </ul>
2435      *
2436      * <p>Required Permission:
2437      * <ul>
2438      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_GLOVE_BOX} to read and
2439      *  write property.
2440      * </ul>
2441      *
2442      * @hide
2443      */
2444     @SystemApi
2445     @RequiresPermission(Car.PERMISSION_CONTROL_GLOVE_BOX)
2446     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
2447             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
2448     public static final int GLOVE_BOX_DOOR_POS = 356518896;
2449 
2450     /**
2451      * Lock or unlock the glove box.
2452      *
2453      * <p>If {@code true}, the glove box is locked. If {@code false}, the glove box is unlocked.
2454      *
2455      * <p>The supported area IDs match the seat(s) by which the glove box is intended to be used
2456      * (e.g. if the front right dashboard has a glove box embedded in it, then the area ID will be
2457      * {@link android.car.VehicleAreaSeat#SEAT_ROW_1_RIGHT}).
2458      *
2459      * <p>Property Config:
2460      * <ul>
2461      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2462      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2463      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2464      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2465      *  <li>{@code Boolean} property type
2466      * </ul>
2467      *
2468      * <p>Required Permission:
2469      * <ul>
2470      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_GLOVE_BOX} to read and
2471      *  write property.
2472      * </ul>
2473      *
2474      * @hide
2475      */
2476     @SystemApi
2477     @RequiresPermission(Car.PERMISSION_CONTROL_GLOVE_BOX)
2478     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
2479             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
2480     public static final int GLOVE_BOX_LOCKED = 354421745;
2481 
2482     /**
2483      * Seat memory select.
2484      *
2485      * <p>This parameter selects the memory preset to use to select the seat position. The {@link
2486      * android.car.hardware.property.AreaIdConfig#getMinValue()} is always 0, and the {@link
2487      * android.car.hardware.property.AreaIdConfig#getMaxValue()} determines the number of seat
2488      * positions available (i.e. numSeatPresets - 1).
2489      *
2490      * <p>Property Config:
2491      * <ul>
2492      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
2493      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2494      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2495      *  <li>{@code Integer} property type
2496      * </ul>
2497      *
2498      * <p>Required Permission:
2499      * <ul>
2500      *  <li>Property is not readable.
2501      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to write
2502      *  property.
2503      * </ul>
2504      */
2505     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2506     @AddedInOrBefore(majorVersion = 33)
2507     public static final int SEAT_MEMORY_SELECT = 356518784;
2508     /**
2509      * Seat memory set.
2510      *
2511      * <p>This setting allows the user to save the current seat position settings into the selected
2512      * preset slot. The {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} for each
2513      * seat position must match the {@link android.car.hardware.property.AreaIdConfig#getMaxValue()}
2514      * for {@link #SEAT_MEMORY_SELECT}.
2515      *
2516      * <p>Property Config:
2517      * <ul>
2518      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
2519      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2520      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2521      *  <li>{@code Integer} property type
2522      * </ul>
2523      *
2524      * <p>Required Permission:
2525      * <ul>
2526      *  <li>Property is not readable.
2527      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to write
2528      *  property.
2529      * </ul>
2530      */
2531     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2532     @AddedInOrBefore(majorVersion = 33)
2533     public static final int SEAT_MEMORY_SET = 356518785;
2534     /**
2535      * Seatbelt buckled.
2536      *
2537      * <p>True indicates belt is buckled.
2538      *
2539      * <p>Property Config:
2540      * <ul>
2541      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2542      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2543      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2544      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2545      *  <li>{@code Boolean} property type
2546      * </ul>
2547      *
2548      * <p>Required Permission:
2549      * <ul>
2550      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2551      *  write property.
2552      * </ul>
2553      */
2554     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2555     @AddedInOrBefore(majorVersion = 33)
2556     public static final int SEAT_BELT_BUCKLED = 354421634;
2557     /**
2558      * Seatbelt height position.
2559      *
2560      * <p>This property is not in any particular unit but in a specified range of relative
2561      * positions.
2562      *
2563      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat belt
2564      * shoulder anchor's lowest position.
2565      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat belt
2566      * shoulder anchor's highest position.
2567      *
2568      * <p>All integers between the min and max values are supported and indicate a transition state
2569      * between the lowest and highest positions.
2570      *
2571      * <p>Property Config:
2572      * <ul>
2573      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2574      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2575      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2576      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2577      *  <li>{@code Integer} property type
2578      * </ul>
2579      *
2580      * <p>Required Permission:
2581      * <ul>
2582      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2583      *  write property.
2584      * </ul>
2585      */
2586     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2587     @AddedInOrBefore(majorVersion = 33)
2588     public static final int SEAT_BELT_HEIGHT_POS = 356518787;
2589     /**
2590      * Seatbelt height move.
2591      *
2592      * <p>This property is not in any particular unit but in a specified range of relative movement
2593      * speeds.
2594      *
2595      * <p>Positive values mean the seat belt's shoulder anchor is moving up and negative values mean
2596      * the seat belt's shoulder anchor is moving down. Larger integers, either positive or negative,
2597      * indicate a faster speed. Once the seat belt's shoulder anchor reaches the positional limit,
2598      * the value resets to 0. When this property's value is 0, that means there is no movement
2599      * currently occurring.
2600      *
2601      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2602      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2603      * All integers between min and max value are supported.
2604      *
2605      * <p>Property Config:
2606      * <ul>
2607      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2608      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2609      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2610      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2611      *  <li>{@code Integer} property type
2612      * </ul>
2613      *
2614      * <p>Required Permission:
2615      * <ul>
2616      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2617      *  write property.
2618      * </ul>
2619      */
2620     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2621     @AddedInOrBefore(majorVersion = 33)
2622     public static final int SEAT_BELT_HEIGHT_MOVE = 356518788;
2623     /**
2624      * Seat fore/aft position.
2625      *
2626      * <p>This property is not in any particular unit but in a specified range of relative
2627      * positions.
2628      *
2629      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat's
2630      * rearward-most linear position.
2631      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat's
2632      * forward-most linear position.
2633      *
2634      * <p>All integers between the min and max values are supported and indicate a transition state
2635      * between the forward most and rearward most positions.
2636      *
2637      * <p>Property Config:
2638      * <ul>
2639      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2640      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2641      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2642      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2643      *  <li>{@code Integer} property type
2644      * </ul>
2645      *
2646      * <p>Required Permission:
2647      * <ul>
2648      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2649      *  write property.
2650      * </ul>
2651      */
2652     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2653     @AddedInOrBefore(majorVersion = 33)
2654     public static final int SEAT_FORE_AFT_POS = 356518789;
2655     /**
2656      * Seat fore/aft move.
2657      *
2658      * <p>This property moves the entire seat forward/backward in the direction it's facing.
2659      *
2660      * <p>This property is not in any particular unit but in a specified range of relative movement
2661      * speeds.
2662      *
2663      * <p>Positive values mean the seat is moving forward and negative values mean the seat is
2664      * moving backward. Larger integers, either positive or negative, indicate a faster speed. Once
2665      * the seat reaches the positional limit, the value resets to 0. When this property's value is
2666      * 0, that means there is no movement currently occurring.
2667      *
2668      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2669      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2670      * All integers between min and max value are supported.
2671      *
2672      * <p>Property Config:
2673      * <ul>
2674      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2675      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2676      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2677      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2678      *  <li>{@code Integer} property type
2679      * </ul>
2680      *
2681      * <p>Required Permission:
2682      * <ul>
2683      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2684      *  write property.
2685      * </ul>
2686      */
2687     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2688     @AddedInOrBefore(majorVersion = 33)
2689     public static final int SEAT_FORE_AFT_MOVE = 356518790;
2690     /**
2691      * Seat backrest angle 1 position.
2692      *
2693      * <p>This property is not in any particular unit but in a specified range of relative
2694      * positions.
2695      *
2696      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
2697      * backrest's full recline position w.r.t the actuator at the bottom of the seat (see {@link
2698      * #SEAT_BACKREST_ANGLE_1_MOVE} for additional details).
2699      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
2700      * backrest's most upright/forward position w.r.t the actuator at the bottom of the seat (see
2701      * {@link #SEAT_BACKREST_ANGLE_1_MOVE} for additional details).
2702      *
2703      * <p>All integers between the min and max values are supported and indicate a transition state
2704      * between the forward most and rearward most positions.
2705      *
2706      * <p>Property Config:
2707      * <ul>
2708      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2709      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2710      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2711      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2712      *  <li>{@code Integer} property type
2713      * </ul>
2714      *
2715      * <p>Required Permission:
2716      * <ul>
2717      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2718      *  write property.
2719      * </ul>
2720      */
2721     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2722     @AddedInOrBefore(majorVersion = 33)
2723     public static final int SEAT_BACKREST_ANGLE_1_POS = 356518791;
2724     /**
2725      * Seat backrest angle 1 move.
2726      *
2727      * <p>This property moves the seat backrest along the axis of rotation defined by the actuator
2728      * closest to the bottom of the seat. This is the actuator that moves the seat upright/forward
2729      * or into recline as seen in most conventional vehicles.
2730      *
2731      * <p>This property is not in any particular unit but in a specified range of relative movement
2732      * speeds.
2733      *
2734      * <p>Positive values mean the seat is angling forward and negative values mean the seat is
2735      * reclining backward. Larger integers, either positive or negative, indicate a faster speed.
2736      * Once the seat reaches the positional limit, the value resets to 0. When this property's value
2737      * is 0, that means there is no movement currently occurring.
2738      *
2739      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2740      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2741      * All integers between min and max value are supported.
2742      *
2743      * <p>Property Config:
2744      * <ul>
2745      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2746      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2747      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2748      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2749      *  <li>{@code Integer} property type
2750      * </ul>
2751      *
2752      * <p>Required Permission:
2753      * <ul>
2754      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2755      *  write property.
2756      * </ul>
2757      */
2758     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2759     @AddedInOrBefore(majorVersion = 33)
2760     public static final int SEAT_BACKREST_ANGLE_1_MOVE = 356518792;
2761     /**
2762      * Seat backrest angle 2 position.
2763      *
2764      * <p>This property is not in any particular unit but in a specified range of relative
2765      * positions.
2766      *
2767      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
2768      * backrest's full recline position w.r.t the next actuator in the backrest from the one at the
2769      * bottom of the seat (see {@link #SEAT_BACKREST_ANGLE_2_MOVE} for more details).
2770      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
2771      * backrest's most upright/forward position w.r.t the next actuator in the backrest from the one
2772      * at the bottom of the seat (see {@link #SEAT_BACKREST_ANGLE_2_MOVE} for more details).
2773      *
2774      * <p>All integers between the min and max values are supported and indicate a transition state
2775      * between the forward most and rearward most positions.
2776      *
2777      * <p>Property Config:
2778      * <ul>
2779      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2780      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2781      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2782      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2783      *  <li>{@code Integer} property type
2784      * </ul>
2785      *
2786      * <p>Required Permission:
2787      * <ul>
2788      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2789      *  write property.
2790      * </ul>
2791      */
2792     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2793     @AddedInOrBefore(majorVersion = 33)
2794     public static final int SEAT_BACKREST_ANGLE_2_POS = 356518793;
2795     /**
2796      * Seat backrest angle 2 move.
2797      *
2798      * <p>This property will be implemented if there exists an additional actuator in the seat
2799      * backrest besides the one at the very bottom of the backrest, which is covered by {@link
2800      * #SEAT_BACKREST_ANGLE_1_MOVE}. This property will move the backrest along the axis of rotation
2801      * defined by this additional actuator. It can be assumed that this actuator is closer to the
2802      * headrest than the one defined by {@link #SEAT_BACKREST_ANGLE_1_MOVE}.
2803      *
2804      * <p>This property is not in any particular unit but in a specified range of relative movement
2805      * speeds.
2806      *
2807      * <p>Positive values mean the seat is angling forward and negative values mean the seat is
2808      * reclining backward. Larger integers, either positive or negative, indicate a faster speed.
2809      * Once the seat reaches the positional limit, the value resets to 0. When this property's value
2810      * is 0, that means there is no movement currently occurring.
2811      *
2812      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2813      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2814      * All integers between min and max value are supported.
2815      *
2816      * <p>Property Config:
2817      * <ul>
2818      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2819      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2820      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2821      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2822      *  <li>{@code Integer} property type
2823      * </ul>
2824      *
2825      * <p>Required Permission:
2826      * <ul>
2827      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2828      *  write property.
2829      * </ul>
2830      */
2831     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2832     @AddedInOrBefore(majorVersion = 33)
2833     public static final int SEAT_BACKREST_ANGLE_2_MOVE = 356518794;
2834     /**
2835      * Seat height position.
2836      *
2837      * <p>This property is not in any particular unit but in a specified range of relative
2838      * positions.
2839      *
2840      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat's
2841      * lowest position.
2842      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat's
2843      * highest position.
2844      *
2845      * <p>All integers between the min and max values are supported and indicate a transition state
2846      * between the lowest and highest positions.
2847      *
2848      * <p>Property Config:
2849      * <ul>
2850      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2851      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2852      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2853      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2854      *  <li>{@code Integer} property type
2855      * </ul>
2856      *
2857      * <p>Required Permission:
2858      * <ul>
2859      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2860      *  write property.
2861      * </ul>
2862      */
2863     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2864     @AddedInOrBefore(majorVersion = 33)
2865     public static final int SEAT_HEIGHT_POS = 356518795;
2866     /**
2867      * Seat height move.
2868      *
2869      * <p>This property is not in any particular unit but in a specified range of relative movement
2870      * speeds.
2871      *
2872      * <p>Positive values mean the seat is moving up and negative values mean the seat is moving
2873      * down. Larger integers, either positive or negative, indicate a faster speed. Once the seat
2874      * reaches the positional limit, the value resets to 0. When this property's value is 0, that
2875      * means there is no movement currently occurring.
2876      *
2877      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2878      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2879      * All integers between min and max value are supported.
2880      *
2881      * <p>Property Config:
2882      * <ul>
2883      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2884      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2885      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2886      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2887      *  <li>{@code Integer} property type
2888      * </ul>
2889      *
2890      * <p>Required Permission:
2891      * <ul>
2892      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2893      *  write property.
2894      * </ul>
2895      */
2896     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2897     @AddedInOrBefore(majorVersion = 33)
2898     public static final int SEAT_HEIGHT_MOVE = 356518796;
2899     /**
2900      * Seat depth position.
2901      *
2902      * <p>This property is not in any particular unit but in a specified range of relative
2903      * positions.
2904      *
2905      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat's
2906      * shallowest position. This corresponds to the smallest distance between the front edge of the
2907      * seat and the seat backrest.
2908      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat's
2909      * deepest position. This corresponds to the largest distance between the front edge of the seat
2910      * and the seat backrest.
2911      *
2912      * <p>All integers between the min and max values are supported and indicate a transition state
2913      * between the shallowest and deepest positions.
2914      *
2915      * <p>Property Config:
2916      * <ul>
2917      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2918      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2919      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2920      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2921      *  <li>{@code Integer} property type
2922      * </ul>
2923      *
2924      * <p>Required Permission:
2925      * <ul>
2926      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2927      *  write property.
2928      * </ul>
2929      */
2930     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2931     @AddedInOrBefore(majorVersion = 33)
2932     public static final int SEAT_DEPTH_POS = 356518797;
2933     /**
2934      * Seat depth move.
2935      *
2936      * <p>This property is not in any particular unit but in a specified range of relative movement
2937      * speeds.
2938      *
2939      * <p>Positive values mean the distance between the seat's front edge and the back of the seat
2940      * is increasing, thus making the seat deeper. Negative values mean the distance between the
2941      * seat's front edge and the back of the seat is decreasing, thus making the seat shallower.
2942      * Larger integers, either positive or negative, indicate a faster speed. Once the seat depth
2943      * reaches its limit, the value resets to 0. When this property's value is 0, that means there
2944      * is no movement currently occurring.
2945      *
2946      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
2947      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
2948      * All integers between min and max value are supported.
2949      *
2950      * <p>Property Config:
2951      * <ul>
2952      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2953      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2954      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2955      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2956      *  <li>{@code Integer} property type
2957      * </ul>
2958      *
2959      * <p>Required Permission:
2960      * <ul>
2961      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2962      *  write property.
2963      * </ul>
2964      */
2965     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
2966     @AddedInOrBefore(majorVersion = 33)
2967     public static final int SEAT_DEPTH_MOVE = 356518798;
2968     /**
2969      * Seat tilt position.
2970      *
2971      * <p>This property is not in any particular unit but in a specified range of relative
2972      * positions.
2973      *
2974      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
2975      * bottom's lowest angular position. This corresponds to the seat's front edge at its lowest
2976      * possible position relative to the rear end of the seat.
2977      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
2978      * bottom's highest angular position. This corresponds to the seat's front edge at its highest
2979      * possible position relative to the rear end of the seat.
2980      *
2981      * <p>All integers between the min and max values are supported and indicate a transition state
2982      * between the lowest and highest positions.
2983      *
2984      * <p>Property Config:
2985      * <ul>
2986      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
2987      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
2988      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
2989      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
2990      *  <li>{@code Integer} property type
2991      * </ul>
2992      *
2993      * <p>Required Permission:
2994      * <ul>
2995      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
2996      *  write property.
2997      * </ul>
2998      */
2999     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3000     @AddedInOrBefore(majorVersion = 33)
3001     public static final int SEAT_TILT_POS = 356518799;
3002     /**
3003      * Seat tilt move.
3004      *
3005      * <p>This property is not in any particular unit but in a specified range of relative movement
3006      * speeds.
3007      *
3008      * <p>Positive values mean the seat cushion is tilting upward such that the seat cushion's front
3009      * edge is higher than the rear end of the seat cushion. Negative values mean the seat cushion
3010      * is tilting downward such that the seat cushion's front edge is lower than the rear end of the
3011      * seat cushion. Larger integers, either positive or negative, indicate a faster speed. Once the
3012      * seat cushion reaches the positional limit, the value resets to 0. When this property's value
3013      * is 0, that means there is no movement currently occurring.
3014      *
3015      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3016      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3017      * All integers between min and max value are supported.
3018      *
3019      * <p>Property Config:
3020      * <ul>
3021      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3022      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3023      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3024      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3025      *  <li>{@code Integer} property type
3026      * </ul>
3027      *
3028      * <p>Required Permission:
3029      * <ul>
3030      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
3031      *  write property.
3032      * </ul>
3033      */
3034     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3035     @AddedInOrBefore(majorVersion = 33)
3036     public static final int SEAT_TILT_MOVE = 356518800;
3037     /**
3038      * Lumber fore/aft position.
3039      *
3040      * <p>This property is not in any particular unit but in a specified range of relative
3041      * positions.
3042      *
3043      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat lumbar
3044      * support's rearward most position (i.e. least supportive position).
3045      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat lumbar
3046      * support's forward most position (i.e. most supportive position).
3047      *
3048      * <p>All integers between the min and max values are supported and indicate a transition state
3049      * between the forward most and rearward most positions.
3050      *
3051      * <p>Property Config:
3052      * <ul>
3053      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3054      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3055      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3056      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3057      *  <li>{@code Integer} property type
3058      * </ul>
3059      *
3060      * <p>Required Permission:
3061      * <ul>
3062      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
3063      *  write property.
3064      * </ul>
3065      */
3066     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3067     @AddedInOrBefore(majorVersion = 33)
3068     public static final int SEAT_LUMBAR_FORE_AFT_POS = 356518801;
3069     /**
3070      * Lumbar fore/aft move.
3071      *
3072      * <p>This property is not in any particular unit but in a specified range of relative movement
3073      * speeds.
3074      *
3075      * <p>Positive values mean the lumbar support is moving forward towards the front of the seat
3076      * and negative values mean the lumbar support is moving backward away from the front of the
3077      * seat. Larger integers, either positive or negative, indicate a faster speed. Once the lumbar
3078      * support reaches the positional limit, the value resets to 0. When this property's value is 0,
3079      * that means there is no movement currently occurring.
3080      *
3081      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3082      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3083      * All integers between min and max value are supported.
3084      *
3085      * <p>Property Config:
3086      * <ul>
3087      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3088      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3089      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3090      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3091      *  <li>{@code Integer} property type
3092      * </ul>
3093      *
3094      * <p>Required Permission:
3095      * <ul>
3096      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
3097      *  write property.
3098      * </ul>
3099      */
3100     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3101     @AddedInOrBefore(majorVersion = 33)
3102     public static final int SEAT_LUMBAR_FORE_AFT_MOVE = 356518802;
3103     /**
3104      * Lumbar side support position.
3105      *
3106      * <p>This property is not in any particular unit but in a specified range of relative
3107      * positions.
3108      *
3109      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat lumbar
3110      * side support's thinnest position (i.e most support).
3111      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat lumbar
3112      * side support's widest position (i.e least support).
3113      *
3114      * <p>All integers between the min and max values are supported and indicate a transition state
3115      * between the thinnest and widest positions.
3116      *
3117      * <p>Property Config:
3118      * <ul>
3119      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3120      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3121      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3122      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3123      *  <li>{@code Integer} property type
3124      * </ul>
3125      *
3126      * <p>Required Permission:
3127      * <ul>
3128      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
3129      *  write property.
3130      * </ul>
3131      */
3132     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3133     @AddedInOrBefore(majorVersion = 33)
3134     public static final int SEAT_LUMBAR_SIDE_SUPPORT_POS = 356518803;
3135     /**
3136      * Lumbar side support move.
3137      *
3138      * <p>This property is not in any particular unit but in a specified range of relative movement
3139      * speeds.
3140      *
3141      * <p>Positive values mean the lumbar side support is getting wider (i.e. less support) and
3142      * negative values mean the lumbar side support is getting thinner (i.e. more support). Larger
3143      * integers, either positive or negative, indicate a faster speed. Once the lumbar side support
3144      * reaches the positional limit, the value resets to 0. When this property's value is 0, that
3145      * means there is no movement currently occurring.
3146      *
3147      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3148      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3149      * All integers between min and max value are supported.
3150      *
3151      * <p>Property Config:
3152      * <ul>
3153      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3154      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3155      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3156      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3157      *  <li>{@code Integer} property type
3158      * </ul>
3159      *
3160      * <p>Required Permission:
3161      * <ul>
3162      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read and
3163      *  write property.
3164      * </ul>
3165      */
3166     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3167     @AddedInOrBefore(majorVersion = 33)
3168     public static final int SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 356518804;
3169 
3170     /**
3171      * Headrest height position.
3172      *
3173      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
3174      *
3175      * <p>Trying to get/set this property will cause {@link SecurityException}.
3176      *
3177      * @deprecated because it is defined as type {@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL},
3178      * which means all seats use the same value. Use {@link #SEAT_HEADREST_HEIGHT_POS_V2} instead
3179      * which fixes this issue by being defined as type
3180      * {@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}.
3181      */
3182     @Deprecated
3183     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3184     @AddedInOrBefore(majorVersion = 33)
3185     public static final int SEAT_HEADREST_HEIGHT_POS = 289409941;
3186 
3187     /**
3188      * Headrest height position.
3189      *
3190      * <p>This property is not in any particular unit but in a specified range of relative
3191      * positions.
3192      *
3193      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
3194      * headrest's shortest position.
3195      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
3196      * headrest's tallest position.
3197      *
3198      * <p>All integers between the min and max values are supported and indicate a transition state
3199      * between the shortest and tallest positions.
3200      *
3201      * <p>{@link android.car.hardware.CarPropertyConfig#getAreaIds()} specifies which seats are
3202      * supported.
3203      *
3204      * <p>Property Config:
3205      * <ul>
3206      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3207      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3208      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3209      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3210      *  <li>{@code Integer} property type
3211      * </ul>
3212      *
3213      * <p>Required Permission:
3214      * <ul>
3215      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read
3216      *  and write property.
3217      * </ul>
3218      */
3219     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3220     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3221              minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3222     public static final int SEAT_HEADREST_HEIGHT_POS_V2 = 356518820;
3223 
3224     /**
3225      * Headrest height move.
3226      *
3227      * <p>This property is not in any particular unit but in a specified range of relative movement
3228      * speeds.
3229      *
3230      * <p>Positive values mean the headrest is moving up and negative values mean the headrest is
3231      * moving down. Larger integers, either positive or negative, indicate a faster speed. Once the
3232      * headrest reaches the positional limit, the value resets to 0. When this property's value is
3233      * 0, that means there is no movement currently occurring.
3234      *
3235      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3236      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3237      * All integers between min and max value are supported.
3238      *
3239      * <p>Property Config:
3240      * <ul>
3241      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3242      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3243      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3244      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3245      *  <li>{@code Integer} property type
3246      * </ul>
3247      *
3248      * <p>Required Permission:
3249      * <ul>
3250      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read
3251      *  and write property.
3252      * </ul>
3253      */
3254     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3255     @AddedInOrBefore(majorVersion = 33)
3256     public static final int SEAT_HEADREST_HEIGHT_MOVE = 356518806;
3257     /**
3258      * Headrest angle position.
3259      *
3260      * <p>This property is not in any particular unit but in a specified range of relative
3261      * positions.
3262      *
3263      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
3264      * headrest's full recline position.
3265      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
3266      * headrest's most upright/forward position.
3267      *
3268      * <p>All integers between the min and max values are supported and indicate a transition state
3269      * between the forward most and rearward most positions.
3270      *
3271      * <p>Property Config:
3272      * <ul>
3273      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3274      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3275      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3276      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3277      *  <li>{@code Integer} property type
3278      * </ul>
3279      *
3280      * <p>Required Permission:
3281      * <ul>
3282      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read
3283      *  and write property.
3284      * </ul>
3285      */
3286     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3287     @AddedInOrBefore(majorVersion = 33)
3288     public static final int SEAT_HEADREST_ANGLE_POS = 356518807;
3289     /**
3290      * Headrest angle move.
3291      *
3292      * <p>This property is not in any particular unit but in a specified range of relative movement
3293      * speeds.
3294      *
3295      * <p>Positive values mean the headrest is moving upright/forward and negative values mean the
3296      * headrest is reclining. Larger integers, either positive or negative, indicate a faster speed.
3297      * Once the headrest reaches the positional limit, the value resets to 0. When this property's
3298      * value is 0, that means there is no movement currently occurring.
3299      *
3300      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3301      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3302      * All integers between min and max value are supported.
3303      *
3304      * <p>Property Config:
3305      * <ul>
3306      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3307      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3308      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3309      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3310      *  <li>{@code Integer} property type
3311      * </ul>
3312      *
3313      * <p>Required Permission:
3314      * <ul>
3315      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read
3316      *  and write property.
3317      * </ul>
3318      */
3319     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3320     @AddedInOrBefore(majorVersion = 33)
3321     public static final int SEAT_HEADREST_ANGLE_MOVE = 356518808;
3322     /**
3323      * Headrest fore/aft position.
3324      *
3325      * <p>This property is not in any particular unit but in a specified range of relative
3326      * positions.
3327      *
3328      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
3329      * headrest's rearward-most linear position.
3330      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
3331      * headrest's forward-most linear position.
3332      *
3333      * <p>All integers between the min and max values are supported and indicate a transition state
3334      * between the forward most and rearward most positions.
3335      *
3336      * <p>Property Config:
3337      * <ul>
3338      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3339      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3340      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3341      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3342      *  <li>{@code Integer} property type
3343      * </ul>
3344      *
3345      * <p>Required Permission:
3346      * <ul>
3347      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read
3348      *  and write property.
3349      * </ul>
3350      */
3351     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3352     @AddedInOrBefore(majorVersion = 33)
3353     public static final int SEAT_HEADREST_FORE_AFT_POS = 356518809;
3354     /**
3355      * Headrest fore/aft move.
3356      *
3357      * <p>This property is not in any particular unit but in a specified range of relative movement
3358      * speeds.
3359      *
3360      * <p>Positive values mean the headrest is moving forward towards the front of the seat and
3361      * negative values mean the headrest is moving backward away from the front of the seat. Larger
3362      * integers, either positive or negative, indicate a faster speed. Once the headrest reaches the
3363      * positional limit, the value resets to 0. When this property's value is 0, that means there is
3364      * no movement currently occurring.
3365      *
3366      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3367      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3368      * All integers between min and max value are supported.
3369      *
3370      * <p>Property Config:
3371      * <ul>
3372      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3373      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3374      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3375      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3376      *  <li>{@code Integer} property type
3377      * </ul>
3378      *
3379      * <p>Required Permission:
3380      * <ul>
3381      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read
3382      *  and write property.
3383      * </ul>
3384      */
3385     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3386     @AddedInOrBefore(majorVersion = 33)
3387     public static final int SEAT_HEADREST_FORE_AFT_MOVE = 356518810;
3388     /**
3389      * Represents property for state of the footwell lights.
3390      *
3391      * <p>{@code SEAT_FOOTWELL_LIGHTS_STATE} reflects the current state of the lights at any point
3392      * in time. This is different from the function of {@link #SEAT_FOOTWELL_LIGHTS_SWITCH} which
3393      * represents the position of the switch controlling the lights. Therefore, {@code
3394      * SEAT_FOOTWELL_LIGHTS_STATE} may not match the value of {@link #SEAT_FOOTWELL_LIGHTS_SWITCH}
3395      * (e.g. {@link #SEAT_FOOTWELL_LIGHTS_SWITCH}={@code VehicleLightSwitch#STATE_AUTOMATIC} and
3396      * {@code SEAT_FOOTWELL_LIGHTS_STATE}={@code VehicleLightState#STATE_ON}).
3397      *
3398      * <p>This property will only be implemented if {@code SEAT_FOOTWELL_LIGHTS_STATE}'s value may
3399      * be different from that of {@link #CABIN_LIGHTS_STATE}.
3400      *
3401      * <p>For each supported area ID, the {@link
3402      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} obtained from {@link
3403      * android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which enum values from
3404      * {@code VehicleLightState} are supported.
3405      *
3406      * <p>Property Config:
3407      * <ul>
3408      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3409      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3410      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3411      *  <li>{@code Integer} property type
3412      * </ul>
3413      *
3414      * <p>Required Permission:
3415      * <ul>
3416      *  <li>Signature|Privileged permission "android.car.permission.READ_CAR_INTERIOR_LIGHTS" to
3417      *  read property.
3418      *  <li>Property is not writable.
3419      * </ul>
3420      */
3421     @RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS)
3422     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3423             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3424     public static final int SEAT_FOOTWELL_LIGHTS_STATE = 356518811;
3425     /**
3426      * Represents property for switch of the footwell lights.
3427      *
3428      * <p>{@code SEAT_FOOTWELL_LIGHTS_SWITCH} represents the position of the switch controlling the
3429      * lights. This is different from the function of {@link #SEAT_FOOTWELL_LIGHTS_STATE} which
3430      * reflects the current state of the lights at any point in time. Therefore, {@code
3431      * SEAT_FOOTWELL_LIGHTS_SWITCH} may not match the value of {@link #SEAT_FOOTWELL_LIGHTS_STATE}
3432      * (e.g. {@code SEAT_FOOTWELL_LIGHTS_SWITCH}={@code VehicleLightSwitch#STATE_AUTOMATIC} and
3433      * {@link #SEAT_FOOTWELL_LIGHTS_STATE}={@code VehicleLightState#STATE_ON}).
3434      *
3435      * <p>This property will only be implemented if {@code SEAT_FOOTWELL_LIGHTS_SWITCH}'s value may
3436      * be different from that of {@link #CABIN_LIGHTS_SWITCH}.
3437      *
3438      * <p>For each supported area ID, the {@link
3439      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} obtained from {@link
3440      * android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which enum values from
3441      * {@code VehicleLightSwitch} are supported.
3442      *
3443      * <p>Property Config:
3444      * <ul>
3445      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3446      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3447      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3448      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3449      *  <li>{@code Integer} property type
3450      * </ul>
3451      *
3452      * <p>Required Permission:
3453      * <ul>
3454      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_INTERIOR_LIGHTS" to
3455      *  read and write property.
3456      * </ul>
3457      */
3458     @RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
3459     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3460             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3461     public static final int SEAT_FOOTWELL_LIGHTS_SWITCH = 356518812;
3462     /**
3463      * Represents property for Seat easy access feature.
3464      *
3465      * <p>If true, the seat will automatically adjust to make it easier for the occupant to enter
3466      * and exit the vehicle. Each area ID maps to the seat that the user is trying to enter/exit
3467      * with the help of the easy access feature.
3468      *
3469      * <p>Property Config:
3470      * <ul>
3471      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3472      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3473      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3474      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3475      *  <li>{@code Boolean} property type
3476      * </ul>
3477      *
3478      * <p>Required Permission:
3479      * <ul>
3480      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
3481      *  write property.
3482      * </ul>
3483      *
3484      * @hide
3485      */
3486     @SystemApi
3487     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3488     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3489             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3490     public static final int SEAT_EASY_ACCESS_ENABLED = 354421661;
3491     /**
3492      * Represents feature to enable/disable a seat's ability to deploy airbag(s) when triggered
3493      * (e.g. by a crash).
3494      *
3495      * <p>If true, it means the seat's airbags are enabled, and if triggered (e.g. by a crash), they
3496      * will deploy. If false, it means the seat's airbags are disabled, and they will not deploy
3497      * under any circumstance. This property does not indicate if the airbags are deployed or not.
3498      *
3499      * <p>Property Config:
3500      * <ul>
3501      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3502      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3503      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3504      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3505      *  <li>{@code Boolean} property type
3506      * </ul>
3507      *
3508      * <p>Required Permission:
3509      * <ul>
3510      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_AIRBAGS} to read and
3511      *  write property.
3512      * </ul>
3513      *
3514      * @hide
3515      */
3516     @SystemApi
3517     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_AIRBAGS)
3518     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3519             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3520     public static final int SEAT_AIRBAG_ENABLED = 354421662;
3521     /**
3522      * Represents property for seat’s hipside (bottom cushion’s side) support position.
3523      *
3524      * <p>This property is not in any particular unit but in a specified range of relative
3525      * positions.
3526      *
3527      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
3528      * hipside support's thinnest position (i.e. most support).
3529      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
3530      * hipside support's widest position (i.e. least support).
3531      *
3532      * <p>All integers between the min and max values are supported and indicate a transition state
3533      * between the thinnest and widest positions.
3534      *
3535      * <p>Property Config:
3536      * <ul>
3537      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3538      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3539      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3540      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3541      *  <li>{@code Integer} property type
3542      * </ul>
3543      *
3544      * <p>Required Permission:
3545      * <ul>
3546      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
3547      *  write property.
3548      * </ul>
3549      *
3550      * @hide
3551      */
3552     @SystemApi
3553     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3554     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3555             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3556     public static final int SEAT_CUSHION_SIDE_SUPPORT_POS = 356518815;
3557     /**
3558      * Represents property for movement direction and speed of seat cushion side support.
3559      *
3560      * <p>This property is not in any particular unit but in a specified range of relative movement
3561      * speeds.
3562      *
3563      * <p>Positive values means the seat cushion side support is growing wider (i.e. less support)
3564      * and negative values means the seat cushion side support is growing thinner (i.e. more
3565      * support). Larger integers, either positive or negative, indicate a faster speed. Once the
3566      * seat cushion side support reaches the positional limit, the value resets to 0. When this
3567      * property's value is 0, that means there is no movement currently occurring.
3568      *
3569      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3570      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3571      * All integers between min and max value are supported.
3572      *
3573      * <p>Property Config:
3574      * <ul>
3575      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3576      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3577      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3578      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3579      *  <li>{@code Integer} property type
3580      * </ul>
3581      *
3582      * <p>Required Permission:
3583      * <ul>
3584      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
3585      *  write property.
3586      * </ul>
3587      *
3588      * @hide
3589      */
3590     @SystemApi
3591     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3592     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3593             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3594     public static final int SEAT_CUSHION_SIDE_SUPPORT_MOVE = 356518816;
3595     /**
3596      * Represents property for seat’s lumbar support vertical position.
3597      *
3598      * <p>This property is not in any particular unit but in a specified range of relative
3599      * positions.
3600      *
3601      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the seat
3602      * lumbar support's lowest position.
3603      * <p>The {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat
3604      * lumbar support's highest position.
3605      *
3606      * <p>All integers between the min and max values are supported and indicate a transition state
3607      * between the lowest and highest positions.
3608      *
3609      * <p>Property Config:
3610      * <ul>
3611      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3612      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3613      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3614      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3615      *  <li>{@code Integer} property type
3616      * </ul>
3617      *
3618      * <p>Required Permission:
3619      * <ul>
3620      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
3621      *  write property.
3622      * </ul>
3623      *
3624      * @hide
3625      */
3626     @SystemApi
3627     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3628     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3629             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3630     public static final int SEAT_LUMBAR_VERTICAL_POS = 356518817;
3631     /**
3632      * Represents property for vertical movement direction and speed of seat lumbar support.
3633      *
3634      * <p>This property is not in any particular unit but in a specified range of relative movement
3635      * speeds.
3636      *
3637      * <p>Positive values mean the lumbar support is moving up and negative values mean the lumbar
3638      * support is moving down. Larger integers, either positive or negative, indicate a faster
3639      * speed. Once the lumbar support reaches the positional limit, the value resets to 0. When this
3640      * property's value is 0, that means there is no movement currently occurring.
3641      *
3642      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3643      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3644      * All integers between min and max value are supported.
3645      *
3646      * <p>Property Config:
3647      * <ul>
3648      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3649      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3650      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3651      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3652      *  <li>{@code Integer} property type
3653      * </ul>
3654      *
3655      * <p>Required Permission:
3656      * <ul>
3657      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
3658      *  write property.
3659      * </ul>
3660      *
3661      * @hide
3662      */
3663     @SystemApi
3664     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3665     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3666             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3667     public static final int SEAT_LUMBAR_VERTICAL_MOVE = 356518818;
3668     /**
3669      * Represents property that indicates the current walk-in position of the seat.
3670      *
3671      * <p>This property is not in any particular unit but in a specified range of relative
3672      * positions.
3673      *
3674      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the normal seat
3675      * position.
3676      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the seat's
3677      * position in full walk-in mode.
3678      *
3679      * <p>All integers in between the min and max values are supported and indicate a transition
3680      * state between the normal and walk-in positions. The area IDs match the seats that actually
3681      * move when the walk-in feature activates.
3682      *
3683      * <p>Property Config:
3684      * <ul>
3685      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3686      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3687      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3688      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3689      *  <li>{@code Integer} property type
3690      * </ul>
3691      *
3692      * <p>Required Permission:
3693      * <ul>
3694      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_CAR_SEATS} to read and
3695      *  write property.
3696      * </ul>
3697      *
3698      * @hide
3699      */
3700     @SystemApi
3701     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3702     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3703             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3704     public static final int SEAT_WALK_IN_POS = 356518819;
3705     /**
3706      * Seat Occupancy.
3707      *
3708      * <p>Property Config:
3709      * <ul>
3710      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3711      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
3712      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3713      *  <li>{@code Integer} property type
3714      * </ul>
3715      *
3716      * <p>Required Permission:
3717      * <ul>
3718      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_SEATS" to read
3719      *  property.
3720      *  <li>Property is not writable.
3721      * </ul>
3722      */
3723     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS)
3724     @AddedInOrBefore(majorVersion = 33)
3725     public static final int SEAT_OCCUPANCY = 356518832;
3726     /**
3727      * Window Position.
3728      *
3729      * <p>This property is not in any particular unit but in a specified range of relative
3730      * positions.
3731      *
3732      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the window's
3733      * position when closed/fully open out of plane. If the window cannot open out of plane, then
3734      * {@link android.car.hardware.property.AreaIdConfig#getMinValue()} is the position of the
3735      * window when fully closed and must be 0. If the window can open out of plane, {@link
3736      * android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the window is fully open
3737      * in its position out of plane and will be a negative value.
3738      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the window's
3739      * position when fully open.
3740      *
3741      * <p>All integers in between the min and max values are supported and indicate a transition
3742      * state between the closed and fully open positions.
3743      *
3744      * <p>Property Config:
3745      * <ul>
3746      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3747      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3748      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
3749      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3750      *  <li>{@code Integer} property type
3751      * </ul>
3752      *
3753      * <p>Required Permission:
3754      * <ul>
3755      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_WINDOWS" to read and
3756      *  write property.
3757      * </ul>
3758      */
3759     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS)
3760     @AddedInOrBefore(majorVersion = 33)
3761     public static final int WINDOW_POS = 322964416;
3762     /**
3763      * Window Move.
3764      *
3765      * <p>This property is not in any particular unit but in a specified range of relative movement
3766      * speeds.
3767      *
3768      * <p>Positive values mean the window is either closing from its out of plane position (if such
3769      * a position is supported by the window), or is opening in plane. Negative values mean the
3770      * window is closing in plane, or opening in its out of plane position (if the position is
3771      * supported). Larger integers, either positive or negative, indicate a faster speed. Once the
3772      * window reaches the positional limit, the value resets to 0. When this property's value is 0,
3773      * that means there is no movement currently occurring.
3774      *
3775      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3776      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3777      * All integers between min and max value are supported.
3778      *
3779      * <p>Property Config:
3780      * <ul>
3781      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3782      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3783      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
3784      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3785      *  <li>{@code Integer} property type
3786      * </ul>
3787      *
3788      * <p>Required Permission:
3789      * <ul>
3790      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_WINDOWS" to read and
3791      *  write property.
3792      * </ul>
3793      */
3794     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS)
3795     @AddedInOrBefore(majorVersion = 33)
3796     public static final int WINDOW_MOVE = 322964417;
3797     /**
3798      * Window Lock.
3799      *
3800      * <p>Property Config:
3801      * <ul>
3802      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3803      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3804      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
3805      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3806      *  <li>{@code Boolean} property type
3807      * </ul>
3808      *
3809      * <p>Required Permission:
3810      * <ul>
3811      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_WINDOWS" to read and
3812      *  write property.
3813      * </ul>
3814      */
3815     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS)
3816     @AddedInOrBefore(majorVersion = 33)
3817     public static final int WINDOW_LOCK = 320867268;
3818 
3819     /**
3820      * Windshield wipers period (milliseconds).
3821      *
3822      * <p>Returns the instantaneous time period for 1 full cycle of the windshield wipers in {@link
3823      * android.car.VehicleUnit#MILLI_SECS}. A full cycle is defined as a wiper moving from and
3824      * returning to its rest position. The {@link
3825      * android.car.hardware.property.AreaIdConfig#getMaxValue()} specifies the longest wiper period.
3826      * The {@link android.car.hardware.property.AreaIdConfig#getMinValue()} is always 0. When an
3827      * intermittent wiper setting is selected, this property value will be set to 0 during the
3828      * "pause" phase of the intermittent wiping.
3829      *
3830      * <p>Property Config:
3831      * <ul>
3832      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3833      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
3834      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3835      *  <li>{@code Integer} property type
3836      * </ul>
3837      *
3838      * <p>Required Permission:
3839      * <ul>
3840      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_WINDSHIELD_WIPERS} to read
3841      *  property.
3842      *  <li>Property is not writable.
3843      * </ul>
3844      *
3845      * @hide
3846      */
3847     @SystemApi
3848     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_WINDSHIELD_WIPERS))
3849     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3850              minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3851     public static final int WINDSHIELD_WIPERS_PERIOD = 322964421;
3852 
3853     /**
3854      * Windshield wipers state.
3855      *
3856      * <p>Returns the current state of the windshield wipers. The value of {@code
3857      * WINDSHIELD_WIPERS_STATE} may not match the value of {@link #WINDSHIELD_WIPERS_SWITCH}. (e.g.
3858      * {@code #WINDSHIELD_WIPERS_STATE} = {@link
3859      * android.car.hardware.property.WindshieldWipersState#ON} and {@link
3860      * #WINDSHIELD_WIPERS_SWITCH} = {@link
3861      * android.car.hardware.property.WindshieldWipersSwitch#AUTO}).
3862      *
3863      * <p>If {@code #WINDSHIELD_WIPERS_STATE} = {@link
3864      * android.car.hardware.property.WindshieldWipersState#ON} and {@link #WINDSHIELD_WIPERS_PERIOD}
3865      * is implemented, then {@link #WINDSHIELD_WIPERS_PERIOD} will reflect the time period of 1
3866      * full cycle of the wipers.
3867      *
3868      * <p>For each supported area ID, the {@link
3869      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
3870      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
3871      * from {@link android.car.hardware.property.WindshieldWipersState} are supported.
3872      *
3873      * <p>Property Config:
3874      * <ul>
3875      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3876      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
3877      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3878      *  <li>{@code Integer} property type
3879      * </ul>
3880      *
3881      * <p>Required Permission:
3882      * <ul>
3883      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_WINDSHIELD_WIPERS} to read
3884      *  property.
3885      *  <li>Property is not writable.
3886      * </ul>
3887      *
3888      * @hide
3889      */
3890     @SystemApi
3891     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_WINDSHIELD_WIPERS))
3892     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3893              minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3894     public static final int WINDSHIELD_WIPERS_STATE = 322964422;
3895 
3896     /**
3897      * Windshield wipers switch.
3898      *
3899      * <p>Represents the position of the switch controlling the windshield wipers. The value of
3900      * {@code WINDSHIELD_WIPERS_SWITCH} may not match the value of {@link #WINDSHIELD_WIPERS_STATE}
3901      * (e.g. {@code WINDSHIELD_WIPERS_SWITCH} = {@link
3902      * android.car.hardware.property.WindshieldWipersSwitch#AUTO} and {@link
3903      * #WINDSHIELD_WIPERS_STATE} = WindshieldWipersState#ON).
3904      *
3905      * <p>For each supported area ID, the {@link
3906      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
3907      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which values
3908      * from {@link android.car.hardware.property.WindshieldWipersSwitch} are supported.
3909      *
3910      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
3911      * only.
3912      *
3913      * <p>Property Config:
3914      * <ul>
3915      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3916      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3917      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_WINDOW}
3918      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3919      *  <li>{@code Integer} property type
3920      * </ul>
3921      *
3922      * <p>Required Permissions:
3923      * <ul>
3924      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_WINDSHIELD_WIPERS} to read
3925      *  property.
3926      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_WINDSHIELD_WIPERS} to
3927      *  write property.
3928      * </ul>
3929      *
3930      * @hide
3931      */
3932     @SystemApi
3933     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_WINDSHIELD_WIPERS))
3934     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_WINDSHIELD_WIPERS))
3935     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3936              minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3937     public static final int WINDSHIELD_WIPERS_SWITCH = 322964423;
3938 
3939     /**
3940      * Steering wheel depth position.
3941      *
3942      * <p>This property is not in any particular unit but in a specified range of relative
3943      * positions.
3944      *
3945      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the steering
3946      * wheel's position when closest to the driver.
3947      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the steering
3948      * wheel's position when farthest from the driver.
3949      *
3950      * <p>All integers in between the min and max values are supported and indicate a transition
3951      * state between the closest and farthest positions.
3952      *
3953      * <p>Property Config:
3954      * <ul>
3955      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3956      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3957      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
3958      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3959      *  <li>{@code Integer} property type
3960      * </ul>
3961      *
3962      * <p>Required Permission:
3963      * <ul>
3964      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
3965      *  and write property.
3966      * </ul>
3967      *
3968      * @hide
3969      */
3970     @SystemApi
3971     @RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
3972     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
3973             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
3974     public static final int STEERING_WHEEL_DEPTH_POS = 289410016;
3975     /**
3976      * Steering wheel depth movement.
3977      *
3978      * <p>Returns the speed and direction, either towards or away from the driver, that the
3979      * steering wheel is moving in. This property is not in any particular unit but in a specified
3980      * range of relative movement speeds.
3981      *
3982      * <p>Positive values mean the steering wheel is moving away from the driver and negative values
3983      * mean the steering wheel is moving towards the driver. Larger integers, either positive or
3984      * negative, indicate a faster speed. Once the steering wheel reaches the positional limit, the
3985      * value resets to 0. When this property's value is 0, that means there is no movement currently
3986      * occurring.
3987      *
3988      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
3989      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
3990      * All integers between min and max value are supported.
3991      *
3992      * <p>Property Config:
3993      * <ul>
3994      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
3995      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
3996      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
3997      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
3998      *  <li>{@code Integer} property type
3999      * </ul>
4000      *
4001      * <p>Required Permission:
4002      * <ul>
4003      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
4004      *  and write property.
4005      * </ul>
4006      *
4007      * @hide
4008      */
4009     @SystemApi
4010     @RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
4011     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4012             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4013     public static final int STEERING_WHEEL_DEPTH_MOVE = 289410017;
4014     /**
4015      * Steering wheel height position.
4016      *
4017      * <p>This property is not in any particular unit but in a specified range of relative
4018      * positions.
4019      *
4020      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} indicates the steering
4021      * wheel's lowest position.
4022      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} indicates the steering
4023      * wheel's highest position.
4024      *
4025      * <p>All integers in between the min and max values are supported and indicate a transition
4026      * state between the lowest and highest positions.
4027      *
4028      * <p>Property Config:
4029      * <ul>
4030      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4031      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4032      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4033      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4034      *  <li>{@code Integer} property type
4035      * </ul>
4036      *
4037      * <p>Required Permission:
4038      * <ul>
4039      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
4040      *  and write property.
4041      * </ul>
4042      *
4043      * @hide
4044      */
4045     @SystemApi
4046     @RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
4047     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4048             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4049     public static final int STEERING_WHEEL_HEIGHT_POS = 289410018;
4050     /**
4051      * Steering wheel height movement.
4052      *
4053      * <p>Returns the speed and direction, either upwards or downwards, that the steering wheel is
4054      * moving in. This property is not in any particular unit but in a specified range of relative
4055      * movement speeds.
4056      *
4057      * <p>Positive values mean moving upwards and negative values mean moving downwards. Larger
4058      * integers, either positive or negative, indicate a faster speed. Once the steering wheel
4059      * reaches the positional limit, the value resets to 0. When this property's value is 0, that
4060      * means there is no movement currently occurring.
4061      *
4062      * <p>See {@link android.car.hardware.property.AreaIdConfig#getMaxValue()} and {@link
4063      * android.car.hardware.property.AreaIdConfig#getMinValue()} for the range of possible speeds.
4064      * All integers between min and max value are supported.
4065      *
4066      * <p>Property Config:
4067      * <ul>
4068      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4069      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4070      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4071      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4072      *  <li>{@code Integer} property type
4073      * </ul>
4074      *
4075      * <p>Required Permission:
4076      * <ul>
4077      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
4078      *  and write property.
4079      * </ul>
4080      *
4081      * @hide
4082      */
4083     @SystemApi
4084     @RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
4085     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4086             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4087     public static final int STEERING_WHEEL_HEIGHT_MOVE = 289410019;
4088     /**
4089      * Steering wheel theft lock feature enabled.
4090      *
4091      * <p>Returns true if the steering wheel theft lock feature is enabled and false if it is
4092      * disabled. If enabled, the steering wheel will lock automatically to prevent theft in
4093      * certain situations.
4094      *
4095      * <p>Property Config:
4096      * <ul>
4097      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4098      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4099      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4100      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4101      *  <li>{@code Boolean} property type
4102      * </ul>
4103      *
4104      * <p>Required Permission:
4105      * <ul>
4106      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
4107      *  and write property.
4108      * </ul>
4109      *
4110      * @hide
4111      */
4112     @SystemApi
4113     @RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
4114     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4115             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4116     public static final int STEERING_WHEEL_THEFT_LOCK_ENABLED = 287312868;
4117     /**
4118      * Steering wheel locked.
4119      *
4120      * <p>Returns true if the steering wheel is locked. If locked, the steering wheel’s position is
4121      * not changeable.
4122      *
4123      * <p>Property Config:
4124      * <ul>
4125      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4126      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4127      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4128      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4129      *  <li>{@code Boolean} property type
4130      * </ul>
4131      *
4132      * <p>Required Permission:
4133      * <ul>
4134      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
4135      *  and write property.
4136      * </ul>
4137      *
4138      * @hide
4139      */
4140     @SystemApi
4141     @RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
4142     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4143             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4144     public static final int STEERING_WHEEL_LOCKED = 287312869;
4145     /**
4146      * Steering wheel easy access feature enabled.
4147      *
4148      * <p>Returns true if the steering wheel easy access feature is enabled and false if it is
4149      * disabled. If enabled, the driver’s steering wheel will automatically adjust to make it easier
4150      * for the driver to enter and exit the vehicle.
4151      *
4152      * <p>Property Config:
4153      * <ul>
4154      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4155      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4156      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4157      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4158      *  <li>{@code Boolean} property type
4159      * </ul>
4160      *
4161      * <p>Required Permission:
4162      * <ul>
4163      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_STEERING_WHEEL} to read
4164      *  and write property.
4165      * </ul>
4166      *
4167      * @hide
4168      */
4169     @SystemApi
4170     @RequiresPermission(Car.PERMISSION_CONTROL_STEERING_WHEEL)
4171     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4172             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4173     public static final int STEERING_WHEEL_EASY_ACCESS_ENABLED = 287312870;
4174     /**
4175      * Vehicle Maps Service (VMS) message.
4176      *
4177      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
4178      *
4179      * <p>Trying to get/set this property will cause {@link SecurityException}.
4180      *
4181      * Deprecated, use {@link android.car.vms.VmsClientManager} instead.
4182      */
4183     @RequiresPermission(anyOf = {Car.PERMISSION_VMS_PUBLISHER, Car.PERMISSION_VMS_SUBSCRIBER})
4184     @AddedInOrBefore(majorVersion = 33)
4185     public static final int VEHICLE_MAP_SERVICE = 299895808;
4186     /**
4187      * Characterization of inputs used for computing location.
4188      *
4189      * <p>This property indicates what (if any) data and sensor inputs are considered by the system
4190      * when computing the vehicle's location that is shared with Android through {@link
4191      * android.location.LocationManager#GPS_PROVIDER}.
4192      *
4193      * <p>The value returned is a collection of bit flags. The bit flags are defined in {@link
4194      * android.car.hardware.property.LocationCharacterization}. The value will also include exactly
4195      * one of {@link android.car.hardware.property.LocationCharacterization#DEAD_RECKONED} or {@link
4196      * android.car.hardware.property.LocationCharacterization#RAW_GNSS_ONLY} among its collection of
4197      * bit flags.
4198      *
4199      * <p>When this property is not supported, it is assumed that no additional sensor inputs are
4200      * fused into the GNSS updates provided through {@link
4201      * android.location.LocationManager#GPS_PROVIDER}. That is unless otherwise specified through
4202      * other {@link android.location.LocationManager} APIs.
4203      *
4204      * <p>Property Config:
4205      * <ul>
4206      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4207      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4208      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
4209      *  <li>{@code Integer} property type
4210      * </ul>
4211      *
4212      * <p>Required Permission:
4213      * <ul>
4214      *  <li>Dangerous permission {@link android.Manifest.permission#ACCESS_FINE_LOCATION} to read
4215      *  property.
4216      *  <li>Property is not writable.
4217      * </ul>
4218      */
4219     @RequiresPermission(ACCESS_FINE_LOCATION)
4220     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4221             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4222     public static final int LOCATION_CHARACTERIZATION = 289410064;
4223     /**
4224      * OBD2 Live Sensor Data.
4225      *
4226      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
4227      *
4228      * <p>Trying to get/set this property will cause {@link SecurityException}.
4229      *
4230      * Deprecated, use {@link android.car.diagnostic.CarDiagnosticManager} instead.
4231      */
4232     @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL)
4233     @AddedInOrBefore(majorVersion = 33)
4234     public static final int OBD2_LIVE_FRAME = 299896064;
4235     /**
4236      * OBD2 Freeze Frame Sensor Data.
4237      *
4238      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
4239      *
4240      * <p>Trying to get/set this property will cause {@link SecurityException}.
4241      *
4242      * Deprecated, use {@link android.car.diagnostic.CarDiagnosticManager} instead.
4243      */
4244     @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL)
4245     @AddedInOrBefore(majorVersion = 33)
4246     public static final int OBD2_FREEZE_FRAME = 299896065;
4247     /**
4248      * OBD2 Freeze Frame Information.
4249      *
4250      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
4251      *
4252      * <p>Trying to get/set this property will cause {@link SecurityException}.
4253      *
4254      * Deprecated, use {@link android.car.diagnostic.CarDiagnosticManager} instead.
4255      */
4256     @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL)
4257     @AddedInOrBefore(majorVersion = 33)
4258     public static final int OBD2_FREEZE_FRAME_INFO = 299896066;
4259     /**
4260      * OBD2 Freeze Frame Clear.
4261      *
4262      * <p>Not exposed through {@link android.car.hardware.property.CarPropertyManager}.
4263      *
4264      * <p>Trying to get/set this property will cause {@link SecurityException}.
4265      *
4266      * Deprecated, use {@link android.car.diagnostic.CarDiagnosticManager} instead.
4267      */
4268     @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR)
4269     @AddedInOrBefore(majorVersion = 33)
4270     public static final int OBD2_FREEZE_FRAME_CLEAR = 299896067;
4271     /**
4272      * Headlights State.
4273      *
4274      * <p>Property Config:
4275      * <ul>
4276      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4277      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4278      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4279      *  <li>{@code Integer} property type
4280      * </ul>
4281      *
4282      * <p>Required Permission:
4283      * <ul>
4284      *  <li>Signature|Privileged permission "android.car.permission.CAR_EXTERIOR_LIGHTS" to read
4285      *  property.
4286      *  <li>Property is not writable.
4287      * </ul>
4288      */
4289     @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
4290     @AddedInOrBefore(majorVersion = 33)
4291     public static final int HEADLIGHTS_STATE = 289410560;
4292     /**
4293      * High beam lights state.
4294      *
4295      * <p>Property Config:
4296      * <ul>
4297      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4298      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4299      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4300      *  <li>{@code Integer} property type
4301      * </ul>
4302      *
4303      * <p>Required Permission:
4304      * <ul>
4305      *  <li>Signature|Privileged permission "android.car.permission.CAR_EXTERIOR_LIGHTS" to read
4306      *  property.
4307      *  <li>Property is not writable.
4308      * </ul>
4309      */
4310     @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
4311     @AddedInOrBefore(majorVersion = 33)
4312     public static final int HIGH_BEAM_LIGHTS_STATE = 289410561;
4313     /**
4314      * Fog light state.
4315      *
4316      * <p>If the car has both front and rear fog lights:
4317      * <ul>
4318      *  <li>If front and rear fog lights can only be controlled together: {@code FOG_LIGHTS_STATE}
4319      *  provides the state of fog lights.
4320      *  <li>If front and rear fog lights can only be controlled independently: {@link
4321      *  #FRONT_FOG_LIGHTS_STATE} and {@link #REAR_FOG_LIGHTS_STATE} provide the state of front, rear
4322      *  fog lights respectively.
4323      * </ul>
4324      *
4325      * <p>If the car has only front fog lights:
4326      * <ul>
4327      *  <li>Only one of {@code FOG_LIGHTS_STATE} or {@link #FRONT_FOG_LIGHTS_STATE} will be
4328      *  implemented in the car. The implemented property provides the state of the front fog lights.
4329      * </ul>
4330      *
4331      * <p>If the car has only rear fog lights:
4332      * <ul>
4333      *  <li>Only one of {@code FOG_LIGHTS_STATE} or {@link #REAR_FOG_LIGHTS_STATE} will be
4334      *  implemented in the car. The implemented property provides the state of the rear fog lights.
4335      * </ul>
4336      *
4337      * <p>Property Config:
4338      * <ul>
4339      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4340      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4341      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4342      *  <li>{@code Integer} property type
4343      * </ul>
4344      *
4345      * <p>Required Permission:
4346      * <ul>
4347      *  <li>Signature|Privileged permission "android.car.permission.CAR_EXTERIOR_LIGHTS" to read
4348      *  property.
4349      *  <li>Property is not writable.
4350      * </ul>
4351      */
4352     @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
4353     @AddedInOrBefore(majorVersion = 33)
4354     public static final int FOG_LIGHTS_STATE = 289410562;
4355     /**
4356      * Hazard light status.
4357      *
4358      * <p>Property Config:
4359      * <ul>
4360      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4361      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4362      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4363      *  <li>{@code Integer} property type
4364      * </ul>
4365      *
4366      * <p>Required Permission:
4367      * <ul>
4368      *  <li>Signature|Privileged permission "android.car.permission.CAR_EXTERIOR_LIGHTS" to read
4369      *  property.
4370      *  <li>Property is not writable.
4371      * </ul>
4372      */
4373     @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
4374     @AddedInOrBefore(majorVersion = 33)
4375     public static final int HAZARD_LIGHTS_STATE = 289410563;
4376     /**
4377      * Headlight switch.
4378      *
4379      * <p>Property Config:
4380      * <ul>
4381      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4382      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4383      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4384      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4385      *  <li>{@code Integer} property type
4386      * </ul>
4387      *
4388      * <p>Required Permission:
4389      * <ul>
4390      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS" to
4391      *  read and write property.
4392      * </ul>
4393      */
4394     @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
4395     @AddedInOrBefore(majorVersion = 33)
4396     public static final int HEADLIGHTS_SWITCH = 289410576;
4397     /**
4398      * High beam light switch.
4399      *
4400      * <p>Property Config:
4401      * <ul>
4402      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4403      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4404      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4405      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4406      *  <li>{@code Integer} property type
4407      * </ul>
4408      *
4409      * <p>Required Permission:
4410      * <ul>
4411      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS" to
4412      *  read and write property.
4413      * </ul>
4414      */
4415     @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
4416     @AddedInOrBefore(majorVersion = 33)
4417     public static final int HIGH_BEAM_LIGHTS_SWITCH = 289410577;
4418     /**
4419      * Fog light switch.
4420      *
4421      * <p>If the car has both front and rear fog lights:
4422      * <ul>
4423      *  <li>If front and rear fog lights can only be controlled together: {@code FOG_LIGHTS_SWITCH}
4424      *  should be used to change the fog lights state.
4425      *  <li>If front and rear fog lights can only be controlled independently: {@link
4426      *  #FRONT_FOG_LIGHTS_SWITCH} and {@link #REAR_FOG_LIGHTS_SWITCH} should be used to change the
4427      *  front and rear fog lights state respectively.
4428      * </ul>
4429      *
4430      * <p>If the car has only front fog lights:
4431      * <ul>
4432      *  <li>Only one of {@code FOG_LIGHTS_SWITCH} or {@link #FRONT_FOG_LIGHTS_SWITCH} will be
4433      *  implemented in the car. The implemented property should be used to change the front fog
4434      *  lights state.
4435      * </ul>
4436      *
4437      * <p>If the car has only rear fog lights:
4438      * <ul>
4439      *  <li>Only one of {@code FOG_LIGHTS_SWITCH} or {@link #REAR_FOG_LIGHTS_SWITCH} will be
4440      *  implemented in the car. The implemented property should be used to change the rear fog
4441      *  lights state.
4442      * </ul>
4443      *
4444      * <p>Property Config:
4445      * <ul>
4446      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4447      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4448      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4449      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4450      *  <li>{@code Integer} property type
4451      * </ul>
4452      *
4453      * <p>Required Permission:
4454      * <ul>
4455      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS" to
4456      *  read and write property.
4457      * </ul>
4458      */
4459     @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
4460     @AddedInOrBefore(majorVersion = 33)
4461     public static final int FOG_LIGHTS_SWITCH = 289410578;
4462     /**
4463      * Hazard light switch.
4464      *
4465      * <p>Property Config:
4466      * <ul>
4467      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4468      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4469      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4470      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4471      *  <li>{@code Integer} property type
4472      * </ul>
4473      *
4474      * <p>Required Permission:
4475      * <ul>
4476      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS" to
4477      *  read and write property.
4478      * </ul>
4479      */
4480     @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
4481     @AddedInOrBefore(majorVersion = 33)
4482     public static final int HAZARD_LIGHTS_SWITCH = 289410579;
4483     /**
4484      * Cabin lights.
4485      *
4486      * <p>Property Config:
4487      * <ul>
4488      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4489      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4490      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4491      *  <li>{@code Integer} property type
4492      * </ul>
4493      *
4494      * <p>Required Permission:
4495      * <ul>
4496      *  <li>Signature|Privileged permission "android.car.permission.READ_CAR_INTERIOR_LIGHTS" to
4497      *  read property.
4498      *  <li>Property is not writable.
4499      * </ul>
4500      */
4501     @RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS)
4502     @AddedInOrBefore(majorVersion = 33)
4503     public static final int CABIN_LIGHTS_STATE = 289410817;
4504     /**
4505      * Cabin lights switch.
4506      *
4507      * <p>Property Config:
4508      * <ul>
4509      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4510      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4511      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4512      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4513      *  <li>{@code Integer} property type
4514      * </ul>
4515      *
4516      * <p>Required Permission:
4517      * <ul>
4518      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_INTERIOR_LIGHTS" to
4519      *  read and write property.
4520      * </ul>
4521      */
4522     @RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
4523     @AddedInOrBefore(majorVersion = 33)
4524     public static final int CABIN_LIGHTS_SWITCH = 289410818;
4525     /**
4526      * Reading lights.
4527      *
4528      * <p>Property Config:
4529      * <ul>
4530      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4531      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
4532      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4533      *  <li>{@code Integer} property type
4534      * </ul>
4535      *
4536      * <p>Required Permission:
4537      * <ul>
4538      *  <li>Signature|Privileged permission "android.car.permission.READ_CAR_INTERIOR_LIGHTS" to
4539      *  read property.
4540      *  <li>Property is not writable.
4541      * </ul>
4542      */
4543     @RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS)
4544     @AddedInOrBefore(majorVersion = 33)
4545     public static final int READING_LIGHTS_STATE = 356519683;
4546     /**
4547      * Reading lights switch.
4548      *
4549      * <p>Property Config:
4550      * <ul>
4551      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4552      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4553      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_SEAT}
4554      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4555      *  <li>{@code Integer} property type
4556      * </ul>
4557      *
4558      * <p>Required Permission:
4559      * <ul>
4560      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_INTERIOR_LIGHTS" to
4561      *  read and write property.
4562      * </ul>
4563      */
4564     @RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
4565     @AddedInOrBefore(majorVersion = 33)
4566     public static final int READING_LIGHTS_SWITCH = 356519684;
4567 
4568     /**
4569      * Steering wheel lights state.
4570      *
4571      * <p>Returns the current state of the steering wheel lights. This is different from {@link
4572      * #STEERING_WHEEL_LIGHTS_SWITCH} which represents the position of the switch controlling
4573      * the lights. Therefore, {@code STEERING_WHEEL_LIGHTS_STATE} may not match the value of
4574      * {@link #STEERING_WHEEL_LIGHTS_SWITCH} (e.g. {@link #STEERING_WHEEL_LIGHTS_SWITCH}={@code
4575      * VehicleLightSwitch#STATE_AUTOMATIC} and {@code STEERING_WHEEL_LIGHTS_STATE}={@code
4576      * VehicleLightState#STATE_ON}).
4577      *
4578      * <p>This property will only be implemented if {@code STEERING_WHEEL_LIGHTS_STATE}'s value may
4579      * be different from that of {@link #CABIN_LIGHTS_STATE}.
4580      *
4581      * <p>For the global area ID (0), the {@link
4582      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} obtained from {@link
4583      * android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which enum values from
4584      * {@code VehicleLightState} are supported.
4585      *
4586      * <p>Property Config:
4587      * <ul>
4588      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4589      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4590      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4591      *  <li>{@code Integer} property type
4592      * </ul>
4593      *
4594      * <p>Required Permission:
4595      * <ul>
4596      *  <li>Signature|Privileged permission "android.car.permission.READ_CAR_INTERIOR_LIGHTS" to
4597      *  read property.
4598      *  <li>Property is not writable.
4599      * </ul>
4600      */
4601     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS))
4602     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4603             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4604     public static final int STEERING_WHEEL_LIGHTS_STATE = 289410828;
4605 
4606     /**
4607      * Steering wheel lights switch.
4608      *
4609      * <p>Returns the position of the switch controlling the steering wheel lights. This is
4610      * different from {@link #STEERING_WHEEL_LIGHTS_STATE} which represents the current state of the
4611      * steering wheel lights. Therefore, {@code STEERING_WHEEL_LIGHTS_SWITCH} may not match the
4612      * value of {@link #STEERING_WHEEL_LIGHTS_STATE} (e.g. {@code STEERING_WHEEL_LIGHTS_SWITCH}=
4613      * {@code VehicleLightSwitch#STATE_AUTOMATIC} and {@link #STEERING_WHEEL_LIGHTS_STATE}={@code
4614      * VehicleLightState#STATE_ON}).
4615      *
4616      * <p>This property will only be implemented if {@code STEERING_WHEEL_LIGHTS_SWITCH}'s value may
4617      * be different from that of {@link #CABIN_LIGHTS_SWITCH}.
4618      *
4619      * <p>For the global area ID (0), the {@link
4620      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} obtained from {@link
4621      * android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which enum values from
4622      * {@code VehicleLightSwitch} are supported.
4623      *
4624      * <p>Property Config:
4625      * <ul>
4626      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
4627      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4628      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4629      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4630      *  <li>{@code Integer} property type
4631      * </ul>
4632      *
4633      * <p>Required Permission:
4634      * <ul>
4635      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_INTERIOR_LIGHTS" to
4636      *  read and write property.
4637      * </ul>
4638      */
4639     @RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS)
4640     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
4641             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
4642     public static final int STEERING_WHEEL_LIGHTS_SWITCH = 289410829;
4643 
4644     /**
4645      * Property to get the initial settings for multi-user management (such as initial user).
4646      *
4647      * <p>Doesn't require permission because it's not exposed through
4648      * {@link android.car.hardware.property.CarPropertyManager}.
4649      *
4650      * <p>Property Config:
4651      * <ul>
4652      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
4653      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4654      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4655      *  <li>{@code Object[]} property type
4656      * </ul>
4657      *
4658      * @hide
4659      */
4660     @AddedInOrBefore(majorVersion = 33)
4661     public static final int INITIAL_USER_INFO = 299896583;
4662 
4663     /**
4664      * Property to switch user for multi-user management.
4665      *
4666      * <p>Doesn't require permission because it's not exposed through
4667      * {@link android.car.hardware.property.CarPropertyManager}.
4668      *
4669      * <p>Property Config:
4670      * <ul>
4671      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
4672      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4673      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4674      *  <li>{@code Object[]} property type
4675      * </ul>
4676      *
4677      * @hide
4678      */
4679     @AddedInOrBefore(majorVersion = 33)
4680     public static final int SWITCH_USER = 299896584;
4681 
4682     /**
4683      * Property to create a new user for multi-user management.
4684      *
4685      * <p>Doesn't require permission because it's not exposed through
4686      * {@link android.car.hardware.property.CarPropertyManager}.
4687      *
4688      * <p>Property Config:
4689      * <ul>
4690      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
4691      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4692      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4693      *  <li>{@code Object[]} property type
4694      * </ul>
4695      *
4696      * @hide
4697      */
4698     @AddedInOrBefore(majorVersion = 33)
4699     public static final int CREATE_USER = 299896585;
4700 
4701     /**
4702      * Property to remove a new user for multi-user management.
4703      *
4704      * <p>Doesn't require permission because it's not exposed through
4705      * {@link android.car.hardware.property.CarPropertyManager}.
4706      *
4707      * <p>Property Config:
4708      * <ul>
4709      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
4710      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4711      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
4712      *  <li>{@code Object[]} property type
4713      * </ul>
4714      *
4715      * @hide
4716      */
4717     @AddedInOrBefore(majorVersion = 33)
4718     public static final int REMOVE_USER = 299896586;
4719 
4720     /**
4721      * Property to get / set the user authentication types associated with an Android user.
4722      *
4723      * <p>Doesn't require permission because it's not exposed through
4724      * {@link android.car.hardware.property.CarPropertyManager}.
4725      *
4726      * <p>Property Config:
4727      * <ul>
4728      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
4729      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4730      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4731      *  <li>{@code Object[]} property type
4732      * </ul>
4733      *
4734      * @hide
4735      */
4736     @AddedInOrBefore(majorVersion = 33)
4737     public static final int USER_IDENTIFICATION_ASSOCIATION = 299896587;
4738 
4739     /**
4740      * Property for VHAL to apply power policy.
4741      *
4742      * <p>Doesn't require permission because it's not exposed through
4743      * {@link android.car.hardware.property.CarPropertyManager}.
4744      *
4745      * <p>Property Config:
4746      * <ul>
4747      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4748      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4749      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4750      *  <li>{@code String} property type
4751      * </ul>
4752      *
4753      * @hide
4754      */
4755     @AddedInOrBefore(majorVersion = 33)
4756     public static final int POWER_POLICY_REQ = 286265121;
4757 
4758     /**
4759      * Property for VHAL to set the default power policies per power status transition.
4760      *
4761      * <p>Doesn't require permission because it's not exposed through
4762      * {@link android.car.hardware.property.CarPropertyManager}.
4763      *
4764      * <p>Property Config:
4765      * <ul>
4766      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4767      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4768      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4769      *  <li>{@code String} property type
4770      * </ul>
4771      *
4772      * @hide
4773      */
4774     @AddedInOrBefore(majorVersion = 33)
4775     public static final int POWER_POLICY_GROUP_REQ = 286265122;
4776 
4777     /**
4778      * Property to report a new current power policy to VHAL.
4779      *
4780      * <p>Doesn't require permission because it's not exposed through
4781      * {@link android.car.hardware.property.CarPropertyManager}.
4782      *
4783      * <p>Property Config:
4784      * <ul>
4785      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE}
4786      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4787      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4788      *  <li>{@code String} property type
4789      * </ul>
4790      *
4791      * @hide
4792      */
4793     @AddedInOrBefore(majorVersion = 33)
4794     public static final int CURRENT_POWER_POLICY = 286265123;
4795 
4796     /**
4797      * Property to report that car watchdog is alive.
4798      *
4799      * <p>Doesn't require permission because it's not exposed through
4800      * {@link android.car.hardware.property.CarPropertyManager}.
4801      *
4802      * <p>Property Config:
4803      * <ul>
4804      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
4805      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4806      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4807      *  <li>{@code Long} property type
4808      * </ul>
4809      *
4810      * @hide
4811      */
4812     @AddedInOrBefore(majorVersion = 33)
4813     public static final int WATCHDOG_ALIVE = 290459441;
4814 
4815     /**
4816      * Property to report a process terminated by car watchdog.
4817      *
4818      * <p>Doesn't require permission because it's not exposed through
4819      * {@link android.car.hardware.property.CarPropertyManager}.
4820      *
4821      * <p>Property Config:
4822      * <ul>
4823      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
4824      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4825      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4826      *  <li>{@code Object[]} property type
4827      * </ul>
4828      *
4829      * @hide
4830      */
4831     @AddedInOrBefore(majorVersion = 33)
4832     public static final int WATCHDOG_TERMINATED_PROCESS = 299896626;
4833 
4834     /**
4835      * Property to signal a heartbeat from VHAL.
4836      *
4837      * <p>Doesn't require permission because it's not exposed through
4838      * {@link android.car.hardware.property.CarPropertyManager}.
4839      *
4840      * <p>Property Config:
4841      * <ul>
4842      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4843      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4844      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4845      *  <li>{@code Long} property type
4846      * </ul>
4847      *
4848      * @hide
4849      */
4850     @AddedInOrBefore(majorVersion = 33)
4851     public static final int VHAL_HEARTBEAT = 290459443;
4852 
4853     /**
4854      * Property to start the ClusterUI in cluster display.
4855      *
4856      * <p>Doesn't require permission because it's not exposed through
4857      * {@link android.car.hardware.property.CarPropertyManager}.
4858      *
4859      * <p>Property Config:
4860      * <ul>
4861      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4862      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4863      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4864      *  <li>{@code Integer} property type
4865      * </ul>
4866      *
4867      * @hide
4868      */
4869     @AddedInOrBefore(majorVersion = 33)
4870     public static final int CLUSTER_SWITCH_UI = 289410868;
4871 
4872     /**
4873      * Property to change the state of the cluster display.
4874      *
4875      * <p>Doesn't require permission because it's not exposed through
4876      * {@link android.car.hardware.property.CarPropertyManager}.
4877      *
4878      * <p>Property Config:
4879      * <ul>
4880      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4881      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4882      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4883      *  <li>{@code Integer[]} property type
4884      * </ul>
4885      *
4886      * @hide
4887      */
4888     @AddedInOrBefore(majorVersion = 33)
4889     public static final int CLUSTER_DISPLAY_STATE = 289476405;
4890 
4891     /**
4892      * Property to reports the current display and ClusterUI statue.
4893      *
4894      * <p>Doesn't require permission because it's not exposed through
4895      * {@link android.car.hardware.property.CarPropertyManager}.
4896      *
4897      * <p>Property Config:
4898      * <ul>
4899      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
4900      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4901      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4902      *  <li>{@code Object[]} property type
4903      * </ul>
4904      *
4905      * @hide
4906      */
4907     @AddedInOrBefore(majorVersion = 33)
4908     public static final int CLUSTER_REPORT_STATE = 299896630;
4909 
4910     /**
4911      * Property to request to change the cluster display state to show some ClusterUI.
4912      *
4913      * <p>Doesn't require permission because it's not exposed through
4914      * {@link android.car.hardware.property.CarPropertyManager}.
4915      *
4916      * <p>Property Config:
4917      * <ul>
4918      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
4919      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4920      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4921      *  <li>{@code Integer} property type
4922      * </ul>
4923      *
4924      * @hide
4925      */
4926     @AddedInOrBefore(majorVersion = 33)
4927     public static final int CLUSTER_REQUEST_DISPLAY = 289410871;
4928 
4929     /**
4930      * Property to inform the current navigation state.
4931      *
4932      * <p>Doesn't require permission because it's not exposed through
4933      * {@link android.car.hardware.property.CarPropertyManager}.
4934      *
4935      * <p>Property Config:
4936      * <ul>
4937      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
4938      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4939      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4940      *  <li>{@code bytes[]} property type
4941      * </ul>
4942      *
4943      * @hide
4944      */
4945     @AddedInOrBefore(majorVersion = 33)
4946     public static final int CLUSTER_NAVIGATION_STATE = 292556600;
4947 
4948     /**
4949      * Current date and time, encoded as Unix time.
4950      *
4951      * <p>This value denotes the number of milliseconds that have elapsed since 1/1/1970 UTC.
4952      *
4953      * <p>Property Config:
4954      * <ul>
4955      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
4956      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4957      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4958      *  <li>{@code Long} property type
4959      * </ul>
4960      *
4961      * <p>Required Permission:
4962      * <ul>
4963      *  <li>Property is not readable.
4964      *  <li>Signature|Privileged permission "android.car.permission.CAR_EPOCH_TIME" to write
4965      *  property.
4966      * </ul>
4967      */
4968     @RequiresPermission(Car.PERMISSION_CAR_EPOCH_TIME)
4969     @AddedInOrBefore(majorVersion = 33)
4970     public static final int EPOCH_TIME = 290457094;
4971 
4972     /**
4973      * Electronic Toll Collection card type.
4974      *
4975      * <p>This property indicates the type of ETC(Electronic Toll Collection) card in the vehicle.
4976      * If the head unit is aware of an ETC card attached to the vehicle, this property should return
4977      * the type of card attached; otherwise, this property should be UNAVAILABLE. The property value
4978      * should be one of {@link VehicleElectronicTollCollectionCardType}.
4979      *
4980      * <p>Property Config:
4981      * <ul>
4982      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
4983      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
4984      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
4985      *  <li>{@code Integer} property type
4986      * </ul>
4987      *
4988      * <p>Required Permission:
4989      * <ul>
4990      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
4991      *  <li>Property is not writable.
4992      * </ul>
4993      */
4994     @RequiresPermission(Car.PERMISSION_CAR_INFO)
4995     @AddedInOrBefore(majorVersion = 33)
4996     public static final int ELECTRONIC_TOLL_COLLECTION_CARD_TYPE = 289410873;
4997 
4998     /**
4999      * Electronic Toll Collection card status.
5000      *
5001      * <p>This property indicates the status of ETC(Electronic Toll Collection) card in the vehicle.
5002      * If the head unit is aware of an ETC card attached to the vehicle, ETC_CARD_STATUS gives that
5003      * status of the card; otherwise, this property should be UNAVAILABLE. The property value should
5004      * be one of {@link VehicleElectronicTollCollectionCardStatus}.
5005      *
5006      * <p>Property Config:
5007      * <ul>
5008      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5009      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5010      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5011      *  <li>{@code Integer} property type
5012      * </ul>
5013      *
5014      * <p>Required Permission:
5015      * <ul>
5016      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
5017      *  <li>Property is not writable.
5018      * </ul>
5019      */
5020     @RequiresPermission(Car.PERMISSION_CAR_INFO)
5021     @AddedInOrBefore(majorVersion = 33)
5022     public static final int ELECTRONIC_TOLL_COLLECTION_CARD_STATUS = 289410874;
5023 
5024     /**
5025      * Front fog lights state.
5026      *
5027      * <p>Please refer to the documentation on {@link #FOG_LIGHTS_STATE} for more information.
5028      *
5029      * <p>Property Config:
5030      * <ul>
5031      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5032      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5033      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5034      *  <li>{@code Integer} property type
5035      * </ul>
5036      *
5037      * <p>Required Permission:
5038      * <ul>
5039      *  <li>Signature|Privileged permission "android.car.permission.CAR_EXTERIOR_LIGHTS" to read
5040      *  property.
5041      *  <li>Property is not writable.
5042      * </ul>
5043      */
5044     @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
5045     @AddedInOrBefore(majorVersion = 33)
5046     public static final int FRONT_FOG_LIGHTS_STATE = 289410875;
5047 
5048     /**
5049      * Front fog lights switch.
5050      *
5051      * <p>Please refer to the documentation on {@link #FOG_LIGHTS_SWITCH} for more information.
5052      *
5053      * <p>Property Config:
5054      * <ul>
5055      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5056      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5057      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5058      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5059      *  <li>{@code Integer} property type
5060      * </ul>
5061      *
5062      * <p>Required Permission:
5063      * <ul>
5064      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS" to
5065      *  read and write property.
5066      * </ul>
5067      */
5068     @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
5069     @AddedInOrBefore(majorVersion = 33)
5070     public static final int FRONT_FOG_LIGHTS_SWITCH = 289410876;
5071 
5072     /**
5073      * Rear fog lights state.
5074      *
5075      * <p>Please refer to the documentation on {@link #FOG_LIGHTS_STATE} for more information.
5076      *
5077      * <p>Property Config:
5078      * <ul>
5079      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5080      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5081      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5082      *  <li>{@code Integer} property type
5083      * </ul>
5084      *
5085      * <p>Required Permission:
5086      * <ul>
5087      *  <li>Signature|Privileged permission "android.car.permission.CAR_EXTERIOR_LIGHTS" to read
5088      *  property.
5089      *  <li>Property is not writable.
5090      * </ul>
5091      */
5092     @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS)
5093     @AddedInOrBefore(majorVersion = 33)
5094     public static final int REAR_FOG_LIGHTS_STATE = 289410877;
5095 
5096     /**
5097      * Rear fog lights switch.
5098      *
5099      * <p>Please refer to the documentation on {@link #FOG_LIGHTS_SWITCH} for more information.
5100      *
5101      * <p>Property Config:
5102      * <ul>
5103      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5104      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5105      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5106      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5107      *  <li>{@code Integer} property type
5108      * </ul>
5109      *
5110      * <p>Required Permission:
5111      * <ul>
5112      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS" to
5113      *  read and write property.
5114      * </ul>
5115      */
5116     @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS)
5117     @AddedInOrBefore(majorVersion = 33)
5118     public static final int REAR_FOG_LIGHTS_SWITCH = 289410878;
5119 
5120     /**
5121      * EV charge current draw limit.
5122      *
5123      * <p>Indicates the maximum current draw threshold for charging set by the user. {@code
5124      * configArray[0]} contains the max current draw allowed by the vehicle in Amperes.
5125      *
5126      * <p>Property Config:
5127      * <ul>
5128      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5129      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5130      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5131      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5132      *  <li>{@code Float} property type
5133      * </ul>
5134      *
5135      * <p>Required Permissions:
5136      * <ul>
5137      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
5138      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_ENERGY" to write
5139      *  property.
5140      * </ul>
5141      */
5142     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
5143     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_CAR_ENERGY))
5144     @AddedInOrBefore(majorVersion = 33)
5145     public static final int EV_CHARGE_CURRENT_DRAW_LIMIT = 291508031;
5146 
5147     /**
5148      * EV charge percent limit.
5149      *
5150      * <p>Indicates the maximum charge percent threshold set by the user. Returns a float value
5151      * from 0 to 100.
5152      *
5153      * <p>configArray is optional. If it is populated, it represents the valid charge percent limit
5154      * values for the vehicle. Here is an example configArray:
5155      * <ul>
5156      *  <li>configArray[0] = 20
5157      *  <li>configArray[1] = 40
5158      *  <li>configArray[2] = 60
5159      *  <li>configArray[3] = 80
5160      * </ul>
5161      *
5162      * <p>Property Config:
5163      * <ul>
5164      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5165      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5166      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5167      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5168      *  <li>{@code Float} property type
5169      * </ul>
5170      *
5171      * <p>Required Permissions:
5172      * <ul>
5173      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
5174      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_ENERGY" to write
5175      *  property.
5176      * </ul>
5177      */
5178     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
5179     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_CAR_ENERGY))
5180     @AddedInOrBefore(majorVersion = 33)
5181     public static final int EV_CHARGE_PERCENT_LIMIT = 291508032;
5182 
5183     /**
5184      * Charging state of the car.
5185      *
5186      * <p>Returns the current charging state of the car. See
5187      * {@link android.car.hardware.property.EvChargeState} for possible values for
5188      * {@code EV_CHARGE_STATE}.
5189      *
5190      * <p>Property Config:
5191      * <ul>
5192      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5193      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5194      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5195      *  <li>{@code Integer} property type
5196      * </ul>
5197      *
5198      * <p>Required Permission:
5199      * <ul>
5200      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
5201      *  <li>Property is not writable.
5202      * </ul>
5203      */
5204     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
5205     @AddedInOrBefore(majorVersion = 33)
5206     public static final int EV_CHARGE_STATE = 289410881;
5207 
5208     /**
5209      * Start or stop charging the EV battery.
5210      *
5211      * <p>The setting that the user wants. Setting this property to true starts the battery charging
5212      * and setting to false stops charging.
5213      *
5214      * <p>Property Config:
5215      * <ul>
5216      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5217      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5218      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5219      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5220      *  <li>{@code Boolean} property type
5221      * </ul>
5222      *
5223      * <p>Required Permission:
5224      * <ul>
5225      *  <li>Signature|Privileged permission "android.car.permission.CONTROL_CAR_ENERGY" to read and
5226      *  write property.
5227      * </ul>
5228      */
5229     @RequiresPermission(Car.PERMISSION_CONTROL_CAR_ENERGY)
5230     @AddedInOrBefore(majorVersion = 33)
5231     public static final int EV_CHARGE_SWITCH = 287313730;
5232 
5233     /**
5234      * Estimated charge time remaining in seconds.
5235      *
5236      * <p>Returns 0 if the vehicle is not charging.
5237      *
5238      * <p>Property Config:
5239      * <ul>
5240      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5241      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5242      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
5243      *  <li>{@code Integer} property type
5244      * </ul>
5245      *
5246      * <p>Required Permission:
5247      * <ul>
5248      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
5249      *  <li>Property is not writable.
5250      * </ul>
5251      */
5252     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
5253     @AddedInOrBefore(majorVersion = 33)
5254     public static final int EV_CHARGE_TIME_REMAINING = 289410883;
5255 
5256     /**
5257      * Regenerative braking or one-pedal drive state of the car.
5258      *
5259      * <p>Returns the current state associated with the regenerative braking
5260      * setting in the car. See
5261      * {@link android.car.hardware.property.EvRegenerativeBrakingState} for possible values for
5262      * {@code EV_REGENERATIVE_BRAKING_STATE}.
5263      *
5264      * <p>Property Config:
5265      * <ul>
5266      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5267      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5268      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5269      *  <li>{@code Integer} property type
5270      * </ul>
5271      *
5272      * <p>Required Permission:
5273      * <ul>
5274      *  <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
5275      *  <li>Property is not writable.
5276      * </ul>
5277      */
5278     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY))
5279     @AddedInOrBefore(majorVersion = 33)
5280     public static final int EV_REGENERATIVE_BRAKING_STATE = 289410884;
5281 
5282     /**
5283      * Vehicle’s curb weight.
5284      *
5285      * <p>Returns the vehicle's curb weight in kilograms. configArray[0] specifies the vehicle’s
5286      * gross weight in kilograms.
5287      *
5288      * <p>Property Config:
5289      * <ul>
5290      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5291      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5292      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
5293      *  <li>{@code Integer} property type
5294      * </ul>
5295      *
5296      * <p>Required Permission:
5297      * <ul>
5298      *  <li>Signature|Privileged permission "android.car.permission.PRIVILEGED_CAR_INFO" to read
5299      *  property.
5300      *  <li>Property is not writable.
5301      * </ul>
5302      */
5303     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_PRIVILEGED_CAR_INFO))
5304     @AddedInOrBefore(majorVersion = 33)
5305     public static final int VEHICLE_CURB_WEIGHT = 289410886;
5306 
5307      /**
5308      * Indicates if there is a trailer present or not.
5309      *
5310      * <p>Returns the trailer state of the car. See {@code TrailerState} for possible values for
5311      * {@code TRAILER_PRESENT}.
5312      *
5313      * <p>Property Config:
5314      * <ul>
5315      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5316      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5317      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5318      *  <li>{@code Integer} property type
5319      * </ul>
5320      *
5321      * <p>Required Permission:
5322      * <ul>
5323      *  <li>Signature|Privileged permission "android.car.permission.PRIVILEGED_CAR_INFO" to read
5324      *  property.
5325      *  <li>Property is not writable.
5326      * </ul>
5327      */
5328     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_PRIVILEGED_CAR_INFO))
5329     @AddedInOrBefore(majorVersion = 33)
5330     public static final int TRAILER_PRESENT = 289410885;
5331 
5332     /**
5333      * EU's General security regulation compliance requirement.
5334      *
5335      * <p>Returns whether general security regulation compliance is required, if
5336      * so, what type of requirement. See {@link GsrComplianceType} for possible enums.
5337      *
5338      * <p>Property Config:
5339      * <ul>
5340      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5341      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5342      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC}
5343      *  <li>{@code Integer} property type
5344      * </ul>
5345      *
5346      * <p>Required Permission:
5347      * <ul>
5348      *  <li>Normal permission {@link Car#PERMISSION_CAR_INFO} to read property.
5349      *  <li>Property is not writable.
5350      * </ul>
5351      */
5352     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_CAR_INFO))
5353     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.TIRAMISU_1,
5354              minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5355     public static final int GENERAL_SAFETY_REGULATION_COMPLIANCE = 289410887;
5356 
5357     /**
5358      * Enable or disable Automatic Emergency Braking (AEB).
5359      *
5360      * <p>Returns true if AEB is enabled and false if AEB is disabled. When AEB is enabled, the ADAS
5361      * system in the vehicle should be turned on and monitoring to avoid potential collisions.
5362      *
5363      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5364      * only.
5365      *
5366      * <p>Property Config:
5367      * <ul>
5368      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5369      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5370      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5371      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5372      *  <li>{@code Boolean} property type
5373      * </ul>
5374      *
5375      * <p>Required Permissions:
5376      * <ul>
5377      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5378      *  property.
5379      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5380      *  property.
5381      * </ul>
5382      *
5383      * @hide
5384      */
5385     @SystemApi
5386     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5387     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5388     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5389             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5390     public static final int AUTOMATIC_EMERGENCY_BRAKING_ENABLED = 287313920;
5391 
5392     /**
5393      * Automatic Emergency Braking (AEB) state.
5394      *
5395      * <p>Returns the current state of AEB. This property will always return a valid state defined
5396      * in {@link android.car.hardware.property.AutomaticEmergencyBrakingState} or {@link
5397      * android.car.hardware.property.ErrorState}.
5398      *
5399      * <p>If AEB includes forward collision warnings before activating the brakes, those warnings
5400      * will be surfaced through the Forward Collision Warning (FCW) properties.
5401      *
5402      * <p>For the global area ID (0), the {@link
5403      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5404      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5405      * from {@link android.car.hardware.property.AutomaticEmergencyBrakingState} and {@link
5406      * android.car.hardware.property.ErrorState} are supported.
5407      *
5408      * <p>Property Config:
5409      * <ul>
5410      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5411      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5412      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5413      *  <li>{@code Integer} property type
5414      * </ul>
5415      *
5416      * <p>Required Permission:
5417      * <ul>
5418      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5419      *  property.
5420      *  <li>Property is not writable.
5421      * </ul>
5422      *
5423      * @hide
5424      */
5425     @SystemApi
5426     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
5427     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5428             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5429     public static final int AUTOMATIC_EMERGENCY_BRAKING_STATE = 289411073;
5430 
5431     /**
5432      * Enable or disable Forward Collision Warning (FCW).
5433      *
5434      * <p>Returns true if FCW is enabled and false if FCW is disabled. When FCW is enabled, the ADAS
5435      * system in the vehicle should be turned on and monitoring for potential collisions.
5436      *
5437      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5438      * only.
5439      *
5440      * <p>Property Config:
5441      * <ul>
5442      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5443      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5444      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5445      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5446      *  <li>{@code Boolean} property type
5447      * </ul>
5448      *
5449      * <p>Required Permissions:
5450      * <ul>
5451      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5452      *  property.
5453      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5454      *  property.
5455      * </ul>
5456      *
5457      * @hide
5458      */
5459     @SystemApi
5460     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5461     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5462     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5463             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5464     public static final int FORWARD_COLLISION_WARNING_ENABLED = 287313922;
5465 
5466     /**
5467      * Forward Collision Warning State (FCW) state.
5468      *
5469      * <p>Returns the current state of FCW. This property will always return a valid state defined
5470      * in {@link android.car.hardware.property.ForwardCollisionWarningState} or {@link
5471      * android.car.hardware.property.ErrorState}.
5472      *
5473      * <p>For the global area ID (0), the {@link
5474      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5475      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5476      * from {@link android.car.hardware.property.ForwardCollisionWarningState} and {@link
5477      * android.car.hardware.property.ErrorState} are supported.
5478      *
5479      * <p>Property Config:
5480      * <ul>
5481      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5482      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5483      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5484      *  <li>{@code Integer} property type
5485      * </ul>
5486      *
5487      * <p>Required Permission:
5488      * <ul>
5489      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5490      *  property.
5491      *  <li>Property is not writable.
5492      * </ul>
5493      *
5494      * @hide
5495      */
5496     @SystemApi
5497     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
5498     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5499             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5500     public static final int FORWARD_COLLISION_WARNING_STATE = 289411075;
5501 
5502     /**
5503      * Enable and disable Blind Spot Warning (BSW).
5504      *
5505      * <p>Returns true if BSW is enabled and false if BSW is disabled. When BSW is enabled, the ADAS
5506      * system in the vehicle should be turned on and monitoring for objects in the vehicle’s blind
5507      * spots.
5508      *
5509      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5510      * only.
5511      *
5512      * <p>Property Config:
5513      * <ul>
5514      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5515      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5516      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5517      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5518      *  <li>{@code Boolean} property type
5519      * </ul>
5520      *
5521      * <p>Required Permissions:
5522      * <ul>
5523      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5524      *  property.
5525      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5526      *  property.
5527      * </ul>
5528      *
5529      * @hide
5530      */
5531     @SystemApi
5532     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5533     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5534     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5535             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5536     public static final int BLIND_SPOT_WARNING_ENABLED = 287313924;
5537 
5538     /**
5539      * Blind Spot Warning (BSW) state.
5540      *
5541      * <p>Returns the current state of BSW. This property will always return a valid state defined
5542      * in {@link android.car.hardware.property.BlindSpotWarningState} or {@link
5543      * android.car.hardware.property.ErrorState}.
5544      *
5545      * <p>For the global area ID (0), the {@link
5546      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5547      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5548      * from {@link android.car.hardware.property.BlindSpotWarningState} and {@link
5549      * android.car.hardware.property.ErrorState} are supported.
5550      *
5551      * <p>Property Config:
5552      * <ul>
5553      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5554      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_MIRROR}
5555      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5556      *  <li>{@code Integer} property type
5557      * </ul>
5558      *
5559      * <p>Required Permission:
5560      * <ul>
5561      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5562      *  property.
5563      *  <li>Property is not writable.
5564      * </ul>
5565      *
5566      * @hide
5567      */
5568     @SystemApi
5569     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
5570     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5571             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5572     public static final int BLIND_SPOT_WARNING_STATE = 339742725;
5573 
5574     /**
5575      * Enable or disable Lane Departure Warning (LDW).
5576      *
5577      * <p>Returns true if LDW is enabled and false if LDW is disabled. When LDW is enabled, the ADAS
5578      * system in the vehicle should be turned on and monitoring if the vehicle is approaching or
5579      * crossing lane lines, in which case a warning will be given.
5580      *
5581      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5582      * only.
5583      *
5584      * <p>Property Config:
5585      * <ul>
5586      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5587      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5588      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5589      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5590      *  <li>{@code Boolean} property type
5591      * </ul>
5592      *
5593      * <p>Required Permissions:
5594      * <ul>
5595      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5596      *  property.
5597      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5598      *  property.
5599      * </ul>
5600      *
5601      * @hide
5602      */
5603     @SystemApi
5604     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5605     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5606     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5607             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5608     public static final int LANE_DEPARTURE_WARNING_ENABLED = 287313926;
5609 
5610     /**
5611      * Lane Departure Warning (LDW) state.
5612      *
5613      * <p>Returns the current state of LDW. This property will always return a valid state defined
5614      * in {@link android.car.hardware.property.LaneDepartureWarningState} or {@link
5615      * android.car.hardware.property.ErrorState}.
5616      *
5617      * <p>For the global area ID (0), the {@link
5618      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5619      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5620      * from {@link android.car.hardware.property.LaneDepartureWarningState} and {@link
5621      * android.car.hardware.property.ErrorState} are supported.
5622      *
5623      * <p>Property Config:
5624      * <ul>
5625      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5626      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5627      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5628      *  <li>{@code Integer} property type
5629      * </ul>
5630      *
5631      * <p>Required Permission:
5632      * <ul>
5633      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5634      *  property.
5635      *  <li>Property is not writable.
5636      * </ul>
5637      *
5638      * @hide
5639      */
5640     @SystemApi
5641     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
5642     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5643             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5644     public static final int LANE_DEPARTURE_WARNING_STATE = 289411079;
5645 
5646     /**
5647      * Enable or disable Lane Keep Assist (LKA).
5648      *
5649      * <p>Returns true if LKA is enabled and false if LKA is disabled. When LKA is enabled, the ADAS
5650      * system in the vehicle should be turned on and monitoring if the driver unintentionally drifts
5651      * toward or over the lane marking. If an unintentional lane departure is detected, the system
5652      * applies steering control to return the vehicle into the current lane.
5653      *
5654      * <p>This is different from Lane Centering Assist (LCA) which, when activated, applies
5655      * continuous steering control to keep the vehicle centered in the current lane.
5656      *
5657      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5658      * only.
5659      *
5660      * <p>Property Config:
5661      * <ul>
5662      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5663      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5664      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5665      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5666      *  <li>{@code Boolean} property type
5667      * </ul>
5668      *
5669      * <p>Required Permissions:
5670      * <ul>
5671      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5672      *  property.
5673      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5674      *  property.
5675      * </ul>
5676      *
5677      * @hide
5678      */
5679     @SystemApi
5680     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5681     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5682     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5683             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5684     public static final int LANE_KEEP_ASSIST_ENABLED = 287313928;
5685 
5686     /**
5687      * Lane Keep Assist (LKA) state.
5688      *
5689      * <p>Returns the current state of LKA. This property will always return a valid state defined
5690      * in {@link android.car.hardware.property.LaneKeepAssistState} or {@link
5691      * android.car.hardware.property.ErrorState}.
5692      *
5693      * <p>If LKA includes lane departure warnings before applying steering corrections, those
5694      * warnings will be surfaced through {@link #LANE_DEPARTURE_WARNING_STATE}.
5695      *
5696      * <p>For the global area ID (0), the {@link
5697      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5698      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5699      * from {@link android.car.hardware.property.LaneKeepAssistState} and {@link
5700      * android.car.hardware.property.ErrorState} are supported.
5701      *
5702      * <p>Property Config:
5703      * <ul>
5704      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5705      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5706      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5707      *  <li>{@code Integer} property type
5708      * </ul>
5709      *
5710      * <p>Required Permission:
5711      * <ul>
5712      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5713      *  property.
5714      *  <li>Property is not writable.
5715      * </ul>
5716      *
5717      * @hide
5718      */
5719     @SystemApi
5720     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
5721     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5722             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5723     public static final int LANE_KEEP_ASSIST_STATE = 289411081;
5724 
5725     /**
5726      * Enable or disable Lane Centering Assist (LCA).
5727      *
5728      * <p>Returns true if LCA is enabled and false if LCA is disabled. When LCA is enabled, the ADAS
5729      * system in the vehicle should be turned on and waiting for an activation signal from the
5730      * driver. Once the feature is activated, the ADAS system should be steering the vehicle to keep
5731      * it centered in its current lane.
5732      *
5733      * <p>This is different from Lane Keep Assist (LKA) which monitors if the driver unintentionally
5734      * drifts toward or over the lane marking. If an unintentional lane departure is detected, the
5735      * system applies steering control to return the vehicle into the current lane.
5736      *
5737      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5738      * only.
5739      *
5740      * <p>Property Config:
5741      * <ul>
5742      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5743      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5744      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5745      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5746      *  <li>{@code Boolean} property type
5747      * </ul>
5748      *
5749      * <p>Required Permissions:
5750      * <ul>
5751      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5752      *  property.
5753      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5754      *  property.
5755      * </ul>
5756      *
5757      * @hide
5758      */
5759     @SystemApi
5760     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5761     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5762     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5763             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5764     public static final int LANE_CENTERING_ASSIST_ENABLED = 287313930;
5765 
5766     /**
5767      * Lane Centering Assist (LCA) commands.
5768      *
5769      * <p>Commands to activate and suspend LCA. They are only valid when {@link
5770      * #LANE_CENTERING_ASSIST_ENABLED} = {@code true}. Otherwise, these commands will throw a {@link
5771      * android.car.hardware.property.PropertyNotAvailableException}.
5772      *
5773      * <p>When the command {@link android.car.hardware.property.LaneCenteringAssistCommand#ACTIVATE}
5774      * is sent, {@link #LANE_CENTERING_ASSIST_STATE} will be set to {@link
5775      * android.car.hardware.property.LaneCenteringAssistState#ACTIVATION_REQUESTED}. When the
5776      * command {@link android.car.hardware.property.LaneCenteringAssistCommand#ACTIVATE} succeeds,
5777      * {@link #LANE_CENTERING_ASSIST_STATE} will be set to {@link
5778      * android.car.hardware.property.LaneCenteringAssistState#ACTIVATED}. When the command {@link
5779      * android.car.hardware.property.LaneCenteringAssistCommand#DEACTIVATE} succeeds, {@link
5780      * #LANE_CENTERING_ASSIST_STATE} will be set to {@link
5781      * android.car.hardware.property.LaneCenteringAssistState#ENABLED}.
5782      *
5783      * <p>For the global area ID (0), the {@link
5784      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5785      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which enum
5786      * values from {@link android.car.hardware.property.LaneCenteringAssistCommand} are supported.
5787      *
5788      * <p>Property Config:
5789      * <ul>
5790      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
5791      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5792      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5793      *  <li>{@code Integer} property type
5794      * </ul>
5795      *
5796      * <p>Required Permission:
5797      * <ul>
5798      *  <li>Property is not readable.
5799      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_STATES} to write
5800      *  property.
5801      * </ul>
5802      *
5803      * @hide
5804      */
5805     @SystemApi
5806     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_STATES))
5807     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5808             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5809     public static final int LANE_CENTERING_ASSIST_COMMAND = 289411083;
5810 
5811     /**
5812      * Lane Centering Assist (LCA) state.
5813      *
5814      * <p>Returns the current state of LCA. This property will always return a valid state defined
5815      * in {@link android.car.hardware.property.LaneCenteringAssistState} or {@link
5816      * android.car.hardware.property.ErrorState}.
5817      *
5818      * <p>If LCA includes lane departure warnings, those warnings will be surfaced through the Lane
5819      * Departure Warning (LDW) properties.
5820      *
5821      * <p>For the global area ID (0), the {@link
5822      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5823      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5824      * from {@link android.car.hardware.property.LaneCenteringAssistState} and {@link
5825      * android.car.hardware.property.ErrorState} are supported.
5826      *
5827      * <p>Property Config:
5828      * <ul>
5829      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5830      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5831      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5832      *  <li>{@code Integer} property type
5833      * </ul>
5834      *
5835      * <p>Required Permission:
5836      * <ul>
5837      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5838      *  property.
5839      *  <li>Property is not writable.
5840      * </ul>
5841      *
5842      * @hide
5843      */
5844     @SystemApi
5845     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
5846     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5847             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5848     public static final int LANE_CENTERING_ASSIST_STATE = 289411084;
5849 
5850     /**
5851      * Enable or disable Emergency Lane Keep Assist (ELKA).
5852      *
5853      * <p>Return true if ELKA is enabled and false if ELKA is disabled. When ELKA is enabled, the
5854      * ADAS system in the vehicle should be on and monitoring for unsafe lane changes by the driver.
5855      * When an unsafe maneuver is detected, ELKA alerts the driver and applies steering corrections
5856      * to keep the vehicle in its original lane.
5857      *
5858      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5859      * only.
5860      *
5861      * <p>Property Config:
5862      * <ul>
5863      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5864      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5865      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5866      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5867      *  <li>{@code Boolean} property type
5868      * </ul>
5869      *
5870      * <p>Required Permissions:
5871      * <ul>
5872      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5873      *  property.
5874      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5875      *  property.
5876      * </ul>
5877      *
5878      * @hide
5879      */
5880     @SystemApi
5881     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5882     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5883     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5884             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5885     public static final int EMERGENCY_LANE_KEEP_ASSIST_ENABLED = 287313933;
5886 
5887     /**
5888      * Emergency Lane Keep Assist (ELKA) state.
5889      *
5890      * <p>Returns the current state of ELKA. Generally, this property should return a valid state
5891      * defined in the {@link android.car.hardware.property.EmergencyLaneKeepAssistState} or {@link
5892      * android.car.hardware.property.ErrorState}. For example, if the feature is not available due
5893      * to some temporary state, that information should be conveyed through {@link
5894      * android.car.hardware.property.ErrorState}.
5895      *
5896      * <p>For the global area ID (0), the {@link
5897      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5898      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5899      * from {@link android.car.hardware.property.EmergencyLaneKeepAssistState} and {@link
5900      * android.car.hardware.property.ErrorState} are supported.
5901      *
5902      * <p>Property Config:
5903      * <ul>
5904      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5905      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5906      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5907      *  <li>{@code Integer} property type
5908      * </ul>
5909      *
5910      * <p>Required Permission:
5911      * <ul>
5912      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5913      *  property.
5914      *  <li>Property is not writable.
5915      * </ul>
5916      *
5917      * @hide
5918      */
5919     @SystemApi
5920     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
5921     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5922             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5923     public static final int EMERGENCY_LANE_KEEP_ASSIST_STATE = 289411086;
5924 
5925     /**
5926      * Enable or disable Cruise Control (CC).
5927      *
5928      * <p>Return true if CC is enabled and false if CC is disabled. This property is shared by all
5929      * forms of {@link android.car.hardware.property.CruiseControlType}).
5930      *
5931      * <p>When CC is enabled, the ADAS system in the vehicle should be turned on and responding to
5932      * commands.
5933      *
5934      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
5935      * only.
5936      *
5937      * <p>Property Config:
5938      * <ul>
5939      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5940      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5941      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5942      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5943      *  <li>{@code Boolean} property type
5944      * </ul>
5945      *
5946      * <p>Required Permissions:
5947      * <ul>
5948      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_SETTINGS} to read
5949      *  property.
5950      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_SETTINGS} to write
5951      *  property.
5952      * </ul>
5953      *
5954      * @hide
5955      */
5956     @SystemApi
5957     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_SETTINGS))
5958     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_SETTINGS))
5959     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
5960             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
5961     public static final int CRUISE_CONTROL_ENABLED = 287313935;
5962 
5963     /**
5964      * Current type of Cruise Control (CC).
5965      *
5966      * <p>When {@link #CRUISE_CONTROL_ENABLED} is true, this property returns the type of CC that is
5967      * currently enabled (for example, standard CC, adaptive CC, etc.). Generally, this property
5968      * should return a valid state defined in the {@link
5969      * android.car.hardware.property.CruiseControlType} or {@link
5970      * android.car.hardware.property.ErrorState}. For example, if the feature is not available due
5971      * to some temporary state, that information should be conveyed through {@link
5972      * android.car.hardware.property.ErrorState}.
5973      *
5974      * <p>For the global area ID (0), the {@link
5975      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
5976      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
5977      * from {@link android.car.hardware.property.CruiseControlType} and {@link
5978      * android.car.hardware.property.ErrorState} are supported.
5979      *
5980      * Trying to write {@link android.car.hardware.property.CruiseControlType#OTHER} or an
5981      * {@link android.car.hardware.property.ErrorState} to this property will throw an {@code
5982      * IllegalArgumentException}.
5983      *
5984      * <p>Property Config:
5985      * <ul>
5986      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
5987      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
5988      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
5989      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
5990      *  <li>{@code Integer} property type
5991      * </ul>
5992      *
5993      * <p>Required Permissions:
5994      * <ul>
5995      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
5996      *  property.
5997      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_STATES} to write
5998      *  property.
5999      * </ul>
6000      *
6001      * @hide
6002      */
6003     @SystemApi
6004     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
6005     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_STATES))
6006     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6007             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6008     public static final int CRUISE_CONTROL_TYPE = 289411088;
6009 
6010     /**
6011      * Current state of Cruise Control (CC).
6012      *
6013      * <p>This property returns the state of CC. Generally, this property should return a valid
6014      * state defined in the {@link android.car.hardware.property.CruiseControlState} or {@link
6015      * android.car.hardware.property.ErrorState}. For example, if the feature is not available due
6016      * to some temporary state, that information should be conveyed through {@link
6017      * android.car.hardware.property.ErrorState}.
6018      *
6019      * <p>For the global area ID (0), the {@link
6020      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
6021      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
6022      * from {@link android.car.hardware.property.CruiseControlState} and {@link
6023      * android.car.hardware.property.ErrorState} are supported.
6024      *
6025      * <p>Property Config:
6026      * <ul>
6027      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
6028      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6029      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
6030      *  <li>{@code Integer} property type
6031      * </ul>
6032      *
6033      * <p>Required Permission:
6034      * <ul>
6035      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
6036      *  property.
6037      *  <li>Property is not writable.
6038      * </ul>
6039      *
6040      * @hide
6041      */
6042     @SystemApi
6043     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
6044     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6045             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6046     public static final int CRUISE_CONTROL_STATE = 289411089;
6047 
6048     /**
6049      * Write Cruise Control (CC) commands.
6050      *
6051      * <p>See {@link android.car.hardware.property.CruiseControlCommand} for the details about
6052      * each supported command.
6053      *
6054      * <p>For the global area ID (0), the {@link
6055      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
6056      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
6057      * from {@link android.car.hardware.property.CruiseControlCommand} are supported.
6058      *
6059      * <p>When this property is unavailable (for example when {@link #CRUISE_CONTROL_ENABLED} is
6060      * false), writing this property will throw a {@link
6061      * android.car.hardware.property.PropertyNotAvailableException}.
6062      *
6063      * <p>Property Config:
6064      * <ul>
6065      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_WRITE}
6066      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6067      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
6068      *  <li>{@code Integer} property type
6069      * </ul>
6070      *
6071      * <p>Required Permission:
6072      * <ul>
6073      *  <li>Property is not readable.
6074      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_STATES} to write
6075      *  property.
6076      * </ul>
6077      *
6078      * @hide
6079      */
6080     @SystemApi
6081     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_STATES))
6082     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6083             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6084     public static final int CRUISE_CONTROL_COMMAND = 289411090;
6085 
6086     /**
6087      * Current target speed for Cruise Control (CC) in meters per second.
6088      *
6089      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} and {@link
6090      * android.car.hardware.property.AreaIdConfig#getMaxValue()} return the min and max target
6091      * speed values respectively. These values will be non-negative.
6092      *
6093      * <p>{@link android.car.hardware.property.AreaIdConfig#getMinValue()} represents the lower
6094      * bound of the target speed.
6095      * <p>{@link android.car.hardware.property.AreaIdConfig#getMaxValue()} represents the upper
6096      * bound of the target speed.
6097      *
6098      * <p>When this property is unavailable (for example when {@link #CRUISE_CONTROL_ENABLED} is
6099      * false), reading this property will throw a {@link
6100      * android.car.hardware.property.PropertyNotAvailableException}.
6101      *
6102      * <p>Property Config:
6103      * <ul>
6104      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
6105      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6106      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
6107      *  <li>{@code Float} property type
6108      * </ul>
6109      *
6110      * <p>Required Permission:
6111      * <ul>
6112      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
6113      *  property.
6114      *  <li>Property is not writable.
6115      * </ul>
6116      *
6117      * @hide
6118      */
6119     @SystemApi
6120     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
6121     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6122             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6123     public static final int CRUISE_CONTROL_TARGET_SPEED = 291508243;
6124 
6125     /**
6126      * Current target time gap for Adaptive Cruise Control (ACC) or Predictive Cruise Control in
6127      * milliseconds.
6128      *
6129      * <p>This property should specify the target time gap to a leading vehicle. This gap is defined
6130      * as the time to travel the distance between the leading vehicle's rear-most point to the ACC
6131      * vehicle's front-most point. The actual time gap from a leading vehicle can be above or below
6132      * this value.
6133      *
6134      * <p>The possible values to set for the target time gap should be specified in {@code
6135      * configArray} in ascending order. All values must be positive. If the property is writable,
6136      * all values must be writable.
6137      *
6138      * <p>When this property is unavailable (for example when {@link #CRUISE_CONTROL_ENABLED} is
6139      * false), reading or writing this property will throw a {@link
6140      * android.car.hardware.property.PropertyNotAvailableException}.
6141      *
6142      * <p>Property Config:
6143      * <ul>
6144      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
6145      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
6146      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6147      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
6148      *  <li>{@code Integer} property type
6149      * </ul>
6150      *
6151      * <p>Required Permissions:
6152      * <ul>
6153      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
6154      *  property.
6155      *  <li>Signature|Privileged permission {@link Car#PERMISSION_CONTROL_ADAS_STATES} to write
6156      *  property.
6157      * </ul>
6158      *
6159      * @hide
6160      */
6161     @SystemApi
6162     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
6163     @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ADAS_STATES))
6164     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6165             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6166     public static final int ADAPTIVE_CRUISE_CONTROL_TARGET_TIME_GAP = 289411092;
6167 
6168     /**
6169      * Measured distance from leading vehicle when using Adaptive Cruise Control (ACC) or Predictive
6170      * Cruise Control in millimeters.
6171      *
6172      * <p>Returns the measured distance in meters from the lead vehicle for ACC between the
6173      * rear-most point of the leading vehicle and the front-most point of the ACC vehicle.
6174      *
6175      * <p>{@link CarPropertyConfig#getMinValue(int)} returns 0.
6176      * <p>{@link CarPropertyConfig#getMaxValue(int)} returns the maximum range the distance sensor
6177      * can support. This value will be non-negative.
6178      *
6179      * <p>When no lead vehicle is detected (that is, when there is no leading vehicle or the leading
6180      * vehicle is too far away for the sensor to detect), this property will throw a {@link
6181      * android.car.hardware.property.PropertyNotAvailableException}.
6182      *
6183      * <p>When this property is unavailable (for example when {@link #CRUISE_CONTROL_ENABLED} is
6184      * false), reading this property will throw a {@link
6185      * android.car.hardware.property.PropertyNotAvailableException}.
6186      *
6187      * <p>Property Config:
6188      * <ul>
6189      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
6190      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6191      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS}
6192      *  <li>{@code Integer} property type
6193      * </ul>
6194      *
6195      * <p>Required Permission:
6196      * <ul>
6197      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_ADAS_STATES} to read
6198      *  property.
6199      *  <li>Property is not writable.
6200      * </ul>
6201      *
6202      * @hide
6203      */
6204     @SystemApi
6205     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_ADAS_STATES))
6206     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6207             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6208     public static final int ADAPTIVE_CRUISE_CONTROL_LEAD_VEHICLE_MEASURED_DISTANCE = 289411093;
6209 
6210     /**
6211      * Enable or disable Hands On Detection (HOD).
6212      *
6213      * <p>Return true if HOD is enabled and false if HOD is disabled. When HOD is enabled, a system
6214      * inside the vehicle should be monitoring the presence of the driver's hands on the steering
6215      * wheel and send a warning if it detects that the driver's hands are no longer on the steering
6216      * wheel.
6217      *
6218      * <p>This property is defined as read_write, but OEMs have the option to implement it as read
6219      * only.
6220      *
6221      * <p>Property Config:
6222      * <ul>
6223      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} or
6224      *  {@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
6225      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6226      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
6227      *  <li>{@code Boolean} property type
6228      * </ul>
6229      *
6230      * <p>Required Permissions:
6231      * <ul>
6232      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_DRIVER_MONITORING_SETTINGS}
6233      *  to read property.
6234      *  <li>Signature|Privileged permission {@link
6235      *  Car#PERMISSION_CONTROL_DRIVER_MONITORING_SETTINGS} to write property.
6236      * </ul>
6237      *
6238      * @hide
6239      */
6240     @SystemApi
6241     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DRIVER_MONITORING_SETTINGS))
6242     @RequiresPermission.Write(@RequiresPermission(
6243             Car.PERMISSION_CONTROL_DRIVER_MONITORING_SETTINGS))
6244     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6245             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6246     public static final int HANDS_ON_DETECTION_ENABLED = 287313942;
6247 
6248     /**
6249      * Hands On Detection (HOD) driver state.
6250      *
6251      * <p>Returns whether the driver's hands are on the steering wheel. Generally, this property
6252      * should return a valid state defined in the {@link
6253      * android.car.hardware.property.HandsOnDetectionDriverState} or {@link
6254      * android.car.hardware.property.ErrorState}. For example, if the feature is not available due
6255      * to some temporary state, that information should be conveyed through {@link
6256      * android.car.hardware.property.ErrorState}.
6257      *
6258      * <p>If the vehicle is sending a warning to the user because the driver's hands have been off
6259      * the steering wheel for too long, the warning should be surfaced through
6260      * {@link #HANDS_ON_DETECTION_WARNING}.
6261      *
6262      * <p>For the global area ID (0), the {@link
6263      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
6264      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
6265      * from {@link android.car.hardware.property.HandsOnDetectionDriverState} and {@link
6266      * android.car.hardware.property.ErrorState} are supported.
6267      *
6268      * <p>Property Config:
6269      * <ul>
6270      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
6271      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6272      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
6273      *  <li>{@code Integer} property type
6274      * </ul>
6275      *
6276      * <p>Required Permission:
6277      * <ul>
6278      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_DRIVER_MONITORING_STATES} to
6279      *  read property.
6280      *  <li>Property is not writable.
6281      * </ul>
6282      *
6283      * @hide
6284      */
6285     @SystemApi
6286     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DRIVER_MONITORING_STATES))
6287     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6288             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6289     public static final int HANDS_ON_DETECTION_DRIVER_STATE = 289411095;
6290     /**
6291      * Hands On Detection (HOD) warning.
6292      *
6293      * <p>Returns whether a warning is being sent to the driver for having their hands off the wheel
6294      * for too long a duration.
6295      *
6296      * <p>Generally, this property should return a valid state defined in the {@link
6297      * android.car.hardware.property.HandsOnDetectionWarning} or {@link
6298      * android.car.hardware.property.ErrorState}. For example, if the feature is not available due
6299      * to some temporary state, that information should be conveyed through an {@link
6300      * android.car.hardware.property.ErrorState}.
6301      *
6302      * <p>For the global area ID (0), the {@link
6303      * android.car.hardware.property.AreaIdConfig#getSupportedEnumValues()} array obtained from
6304      * {@link android.car.hardware.CarPropertyConfig#getAreaIdConfig(int)} specifies which states
6305      * from {@link android.car.hardware.property.HandsOnDetectionWarning} and {@link
6306      * android.car.hardware.property.ErrorState} are supported.
6307      *
6308      * <p>Property Config:
6309      * <ul>
6310      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
6311      *  <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
6312      *  <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
6313      *  <li>{@code Integer} property type
6314      * </ul>
6315      *
6316      * <p>Required Permission:
6317      * <ul>
6318      *  <li>Signature|Privileged permission {@link Car#PERMISSION_READ_DRIVER_MONITORING_STATES} to
6319      *  read property.
6320      *  <li>Property is not writable.
6321      * </ul>
6322      *
6323      * @hide
6324      */
6325     @SystemApi
6326     @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DRIVER_MONITORING_STATES))
6327     @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
6328             minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
6329     public static final int HANDS_ON_DETECTION_WARNING = 289411096;
6330 
6331     /**
6332      * @deprecated to prevent others from instantiating this class
6333      */
6334     @Deprecated
6335     @ExcludeFromCodeCoverageGeneratedReport(reason = BOILERPLATE_CODE)
VehiclePropertyIds()6336     public VehiclePropertyIds() {
6337     }
6338 
6339     /**
6340      * Gets a user-friendly representation of a property.
6341      */
6342     @AddedInOrBefore(majorVersion = 33)
toString(int property)6343     public static String toString(int property) {
6344         return CarPropertyHelper.toString(property);
6345     }
6346 }
6347