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