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 android.annotation.RequiresPermission; 20 import android.car.hardware.CarPropertyValue; 21 import android.car.hardware.property.VehicleElectronicTollCollectionCardStatus; 22 import android.car.hardware.property.VehicleElectronicTollCollectionCardType; 23 24 /** 25 * Copy from android.hardware.automotive.vehicle-V2.0-java_gen_java/gen/android/hardware/automotive 26 * /vehicle/V2_0. Need to update this file when vehicle propertyId is changed in VHAL. 27 * Use it as PropertyId in getProperty() and setProperty() in 28 * {@link android.car.hardware.property.CarPropertyManager} 29 */ 30 public final class VehiclePropertyIds { 31 /** 32 * Undefined property. 33 */ 34 public static final int INVALID = 0; 35 /** 36 * VIN of vehicle 37 * Requires permission: {@link Car#PERMISSION_IDENTIFICATION}. 38 */ 39 @RequiresPermission(Car.PERMISSION_IDENTIFICATION) 40 public static final int INFO_VIN = 286261504; 41 /** 42 * Manufacturer of vehicle. 43 * 44 * <ul> 45 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 46 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 47 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 48 * <li>{@code String} property type 49 * </ul> 50 * 51 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 52 */ 53 @RequiresPermission(Car.PERMISSION_CAR_INFO) 54 public static final int INFO_MAKE = 286261505; 55 /** 56 * Model of vehicle. 57 * 58 * <ul> 59 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 60 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 61 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 62 * <li>{@code String} property type 63 * </ul> 64 * 65 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 66 */ 67 @RequiresPermission(Car.PERMISSION_CAR_INFO) 68 public static final int INFO_MODEL = 286261506; 69 /** 70 * Model year of vehicle. 71 * 72 * <ul> 73 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 74 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 75 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 76 * <li>{@code Integer} property type 77 * </ul> 78 * 79 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 80 */ 81 @RequiresPermission(Car.PERMISSION_CAR_INFO) 82 public static final int INFO_MODEL_YEAR = 289407235; 83 /** 84 * Fuel capacity of the vehicle in milliliters. 85 * 86 * <ul> 87 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 88 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 89 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 90 * <li>{@code Float} property type 91 * </ul> 92 * 93 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 94 */ 95 @RequiresPermission(Car.PERMISSION_CAR_INFO) 96 public static final int INFO_FUEL_CAPACITY = 291504388; 97 /** 98 * List the {@link FuelType}s the vehicle may use. 99 * 100 * <ul> 101 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 102 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 103 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 104 * <li>{@code Integer[]} property type 105 * </ul> 106 * 107 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 108 */ 109 @RequiresPermission(Car.PERMISSION_CAR_INFO) 110 public static final int INFO_FUEL_TYPE = 289472773; 111 /** 112 * Battery capacity of the vehicle in watt-hours (Wh), if EV or hybrid. This is the nominal 113 * battery capacity when the vehicle is new. 114 * 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 Float} property type 120 * </ul> 121 * 122 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 123 */ 124 @RequiresPermission(Car.PERMISSION_CAR_INFO) 125 public static final int INFO_EV_BATTERY_CAPACITY = 291504390; 126 /** 127 * List of {@link EvConnectorType}s this vehicle may use. 128 * 129 * <ul> 130 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 131 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 132 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 133 * <li>{@code Integer[]} property type 134 * </ul> 135 * 136 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 137 */ 138 @RequiresPermission(Car.PERMISSION_CAR_INFO) 139 public static final int INFO_EV_CONNECTOR_TYPE = 289472775; 140 /** 141 * {@link PortLocationType} for the fuel door location. 142 * 143 * <ul> 144 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 145 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 146 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 147 * <li>{@code Integer} property type 148 * </ul> 149 * 150 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 151 */ 152 @RequiresPermission(Car.PERMISSION_CAR_INFO) 153 public static final int INFO_FUEL_DOOR_LOCATION = 289407240; 154 /** 155 * {@link PortLocationType} for the EV port location 156 * 157 * <ul> 158 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 159 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 160 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 161 * <li>{@code Integer} property type 162 * </ul> 163 * 164 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 165 */ 166 @RequiresPermission(Car.PERMISSION_CAR_INFO) 167 public static final int INFO_EV_PORT_LOCATION = 289407241; 168 /** 169 * List {@link PortLocationType}s for Multiple EV port locations. 170 * 171 * <ul> 172 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 173 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 174 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 175 * <li>{@code Integer[]} property type 176 * </ul> 177 * 178 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 179 */ 180 @RequiresPermission(Car.PERMISSION_CAR_INFO) 181 public static final int INFO_MULTI_EV_PORT_LOCATIONS = 289472780; 182 /** 183 * Driver's {@link VehicleAreaSeat} seat location. 184 * 185 * <ul> 186 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 187 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 188 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 189 * <li>{@code Integer} property type 190 * </ul> 191 * 192 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 193 */ 194 @RequiresPermission(Car.PERMISSION_CAR_INFO) 195 public static final int INFO_DRIVER_SEAT = 356516106; 196 /** 197 * Vehicle's exterior dimensions in millimeters. 198 * 199 * <ul> 200 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 201 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 202 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_STATIC} 203 * <li>{@code Integer[]} property type 204 * </ul> 205 * 206 * <p>Exterior dimensions defined in the {@link CarPropertyValue#getValue()} {@code Integer[]}: 207 * <ul> 208 * <li>Integer[0] = height 209 * <li>Integer[1] = length 210 * <li>Integer[2] = width 211 * <li>Integer[3] = width including mirrors 212 * <li>Integer[4] = wheel base 213 * <li>Integer[5] = track width front 214 * <li>Integer[6] = track width rear 215 * <li>Integer[7] = curb to curb turning radius 216 * </ul> 217 * 218 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 219 */ 220 @RequiresPermission(Car.PERMISSION_CAR_INFO) 221 public static final int INFO_EXTERIOR_DIMENSIONS = 289472779; 222 /** 223 * Current odometer value of the vehicle in kilometers. 224 * The property is protected by the signature permission: android.car.permission.CAR_MILEAGE. 225 */ 226 @RequiresPermission(Car.PERMISSION_MILEAGE) 227 public static final int PERF_ODOMETER = 291504644; 228 /** 229 * Speed of the vehicle in meters per second. 230 * 231 * <ul> 232 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 233 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 234 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 235 * <li>{@code Float} property type 236 * </ul> 237 * 238 * <p>When the vehicle is moving forward, PERF_VEHICLE_SPEED is positive and negative when the 239 * vehicle is moving backward. Also, this value is independent of gear value (CURRENT_GEAR or 240 * GEAR_SELECTION). For example, if GEAR_SELECTION is GEAR_NEUTRAL, PERF_VEHICLE_SPEED is 241 * positive when the vehicle is moving forward, negative when moving backward, and zero when 242 * not moving. 243 * 244 * <p>Requires permission: {@link Car#PERMISSION_SPEED}. 245 */ 246 @RequiresPermission(Car.PERMISSION_SPEED) 247 public static final int PERF_VEHICLE_SPEED = 291504647; 248 /** 249 * Speed of the vehicle in meters per second for displays. 250 * 251 * <ul> 252 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 253 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 254 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 255 * <li>{@code Float} property type 256 * </ul> 257 * 258 * <p>Some cars display a slightly slower speed than the actual speed. This is 259 * usually displayed on the speedometer. 260 * 261 * <p>Requires permission: {@link Car#PERMISSION_SPEED}. 262 */ 263 @RequiresPermission(Car.PERMISSION_SPEED) 264 public static final int PERF_VEHICLE_SPEED_DISPLAY = 291504648; 265 /** 266 * Front bicycle model steering angle for vehicle in degrees. 267 * 268 * Left is negative. 269 * Requires permission: {@link Car#PERMISSION_READ_STEERING_STATE}. 270 */ 271 @RequiresPermission(Car.PERMISSION_READ_STEERING_STATE) 272 public static final int PERF_STEERING_ANGLE = 291504649; 273 /** 274 * Rear bicycle model steering angle for vehicle in degrees. 275 * 276 * Left is negative. 277 * Requires permission: {@link Car#PERMISSION_READ_STEERING_STATE}. 278 */ 279 @RequiresPermission(Car.PERMISSION_READ_STEERING_STATE) 280 public static final int PERF_REAR_STEERING_ANGLE = 291504656; 281 /** 282 * Temperature of engine coolant in celsius. 283 * The property is protected by the signature permission: 284 * android.car.permission.CAR_ENGINE_DETAILED. 285 */ 286 @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED) 287 public static final int ENGINE_COOLANT_TEMP = 291504897; 288 /** 289 * Engine oil level 290 * The property is protected by the signature permission: 291 * android.car.permission.CAR_ENGINE_DETAILED. 292 */ 293 @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED) 294 public static final int ENGINE_OIL_LEVEL = 289407747; 295 /** 296 * Temperature of engine oil in celsius. 297 * The property is protected by the signature permission: 298 * android.car.permission.CAR_ENGINE_DETAILED. 299 */ 300 @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED) 301 public static final int ENGINE_OIL_TEMP = 291504900; 302 /** 303 * Engine rpm 304 * The property is protected by the signature permission: 305 * android.car.permission.CAR_ENGINE_DETAILED. 306 */ 307 @RequiresPermission(Car.PERMISSION_CAR_ENGINE_DETAILED) 308 public static final int ENGINE_RPM = 291504901; 309 /** 310 * Reports wheel ticks. 311 * 312 * <ul> 313 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 314 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 315 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 316 * <li>{@code Long[]} property type 317 * </ul> 318 * 319 * <p>The first element in the array is a reset count. A reset indicates 320 * previous tick counts are not comparable with this and future ones. Some 321 * sort of discontinuity in tick counting has occurred. 322 * 323 * <p>The next four elements represent ticks for individual wheels in the 324 * following order: front left, front right, rear right, rear left. All 325 * tick counts are cumulative. Tick counts increment when the vehicle 326 * moves forward, and decrement when vehicles moves in reverse. The ticks 327 * should be reset to 0 when the vehicle is started by the user. 328 * 329 * <ul> 330 * <li>Long[0] = reset count 331 * <li>Long[1] = front left ticks 332 * <li>Long[2] = front right ticks 333 * <li>Long[3] = rear right ticks 334 * <li>Long[4] = rear left ticks 335 * </ul> 336 * 337 * <p>configArray is used to indicate the micrometers-per-wheel-tick values and 338 * which wheels are supported. Each micrometers-per-wheel-tick value is static (i.e. will not 339 * update based on wheel's status) and a best approximation. For example, if a vehicle has 340 * multiple rim/tire size options, the micrometers-per-wheel-tick values are set to those for 341 * the typically expected rim/tire size. configArray is set as follows: 342 * 343 * <ul> 344 * <li>configArray[0], bits [0:3] = supported wheels. Uses {@link VehicleAreaWheel}. 345 * <li>configArray[1] = micrometers per front left wheel tick 346 * <li>configArray[2] = micrometers per front right wheel tick 347 * <li>configArray[3] = micrometers per rear right wheel tick 348 * <li>configArray[4] = micrometers per rear left wheel tick 349 * </ul> 350 * 351 * <p>NOTE: If a wheel is not supported, its value is always 0. 352 * 353 * <p>Requires permission: {@link Car#PERMISSION_SPEED}. 354 */ 355 @RequiresPermission(Car.PERMISSION_SPEED) 356 public static final int WHEEL_TICK = 290521862; 357 /** 358 * Fuel remaining in the vehicle in milliliters. 359 * 360 * <p>Property Config: 361 * <ul> 362 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 363 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 364 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 365 * <li>{@code Float} property type 366 * </ul> 367 * 368 * <p>Required Permissions: 369 * <ul> 370 * <li>{@link Car#PERMISSION_ENERGY} to read property. 371 * <li>Property is not writable. 372 * </ul> 373 */ 374 @RequiresPermission(Car.PERMISSION_ENERGY) 375 public static final int FUEL_LEVEL = 291504903; 376 /** 377 * Fuel door open. 378 * 379 * <p>Property Config: 380 * <ul> 381 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 382 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 383 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 384 * <li>{@code Boolean} property type 385 * </ul> 386 * 387 * <p>Required Permissions: 388 * <ul> 389 * <li>{@link Car#PERMISSION_ENERGY_PORTS} to read property. 390 * <li>Signature permission, android.car.permission.CONTROL_CAR_ENERGY_PORTS, to write 391 * property. 392 * </ul> 393 */ 394 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY_PORTS)) 395 @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ENERGY_PORTS)) 396 public static final int FUEL_DOOR_OPEN = 287310600; 397 /** 398 * EV battery level in watt-hours (Wh), if EV or hybrid. 399 * 400 * <p>Property Config: 401 * <ul> 402 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 403 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 404 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 405 * <li>{@code Float} property type 406 * </ul> 407 * 408 * <p>Required Permissions: 409 * <ul> 410 * <li>{@link Car#PERMISSION_ENERGY} to read property. 411 * <li>Property is not writable. 412 * </ul> 413 */ 414 @RequiresPermission(Car.PERMISSION_ENERGY) 415 public static final int EV_BATTERY_LEVEL = 291504905; 416 /** 417 * EV charge port open. 418 * 419 * <p>Property Config: 420 * <ul> 421 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 422 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 423 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 424 * <li>{@code Boolean} property type 425 * </ul> 426 * 427 * <p>Required Permissions: 428 * <ul> 429 * <li>{@link Car#PERMISSION_ENERGY_PORTS} to read property. 430 * <li>Signature permission, android.car.permission.CONTROL_CAR_ENERGY_PORTS, to write 431 * property. 432 * </ul> 433 */ 434 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY_PORTS)) 435 @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_CONTROL_ENERGY_PORTS)) 436 public static final int EV_CHARGE_PORT_OPEN = 287310602; 437 /** 438 * EV charge port connected. 439 * 440 * <p>Property Config: 441 * <ul> 442 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 443 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 444 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 445 * <li>{@code Boolean} property type 446 * </ul> 447 * 448 * <p>Required Permissions: 449 * <ul> 450 * <li>{@link Car#PERMISSION_ENERGY_PORTS} to read property. 451 * <li>Property is not writable. 452 * </ul> 453 */ 454 @RequiresPermission(Car.PERMISSION_ENERGY_PORTS) 455 public static final int EV_CHARGE_PORT_CONNECTED = 287310603; 456 /** 457 * EV instantaneous charge rate in milliwatts. 458 * 459 * <p>Positive rate indicates battery is being charged, and Negative rate indicates battery 460 * being discharged. 461 * 462 * <p>Property Config: 463 * <ul> 464 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 465 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 466 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 467 * <li>{@code Float} property type 468 * </ul> 469 * 470 * <p>Required Permissions: 471 * <ul> 472 * <li>{@link Car#PERMISSION_ENERGY} to read property. 473 * <li>Property is not writable. 474 * </ul> 475 */ 476 @RequiresPermission(Car.PERMISSION_ENERGY) 477 public static final int EV_BATTERY_INSTANTANEOUS_CHARGE_RATE = 291504908; 478 /** 479 * Range remaining in meters. 480 * 481 * <p>Range remaining accounts for all energy sources in a vehicle. For example, a hybrid car's 482 * range will be the sum of the ranges based on fuel and battery. 483 * 484 * <p>Property Config: 485 * <ul> 486 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 487 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 488 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 489 * <li>{@code Float} property type 490 * </ul> 491 * 492 * <p>Required Permissions: 493 * <ul> 494 * <li>{@link Car#PERMISSION_ENERGY} to read property. 495 * <li>Signature permission, android.car.permission.ADJUST_RANGE_REMAINING, to write property. 496 * </ul> 497 */ 498 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_ENERGY)) 499 @RequiresPermission.Write(@RequiresPermission(Car.PERMISSION_ADJUST_RANGE_REMAINING)) 500 public static final int RANGE_REMAINING = 291504904; 501 /** 502 * Tire pressure in kilopascals. 503 * 504 * min/max value indicates tire pressure sensor range. Each tire will have a separate min/max 505 * value denoted by its areaConfig.areaId. 506 * The property is protected by the signature permission: android.car.permission.CAR_TIRES. 507 */ 508 @RequiresPermission(Car.PERMISSION_TIRES) 509 public static final int TIRE_PRESSURE = 392168201; 510 /** 511 * Critically low tire pressure 512 * 513 * <p>This property indicates the critically low pressure threshold for each tire. It 514 * indicates when it is time for tires to be replaced or fixed. The value 515 * must be less than or equal to minFloatValue in {@link VehiclePropertyIds#TIRE_PRESSURE}. 516 * <p>Minimum and maximum property values 517 * (that is, {@code minFloatValue}, {@code maxFloatValue}) are not applicable to this property. 518 */ 519 @RequiresPermission(Car.PERMISSION_TIRES) 520 public static final int CRITICALLY_LOW_TIRE_PRESSURE = 392168202; 521 /** 522 * Currently selected gear by user. 523 * 524 * <ul> 525 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 526 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 527 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 528 * <li>{@code Integer} property type 529 * </ul> 530 * 531 * <p> See {@link VehicleGear} for gear value enum. 532 * 533 * <p>configArray represents the list of supported gears for the vehicle. For example, 534 * configArray for an EV vehicle is set as follows: 535 * 536 * <ul> 537 * <li>configArray[0] = {@link VehicleGear#GEAR_REVERSE} 538 * <li>configArray[1] = {@link VehicleGear#GEAR_PARK} 539 * <li>configArray[2] = {@link VehicleGear#GEAR_DRIVE} 540 * </ul> 541 * 542 * <p>Example automatic transmission configArray: 543 * 544 * <ul> 545 * <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL} 546 * <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE} 547 * <li>configArray[2] = {@link VehicleGear#GEAR_PARK} 548 * <li>configArray[3] = {@link VehicleGear#GEAR_DRIVE} 549 * <li>configArray[4] = {@link VehicleGear#GEAR_FIRST} 550 * <li>configArray[5] = {@link VehicleGear#GEAR_SECOND} 551 * <li>... 552 * </ul> 553 * 554 * <p>Example manual transmission configArray: 555 * 556 * <ul> 557 * <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL} 558 * <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE} 559 * <li>configArray[4] = {@link VehicleGear#GEAR_FIRST} 560 * <li>configArray[5] = {@link VehicleGear#GEAR_SECOND} 561 * <li>... 562 * </ul> 563 * 564 * <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}. 565 */ 566 @RequiresPermission(Car.PERMISSION_POWERTRAIN) 567 public static final int GEAR_SELECTION = 289408000; 568 /** 569 * Vehicle transmission's current {@link VehicleGear}. 570 * 571 * <ul> 572 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 573 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 574 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 575 * <li>{@code Integer} property type 576 * </ul> 577 * 578 * <p>{@code CURRENT_GEAR}'s value may not match that of {@link 579 * VehiclePropertyIds#GEAR_SELECTION}. For example, if the {@link 580 * VehiclePropertyIds#GEAR_SELECTION} is {@link VehicleGear#GEAR_DRIVE} in a vehicle with an 581 * automatic transmission, the {@code CURRENT_GEAR} will be one of {@link 582 * VehicleGear#GEAR_FIRST}, {@link VehicleGear#GEAR_SECOND}, etc, which reflects the actual gear 583 * the transmission is currently running in. 584 * 585 * <p>configArray represents the list of supported {@link VehicleGear}s for {@code 586 * CURRENT_GEAR}. For example, the configArray for an EV vehicle is set as follows: 587 * 588 * <ul> 589 * <li>configArray[0] = {@link VehicleGear#GEAR_REVERSE} 590 * <li>configArray[1] = {@link VehicleGear#GEAR_PARK} 591 * <li>configArray[2] = {@link VehicleGear#GEAR_DRIVE} 592 * </ul> 593 * 594 * <p>Example automatic transmission configArray: 595 * 596 * <ul> 597 * <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL} 598 * <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE} 599 * <li>configArray[2] = {@link VehicleGear#GEAR_PARK} 600 * <li>configArray[4] = {@link VehicleGear#GEAR_FIRST} 601 * <li>configArray[5] = {@link VehicleGear#GEAR_SECOND} 602 * <li>... 603 * </ul> 604 * 605 * <p>Example manual transmission configArray: 606 * 607 * <ul> 608 * <li>configArray[0] = {@link VehicleGear#GEAR_NEUTRAL} 609 * <li>configArray[1] = {@link VehicleGear#GEAR_REVERSE} 610 * <li>configArray[4] = {@link VehicleGear#GEAR_FIRST} 611 * <li>configArray[5] = {@link VehicleGear#GEAR_SECOND} 612 * <li>... 613 * </ul> 614 * 615 * <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}. 616 */ 617 @RequiresPermission(Car.PERMISSION_POWERTRAIN) 618 public static final int CURRENT_GEAR = 289408001; 619 /** 620 * Parking brake state. 621 * 622 * <ul> 623 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 624 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 625 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 626 * <li>{@code Boolean} property type 627 * </ul> 628 * 629 * <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}. 630 */ 631 @RequiresPermission(Car.PERMISSION_POWERTRAIN) 632 public static final int PARKING_BRAKE_ON = 287310850; 633 /** 634 * Auto-apply parking brake. 635 * 636 * <ul> 637 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 638 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 639 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 640 * <li>{@code Boolean} property type 641 * </ul> 642 * 643 * <p>Requires permission: {@link Car#PERMISSION_POWERTRAIN}. 644 */ 645 @RequiresPermission(Car.PERMISSION_POWERTRAIN) 646 public static final int PARKING_BRAKE_AUTO_APPLY = 287310851; 647 /** 648 * Warning for fuel low level. 649 * 650 * <p>{@code FUEL_LEVEL_LOW} corresponds to the low fuel warning on the dashboard. Once {@code 651 * FUEL_LEVEL_LOW} is set, it should not be cleared until more fuel is added to the vehicle. 652 * This property may take into account all fuel sources for a vehicle - for example: 653 * <ul> 654 * <li>For a gas powered vehicle, this property is based solely on gas level. 655 * <li>For a battery powered vehicle, this property is based solely on battery level. 656 * <li>For a hybrid vehicle, this property may be based on the combination of gas and 657 * battery levels, at the OEM's discretion. 658 * </ul> 659 * 660 * <p>Property Config: 661 * <ul> 662 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 663 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 664 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 665 * <li>{@code Boolean} property type 666 * </ul> 667 * 668 * <p>Required Permissions: 669 * <ul> 670 * <li>{@link Car#PERMISSION_ENERGY} to read property. 671 * <li>Property is not writable. 672 * </ul> 673 */ 674 @RequiresPermission(Car.PERMISSION_ENERGY) 675 public static final int FUEL_LEVEL_LOW = 287310853; 676 /** 677 * Night mode. 678 * 679 * <ul> 680 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 681 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 682 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 683 * <li>{@code Boolean} property type 684 * </ul> 685 * 686 * <p>True indicates that the night mode sensor has detected that the car cabin environment has 687 * low light. 688 * 689 * <p>Requires permission: {@link Car#PERMISSION_EXTERIOR_ENVIRONMENT}. 690 */ 691 @RequiresPermission(Car.PERMISSION_EXTERIOR_ENVIRONMENT) 692 public static final int NIGHT_MODE = 287310855; 693 /** 694 * State of the vehicles turn signals 695 * The property is protected by the signature permission: 696 * android.car.permission.CAR_EXTERIOR_LIGHTS . 697 */ 698 @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS) 699 public static final int TURN_SIGNAL_STATE = 289408008; 700 /** 701 * Vehicle's ignition state. 702 * 703 * <p>The property value can be one of: 704 * <ul> 705 * <li>{@code 0}: Steering wheel is locked. 706 * <li>{@code 1}: Steering wheel is not locked, engine and all accessories are OFF. 707 * <li>{@code 2}: Typically in this state accessories become available (e.g. radio). 708 * Instrument cluster and engine are turned off 709 * <li>{@code 3}: Ignition is in state ON. Accessories and instrument cluster available, 710 * engine might be running or ready to be started. 711 * <li>{@code 4}: Typically in this state engine is starting (cranking). 712 * </> 713 * 714 * <p>Property Config: 715 * <ul> 716 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 717 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 718 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 719 * <li>{@code Integer} property type 720 * </ul> 721 * 722 * <p>Required Permissions: 723 * <ul> 724 * <li>{@link Car#PERMISSION_POWERTRAIN} to read property. 725 * <li>Property is not writable. 726 * </ul> 727 */ 728 @RequiresPermission(Car.PERMISSION_POWERTRAIN) 729 public static final int IGNITION_STATE = 289408009; 730 /** 731 * ABS is active 732 * The property is protected by the signature permission: 733 * android.car.permission.CAR_DYNAMICS_STATE. 734 */ 735 @RequiresPermission(Car.PERMISSION_CAR_DYNAMICS_STATE) 736 public static final int ABS_ACTIVE = 287310858; 737 /** 738 * Traction Control is active 739 * The property is protected by the signature permission: 740 * android.car.permission.CAR_DYNAMICS_STATE. 741 */ 742 @RequiresPermission(Car.PERMISSION_CAR_DYNAMICS_STATE) 743 public static final int TRACTION_CONTROL_ACTIVE = 287310859; 744 /** 745 * Fan speed setting 746 * The property is protected by the signature permission: 747 * android.car.permission.CONTROL_CAR_CLIMATE. 748 */ 749 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 750 public static final int HVAC_FAN_SPEED = 356517120; 751 /** 752 * Fan direction setting 753 * The property is protected by the signature permission: 754 * android.car.permission.CONTROL_CAR_CLIMATE. 755 */ 756 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 757 public static final int HVAC_FAN_DIRECTION = 356517121; 758 /** 759 * HVAC current temperature in celsius. 760 * The property is protected by the signature permission: 761 * android.car.permission.CONTROL_CAR_CLIMATE. 762 */ 763 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 764 public static final int HVAC_TEMPERATURE_CURRENT = 358614274; 765 /** 766 * HVAC, target temperature set. 767 * 768 * <p>The {@code configArray} is used to indicate the valid values for HVAC in Fahrenheit and 769 * Celsius. Android might use it in the HVAC app UI. 770 * <p>The {@code configArray} is set as follows: 771 * <ul> 772 * <li>{@code configArray[0]} is [the lower bound of the supported temperature in Celsius] 773 * * 10. 774 * <li>{@code configArray[1]} is [the upper bound of the supported temperature in Celsius] 775 * * 10. 776 * <li>{@code configArray[2]} is [the increment in Celsius] * 10. 777 * <li>{@code configArray[3]} is 778 * [the lower bound of the supported temperature in Fahrenheit] * 10. 779 * <li>{@code configArray[4]} is 780 * [the upper bound of the supported temperature in Fahrenheit] * 10. 781 * <li>{@code configArray[5]} is [the increment in Fahrenheit] * 10. 782 * </ul> 783 * <p>For example, if the vehicle supports temperature values as: 784 * <pre> 785 * [16.0, 16.5, 17.0 ,..., 28.0] in Celsius 786 * [60.5, 61.5, 62.5 ,..., 85.5] in Fahrenheit 787 * </pre> 788 * <p>The {@code configArray} should be: 789 * <pre> 790 * configArray = {160, 280, 5, 605, 855, 10}. 791 * </pre> 792 * <p>If the vehicle supports {@link VehiclePropertyIds#HVAC_TEMPERATURE_VALUE_SUGGESTION}, 793 * the application can use that property to get the suggested value before setting 794 * {@code HVAC_TEMPERATURE_SET}. Otherwise, the application may choose the 795 * value in {@code configArray} of {@code HVAC_TEMPERATURE_SET} by itself. 796 */ 797 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 798 public static final int HVAC_TEMPERATURE_SET = 358614275; 799 /** 800 * Suggested values for setting HVAC temperature. 801 * 802 * <p>Implement the property to help applications understand the closest supported temperature 803 * value in Celsius or Fahrenheit. 804 * <ul> 805 * <li>{@code floatValues[0]} is the requested value that an application wants to set a 806 * temperature to. 807 * <li>{@code floatValues[1]} is the unit for {@code floatValues[0]}. It should be one of 808 * ({@code VehicleUnit:CELSIUS}, {@code VehicleUnit:FAHRENHEIT}). 809 * <li>{@code floatValues[2]} is the value OEMs suggested in CELSIUS. This value is not 810 * included in the request. 811 * <li>{@code floatValues[3]} is the value OEMs suggested in FAHRENHEIT. This value is not 812 * included in the request. 813 * </ul> 814 * <p>An application calls 815 * {@link android.car.hardware.property.CarPropertyManager#setProperty(Class, int, int, Object)} 816 * with the requested value and unit for the value. OEMs need to return the suggested values 817 * in {@code floatValues[2]} and {@code floatValues[3]} by 818 * {@link android.car.hardware.property.CarPropertyManager.CarPropertyEventCallback}. 819 * 820 * <p>For example, when a user uses the voice assistant to set HVAC temperature to 66.2 in 821 * Fahrenheit. 822 * <p>First, an application will set this property with the value 823 * [66.2, {@code (float)VehicleUnit:FAHRENHEIT}, 0, 0]. If OEMs suggest to set 19.0 in Celsius 824 * or 66.5 in Fahrenheit for user's request, then car must generate a callback with property 825 * value [66.2, {@code (float)VehicleUnit:FAHRENHEIT}, 19.0, 66.5]. After the voice assistant 826 * gets the callback, it will inform the user and set HVAC temperature to the suggested value. 827 * 828 * <p>Another example, an application receives 21 Celsius as the current temperature value by 829 * querying {@link VehiclePropertyIds#HVAC_TEMPERATURE_SET}. But the application wants to know 830 * what value is displayed on the car's UI in Fahrenheit. 831 * <p>For this, the application sets the property to 832 * [21, {@code (float)VehicleUnit:CELSIUS}, 0, 0]. If the suggested value by the OEM for 21 833 * Celsius is 70 Fahrenheit, then car must generate a callback with property value 834 * [21, {@code (float)VehicleUnit:CELSIUS}, 21.0, 70.0]. In this case, the application can know 835 * that the value is 70.0 Fahrenheit in the car’s UI. 836 */ 837 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 838 public static final int HVAC_TEMPERATURE_VALUE_SUGGESTION = 291570965; 839 /** 840 * On/off defrost for designated window 841 * The property is protected by the signature permission: 842 * android.car.permission.CONTROL_CAR_CLIMATE. 843 */ 844 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 845 public static final int HVAC_DEFROSTER = 320865540; 846 /** 847 * On/off AC for designated areaId 848 * The property is protected by the signature permission: 849 * android.car.permission.CONTROL_CAR_CLIMATE. 850 */ 851 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 852 public static final int HVAC_AC_ON = 354419973; 853 /** 854 * On/off max AC 855 * The property is protected by the signature permission: 856 * android.car.permission.CONTROL_CAR_CLIMATE. 857 */ 858 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 859 public static final int HVAC_MAX_AC_ON = 354419974; 860 /** 861 * On/off max defrost 862 * The property is protected by the signature permission: 863 * android.car.permission.CONTROL_CAR_CLIMATE. 864 */ 865 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 866 public static final int HVAC_MAX_DEFROST_ON = 354419975; 867 /** 868 * Recirculation on/off 869 * The property is protected by the signature permission: 870 * android.car.permission.CONTROL_CAR_CLIMATE. 871 */ 872 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 873 public static final int HVAC_RECIRC_ON = 354419976; 874 /** 875 * Enable temperature coupling between areas. 876 * The property is protected by the signature permission: 877 * android.car.permission.CONTROL_CAR_CLIMATE. 878 */ 879 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 880 public static final int HVAC_DUAL_ON = 354419977; 881 /** 882 * On/off automatic mode 883 * The property is protected by the signature permission: 884 * android.car.permission.CONTROL_CAR_CLIMATE. 885 */ 886 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 887 public static final int HVAC_AUTO_ON = 354419978; 888 /** 889 * Seat heating/cooling 890 * The property is protected by the signature permission: 891 * android.car.permission.CONTROL_CAR_CLIMATE. 892 */ 893 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 894 public static final int HVAC_SEAT_TEMPERATURE = 356517131; 895 /** 896 * Side Mirror Heat 897 * The property is protected by the signature permission: 898 * android.car.permission.CONTROL_CAR_CLIMATE. 899 */ 900 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 901 public static final int HVAC_SIDE_MIRROR_HEAT = 339739916; 902 /** 903 * Steering Wheel Heating/Cooling 904 * The property is protected by the signature permission: 905 * android.car.permission.CONTROL_CAR_CLIMATE. 906 */ 907 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 908 public static final int HVAC_STEERING_WHEEL_HEAT = 289408269; 909 /** 910 * Temperature units for display 911 * The property is protected by the signature permission: 912 * android.car.permission.CONTROL_CAR_CLIMATE. 913 */ 914 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 915 public static final int HVAC_TEMPERATURE_DISPLAY_UNITS = 289408270; 916 /** 917 * Actual fan speed 918 * The property is protected by the signature permission: 919 * android.car.permission.CONTROL_CAR_CLIMATE. 920 */ 921 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 922 public static final int HVAC_ACTUAL_FAN_SPEED_RPM = 356517135; 923 /** 924 * Represents global power state for HVAC. Setting this property to false 925 * MAY mark some properties that control individual HVAC features/subsystems 926 * to UNAVAILABLE state. Setting this property to true MAY mark some 927 * properties that control individual HVAC features/subsystems to AVAILABLE 928 * state (unless any/all of them are UNAVAILABLE on their own individual 929 * merits). 930 * The property is protected by the signature permission: 931 * android.car.permission.CONTROL_CAR_CLIMATE. 932 */ 933 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 934 public static final int HVAC_POWER_ON = 354419984; 935 /** 936 * Fan Positions Available 937 * The property is protected by the signature permission: 938 * android.car.permission.CONTROL_CAR_CLIMATE. 939 */ 940 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 941 public static final int HVAC_FAN_DIRECTION_AVAILABLE = 356582673; 942 /** 943 * Automatic recirculation on/off 944 * The property is protected by the signature permission: 945 * android.car.permission.CONTROL_CAR_CLIMATE. 946 */ 947 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 948 public static final int HVAC_AUTO_RECIRC_ON = 354419986; 949 /** 950 * Seat ventilation 951 * The property is protected by the signature permission: 952 * android.car.permission.CONTROL_CAR_CLIMATE. 953 */ 954 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 955 public static final int HVAC_SEAT_VENTILATION = 356517139; 956 /** 957 * ELECTRIC DEFROSTER 958 * The property is protected by the signature permission: 959 * android.car.permission.CONTROL_CAR_CLIMATE. 960 * 961 * @hide 962 */ 963 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_CLIMATE) 964 public static final int HVAC_ELECTRIC_DEFROSTER_ON = 320865556; 965 /** 966 * Distance units for display. 967 * 968 * <p>Indicates which units the car is using to display distances to the user. 969 * 970 * <p>configArray represents the list of supported units for {@code 971 * DISTANCE_DISPLAY_UNITS}. Here is an example configArray: 972 * <ul> 973 * <li>configArray[0] = {@code 33 //VehicleUnit#METER} 974 * <li>configArray[1] = {@code 35 //VehicleUnit#KILOMETER} 975 * <li>configArray[1] = {@code 36 //VehicleUnit#MILE} 976 * </ul> 977 * 978 * <p>Property Config: 979 * <ul> 980 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 981 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 982 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 983 * <li>{@code Integer} property type 984 * </ul> 985 * 986 * <p>Required Permissions: 987 * <ul> 988 * <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property. 989 * <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and 990 * android.car.permission.CAR_VENDOR_EXTENSION, to write property. 991 * </ul> 992 */ 993 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS)) 994 @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS, 995 Car.PERMISSION_VENDOR_EXTENSION})) 996 public static final int DISTANCE_DISPLAY_UNITS = 289408512; 997 /** 998 * Fuel volume units for display. 999 * 1000 * <p>Indicates which units the car is using to display fuel volume to the user. 1001 * 1002 * <p>configArray represents the list of supported units for {@code 1003 * FUEL_VOLUME_DISPLAY_UNITS}. Here is an example configArray: 1004 * <ul> 1005 * <li>configArray[0] = {@code 65 //VehicleUnit#LITER} 1006 * <li>configArray[1] = {@code 66 //VehicleUnit#US_GALLON} 1007 * </ul> 1008 * 1009 * <p>Property Config: 1010 * <ul> 1011 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 1012 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1013 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 1014 * <li>{@code Integer} property type 1015 * </ul> 1016 * 1017 * <p>Required Permissions: 1018 * <ul> 1019 * <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property. 1020 * <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and 1021 * android.car.permission.CAR_VENDOR_EXTENSION, to write property. 1022 * </ul> 1023 */ 1024 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS)) 1025 @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS, 1026 Car.PERMISSION_VENDOR_EXTENSION})) 1027 public static final int FUEL_VOLUME_DISPLAY_UNITS = 289408513; 1028 /** 1029 * Tire pressure units for display. 1030 * 1031 * <p>Indicates which units the car is using to display tire pressure to the user. 1032 * 1033 * <p>configArray represents the list of supported units for {@code 1034 * TIRE_PRESSURE_DISPLAY_UNITS}. Here is an example configArray: 1035 * <ul> 1036 * <li>configArray[0] = {@code 112 //VehicleUnit#KILOPASCAL} 1037 * <li>configArray[1] = {@code 113 //VehicleUnit#PSI} 1038 * <li>configArray[2] = {@code 114 //VehicleUnit#BAR} 1039 * </ul> 1040 * 1041 * <p>Property Config: 1042 * <ul> 1043 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 1044 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1045 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 1046 * <li>{@code Integer} property type 1047 * </ul> 1048 * 1049 * <p>Required Permissions: 1050 * <ul> 1051 * <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property. 1052 * <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and 1053 * android.car.permission.CAR_VENDOR_EXTENSION, to write property. 1054 * </ul> 1055 */ 1056 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS)) 1057 @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS, 1058 Car.PERMISSION_VENDOR_EXTENSION})) 1059 public static final int TIRE_PRESSURE_DISPLAY_UNITS = 289408514; 1060 /** 1061 * EV battery units for display. 1062 * 1063 * <p>Indicates which units the vehicle is using to display EV battery information to the user. 1064 * 1065 * <p>configArray represents the list of supported units for {@code 1066 * EV_BATTERY_DISPLAY_UNITS}. Here is an example configArray: 1067 * <ul> 1068 * <li>configArray[0] = {@code 96 //VehicleUnit#WATT_HOUR} 1069 * <li>configArray[1] = {@code 100 //VehicleUnit#AMPERE_HOURS} 1070 * <li>configArray[2] = {@code 101 //VehicleUnit#KILOWATT_HOUR} 1071 * </ul> 1072 * 1073 * <p>Property Config: 1074 * <ul> 1075 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 1076 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1077 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 1078 * <li>{@code Integer} property type 1079 * </ul> 1080 * 1081 * <p>Required Permissions: 1082 * <ul> 1083 * <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property. 1084 * <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and 1085 * android.car.permission.CAR_VENDOR_EXTENSION, to write property. 1086 * </ul> 1087 */ 1088 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS)) 1089 @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS, 1090 Car.PERMISSION_VENDOR_EXTENSION})) 1091 public static final int EV_BATTERY_DISPLAY_UNITS = 289408515; 1092 /** 1093 * Speed units for display. 1094 * 1095 * <p>Indicates type of units the vehicle is using to display speed to user. 1096 * 1097 * <p>configArray represents the list of supported units for {@code 1098 * VEHICLE_SPEED_DISPLAY_UNITS}. Here is an example configArray: 1099 * <ul> 1100 * <li>configArray[0] = {@code 1 //VehicleUnit#METER_PER_SEC} 1101 * <li>configArray[1] = {@code 114 //VehicleUnit#MILES_PER_HOUR} 1102 * <li>configArray[2] = {@code 115 //VehicleUnit#KILOMETERS_PER_HOUR} 1103 * </ul> 1104 * 1105 * <p>Property Config: 1106 * <ul> 1107 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 1108 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1109 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 1110 * <li>{@code Integer} property type 1111 * </ul> 1112 * 1113 * <p>Required Permissions: 1114 * <ul> 1115 * <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property. 1116 * <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and 1117 * android.car.permission.CAR_VENDOR_EXTENSION, to write property. 1118 * </ul> 1119 * 1120 * @hide 1121 */ 1122 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS)) 1123 @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS, 1124 Car.PERMISSION_VENDOR_EXTENSION})) 1125 public static final int VEHICLE_SPEED_DISPLAY_UNITS = 289408516; 1126 /** 1127 * Fuel consumption units for display. 1128 * 1129 * <p>Indicates type of units the car is using to display fuel consumption information to user. 1130 * 1131 * <p>{@code true} indicates units are distance over volume such as MPG. 1132 * 1133 * <p>{@code false} indicates units are volume over distance such as L/100KM. 1134 * 1135 * <p>Property Config: 1136 * <ul> 1137 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ_WRITE} 1138 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1139 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 1140 * <li>{@code Boolean} property type 1141 * </ul> 1142 * 1143 * <p>Required Permissions: 1144 * <ul> 1145 * <li>{@link Car#PERMISSION_READ_DISPLAY_UNITS} to read property. 1146 * <li>Signature permissions, android.car.permission.CONTROL_CAR_DISPLAY_UNITS and 1147 * android.car.permission.CAR_VENDOR_EXTENSION, to write property. 1148 * </ul> 1149 */ 1150 @RequiresPermission.Read(@RequiresPermission(Car.PERMISSION_READ_DISPLAY_UNITS)) 1151 @RequiresPermission.Write(@RequiresPermission(allOf = {Car.PERMISSION_CONTROL_DISPLAY_UNITS, 1152 Car.PERMISSION_VENDOR_EXTENSION})) 1153 public static final int FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME = 287311364; 1154 /** 1155 * Outside temperature in celsius. 1156 * 1157 * <ul> 1158 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 1159 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1160 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_CONTINUOUS} 1161 * <li>{@code Float} property type 1162 * </ul> 1163 * 1164 * <p>Requires permission: {@link Car#PERMISSION_EXTERIOR_ENVIRONMENT}. 1165 */ 1166 @RequiresPermission(Car.PERMISSION_EXTERIOR_ENVIRONMENT) 1167 public static final int ENV_OUTSIDE_TEMPERATURE = 291505923; 1168 /** 1169 * Property to control power state of application processor 1170 * 1171 * It is assumed that AP's power state is controller by separate power 1172 * controller. 1173 * The property is protected by the signature permission: android.car.permission.CAR_POWER. 1174 */ 1175 @RequiresPermission(Car.PERMISSION_CAR_POWER) 1176 public static final int AP_POWER_STATE_REQ = 289475072; 1177 /** 1178 * Property to report power state of application processor 1179 * 1180 * It is assumed that AP's power state is controller by separate power 1181 * controller. 1182 * The property is protected by the signature permission: android.car.permission.CAR_POWER. 1183 */ 1184 @RequiresPermission(Car.PERMISSION_CAR_POWER) 1185 public static final int AP_POWER_STATE_REPORT = 289475073; 1186 /** 1187 * Property to report bootup reason for the current power on. This is a 1188 * static property that will not change for the whole duration until power 1189 * off. For example, even if user presses power on button after automatic 1190 * power on with door unlock, bootup reason must stay with 1191 * VehicleApPowerBootupReason#USER_UNLOCK. 1192 * The property is protected by the signature permission: android.car.permission.CAR_POWER. 1193 */ 1194 @RequiresPermission(Car.PERMISSION_CAR_POWER) 1195 public static final int AP_POWER_BOOTUP_REASON = 289409538; 1196 /** 1197 * Property to represent brightness of the display. Some cars have single 1198 * control for the brightness of all displays and this property is to share 1199 * change in that control. 1200 * The property is protected by the signature permission: android.car.permission.CAR_POWER. 1201 */ 1202 @RequiresPermission(Car.PERMISSION_CAR_POWER) 1203 public static final int DISPLAY_BRIGHTNESS = 289409539; 1204 /** 1205 * Property to feed H/W input events to android 1206 */ 1207 public static final int HW_KEY_INPUT = 289475088; 1208 /** 1209 * Door position 1210 * 1211 * This is an integer in case a door may be set to a particular position. 1212 * Max value indicates fully open, min value (0) indicates fully closed. 1213 * The property is protected by the signature permission: 1214 * android.car.permission.CONTROL_CAR_DOORS. 1215 */ 1216 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS) 1217 public static final int DOOR_POS = 373295872; 1218 /** 1219 * Door move 1220 * The property is protected by the signature permission: 1221 * android.car.permission.CONTROL_CAR_DOORS. 1222 */ 1223 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS) 1224 public static final int DOOR_MOVE = 373295873; 1225 /** 1226 * Door lock 1227 * The property is protected by the signature permission: 1228 * android.car.permission.CONTROL_CAR_DOORS. 1229 */ 1230 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_DOORS) 1231 public static final int DOOR_LOCK = 371198722; 1232 /** 1233 * Mirror Z Position 1234 * The property is protected by the signature permission: 1235 * android.car.permission.CONTROL_CAR_MIRRORS. 1236 */ 1237 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS) 1238 public static final int MIRROR_Z_POS = 339741504; 1239 /** 1240 * Mirror Z Move 1241 * The property is protected by the signature permission: 1242 * android.car.permission.CONTROL_CAR_MIRRORS. 1243 */ 1244 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS) 1245 public static final int MIRROR_Z_MOVE = 339741505; 1246 /** 1247 * Mirror Y Position 1248 * The property is protected by the signature permission: 1249 * android.car.permission.CONTROL_CAR_MIRRORS. 1250 */ 1251 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS) 1252 public static final int MIRROR_Y_POS = 339741506; 1253 /** 1254 * Mirror Y Move 1255 * The property is protected by the signature permission: 1256 * android.car.permission.CONTROL_CAR_MIRRORS. 1257 */ 1258 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS) 1259 public static final int MIRROR_Y_MOVE = 339741507; 1260 /** 1261 * Mirror Lock 1262 * The property is protected by the signature permission: 1263 * android.car.permission.CONTROL_CAR_MIRRORS. 1264 */ 1265 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS) 1266 public static final int MIRROR_LOCK = 287312708; 1267 /** 1268 * Mirror Fold 1269 * The property is protected by the signature permission: 1270 * android.car.permission.CONTROL_CAR_MIRRORS. 1271 */ 1272 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_MIRRORS) 1273 public static final int MIRROR_FOLD = 287312709; 1274 /** 1275 * Seat memory select 1276 * 1277 * This parameter selects the memory preset to use to select the seat 1278 * position. The minValue is always 0, and the maxValue determines the 1279 * number of seat positions available. 1280 * The property is protected by the signature permission: 1281 * android.car.permission.CONTROL_CAR_SEATS. 1282 */ 1283 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1284 public static final int SEAT_MEMORY_SELECT = 356518784; 1285 /** 1286 * Seat memory set 1287 * 1288 * This setting allows the user to save the current seat position settings 1289 * into the selected preset slot. The maxValue for each seat position 1290 * must match the maxValue for SEAT_MEMORY_SELECT. 1291 * The property is protected by the signature permission: 1292 * android.car.permission.CONTROL_CAR_SEATS. 1293 */ 1294 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1295 public static final int SEAT_MEMORY_SET = 356518785; 1296 /** 1297 * Seatbelt buckled 1298 * 1299 * True indicates belt is buckled. 1300 * The property is protected by the signature permission: 1301 * android.car.permission.CONTROL_CAR_SEATS. 1302 */ 1303 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1304 public static final int SEAT_BELT_BUCKLED = 354421634; 1305 /** 1306 * Seatbelt height position 1307 * The property is protected by the signature permission: 1308 * android.car.permission.CONTROL_CAR_SEATS. 1309 */ 1310 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1311 public static final int SEAT_BELT_HEIGHT_POS = 356518787; 1312 /** 1313 * Seatbelt height move 1314 * The property is protected by the signature permission: 1315 * android.car.permission.CONTROL_CAR_SEATS. 1316 */ 1317 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1318 public static final int SEAT_BELT_HEIGHT_MOVE = 356518788; 1319 /** 1320 * Seat fore/aft position 1321 * The property is protected by the signature permission: 1322 * android.car.permission.CONTROL_CAR_SEATS. 1323 */ 1324 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1325 public static final int SEAT_FORE_AFT_POS = 356518789; 1326 /** 1327 * Seat fore/aft move 1328 * The property is protected by the signature permission: 1329 * android.car.permission.CONTROL_CAR_SEATS. 1330 */ 1331 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1332 public static final int SEAT_FORE_AFT_MOVE = 356518790; 1333 /** 1334 * Seat backrest angle 1 position 1335 * The property is protected by the signature permission: 1336 * android.car.permission.CONTROL_CAR_SEATS. 1337 */ 1338 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1339 public static final int SEAT_BACKREST_ANGLE_1_POS = 356518791; 1340 /** 1341 * Seat backrest angle 1 move 1342 * 1343 * Moves the backrest forward or recline. 1344 * The property is protected by the signature permission: 1345 * android.car.permission.CONTROL_CAR_SEATS. 1346 */ 1347 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1348 public static final int SEAT_BACKREST_ANGLE_1_MOVE = 356518792; 1349 /** 1350 * Seat backrest angle 2 position 1351 * The property is protected by the signature permission: 1352 * android.car.permission.CONTROL_CAR_SEATS. 1353 */ 1354 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1355 public static final int SEAT_BACKREST_ANGLE_2_POS = 356518793; 1356 /** 1357 * Seat backrest angle 2 move 1358 * The property is protected by the signature permission: 1359 * android.car.permission.CONTROL_CAR_SEATS. 1360 */ 1361 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1362 public static final int SEAT_BACKREST_ANGLE_2_MOVE = 356518794; 1363 /** 1364 * Seat height position 1365 * The property is protected by the signature permission: 1366 * android.car.permission.CONTROL_CAR_SEATS. 1367 */ 1368 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1369 public static final int SEAT_HEIGHT_POS = 356518795; 1370 /** 1371 * Seat height move 1372 * The property is protected by the signature permission: 1373 * android.car.permission.CONTROL_CAR_SEATS. 1374 */ 1375 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1376 public static final int SEAT_HEIGHT_MOVE = 356518796; 1377 /** 1378 * Seat depth position 1379 * The property is protected by the signature permission: 1380 * android.car.permission.CONTROL_CAR_SEATS. 1381 */ 1382 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1383 public static final int SEAT_DEPTH_POS = 356518797; 1384 /** 1385 * Seat depth move 1386 * The property is protected by the signature permission: 1387 * android.car.permission.CONTROL_CAR_SEATS. 1388 */ 1389 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1390 public static final int SEAT_DEPTH_MOVE = 356518798; 1391 /** 1392 * Seat tilt position 1393 * The property is protected by the signature permission: 1394 * android.car.permission.CONTROL_CAR_SEATS. 1395 */ 1396 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1397 public static final int SEAT_TILT_POS = 356518799; 1398 /** 1399 * Seat tilt move 1400 * The property is protected by the signature permission: 1401 * android.car.permission.CONTROL_CAR_SEATS. 1402 */ 1403 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1404 public static final int SEAT_TILT_MOVE = 356518800; 1405 /** 1406 * Lumber fore/aft position 1407 * The property is protected by the signature permission: 1408 * android.car.permission.CONTROL_CAR_SEATS. 1409 */ 1410 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1411 public static final int SEAT_LUMBAR_FORE_AFT_POS = 356518801; 1412 /** 1413 * Lumbar fore/aft move 1414 * The property is protected by the signature permission: 1415 * android.car.permission.CONTROL_CAR_SEATS. 1416 */ 1417 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1418 public static final int SEAT_LUMBAR_FORE_AFT_MOVE = 356518802; 1419 /** 1420 * Lumbar side support position 1421 * The property is protected by the signature permission: 1422 * android.car.permission.CONTROL_CAR_SEATS. 1423 */ 1424 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1425 public static final int SEAT_LUMBAR_SIDE_SUPPORT_POS = 356518803; 1426 /** 1427 * Lumbar side support move 1428 * The property is protected by the signature permission: 1429 * android.car.permission.CONTROL_CAR_SEATS. 1430 */ 1431 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1432 public static final int SEAT_LUMBAR_SIDE_SUPPORT_MOVE = 356518804; 1433 /** 1434 * Headrest height position 1435 * The property is protected by the signature permission: 1436 * android.car.permission.CONTROL_CAR_SEATS. 1437 */ 1438 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1439 public static final int SEAT_HEADREST_HEIGHT_POS = 289409941; 1440 /** 1441 * Headrest height move 1442 * The property is protected by the signature permission: 1443 * android.car.permission.CONTROL_CAR_SEATS. 1444 */ 1445 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1446 public static final int SEAT_HEADREST_HEIGHT_MOVE = 356518806; 1447 /** 1448 * Headrest angle position 1449 * The property is protected by the signature permission: 1450 * android.car.permission.CONTROL_CAR_SEATS. 1451 */ 1452 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1453 public static final int SEAT_HEADREST_ANGLE_POS = 356518807; 1454 /** 1455 * Headrest angle move 1456 * The property is protected by the signature permission: 1457 * android.car.permission.CONTROL_CAR_SEATS. 1458 */ 1459 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1460 public static final int SEAT_HEADREST_ANGLE_MOVE = 356518808; 1461 /** 1462 * Headrest fore/aft position 1463 * The property is protected by the signature permission: 1464 * android.car.permission.CONTROL_CAR_SEATS. 1465 */ 1466 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1467 public static final int SEAT_HEADREST_FORE_AFT_POS = 356518809; 1468 /** 1469 * Headrest fore/aft move 1470 * The property is protected by the signature permission: 1471 * android.car.permission.CONTROL_CAR_SEATS. 1472 */ 1473 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1474 public static final int SEAT_HEADREST_FORE_AFT_MOVE = 356518810; 1475 /** 1476 * Seat Occupancy 1477 * The property is protected by the signature permission: 1478 * android.car.permission.CONTROL_CAR_SEATS. 1479 */ 1480 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_SEATS) 1481 public static final int SEAT_OCCUPANCY = 356518832; 1482 /** 1483 * Window Position 1484 * The property is protected by the signature permission: 1485 * android.car.permission.CONTROL_CAR_WINDOWS 1486 */ 1487 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS) 1488 public static final int WINDOW_POS = 322964416; 1489 /** 1490 * Window Move 1491 * The property is protected by the signature permission: 1492 * android.car.permission.CONTROL_CAR_WINDOWS 1493 */ 1494 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS) 1495 public static final int WINDOW_MOVE = 322964417; 1496 /** 1497 * Window Lock 1498 * The property is protected by the signature permission: 1499 * android.car.permission.CONTROL_CAR_WINDOWS 1500 */ 1501 @RequiresPermission(Car.PERMISSION_CONTROL_CAR_WINDOWS) 1502 public static final int WINDOW_LOCK = 320867268; 1503 /** 1504 * Vehicle Maps Service (VMS) message 1505 * The property is protected by the signature permissions: 1506 * android.car.permission.VMS_PUBLISHER and android.car.permission.VMS_SUBSCRIBER. 1507 */ 1508 @RequiresPermission(anyOf = {Car.PERMISSION_VMS_PUBLISHER, Car.PERMISSION_VMS_SUBSCRIBER}) 1509 public static final int VEHICLE_MAP_SERVICE = 299895808; 1510 /** 1511 * OBD2 Live Sensor Data 1512 * 1513 * Reports a snapshot of the current (live) values of the OBD2 sensors available. 1514 * The property is protected by the signature permission: 1515 * android.car.permission.CAR_DIAGNOSTICS. 1516 */ 1517 @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL) 1518 public static final int OBD2_LIVE_FRAME = 299896064; 1519 /** 1520 * OBD2 Freeze Frame Sensor Data 1521 * 1522 * Reports a snapshot of the value of the OBD2 sensors available at the time that a fault 1523 * occurred and was detected. 1524 * The property is protected by the signature permission: 1525 * android.car.permission.CAR_DIAGNOSTICS. 1526 */ 1527 @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL) 1528 public static final int OBD2_FREEZE_FRAME = 299896065; 1529 /** 1530 * OBD2 Freeze Frame Information 1531 * The property is protected by the signature permission: 1532 * android.car.permission.CAR_DIAGNOSTICS. 1533 */ 1534 @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_READ_ALL) 1535 public static final int OBD2_FREEZE_FRAME_INFO = 299896066; 1536 /** 1537 * OBD2 Freeze Frame Clear 1538 * 1539 * This property allows deletion of any of the freeze frames stored in 1540 * vehicle memory, as described by OBD2_FREEZE_FRAME_INFO. 1541 * The property is protected by the signature permission: 1542 * android.car.permission.CLEAR_CAR_DIAGNOSTICS. 1543 */ 1544 @RequiresPermission(Car.PERMISSION_CAR_DIAGNOSTIC_CLEAR) 1545 public static final int OBD2_FREEZE_FRAME_CLEAR = 299896067; 1546 /** 1547 * Headlights State 1548 * The property is protected by the signature permission: 1549 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1550 */ 1551 @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS) 1552 public static final int HEADLIGHTS_STATE = 289410560; 1553 /** 1554 * High beam lights state 1555 * The property is protected by the signature permission: 1556 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1557 */ 1558 @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS) 1559 public static final int HIGH_BEAM_LIGHTS_STATE = 289410561; 1560 /** 1561 * Fog light state 1562 * The property is protected by the signature permission: 1563 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1564 */ 1565 @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS) 1566 public static final int FOG_LIGHTS_STATE = 289410562; 1567 /** 1568 * Hazard light status 1569 * The property is protected by the signature permission: 1570 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1571 */ 1572 @RequiresPermission(Car.PERMISSION_EXTERIOR_LIGHTS) 1573 public static final int HAZARD_LIGHTS_STATE = 289410563; 1574 /** 1575 * Headlight switch 1576 * The property is protected by the signature permission: 1577 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1578 */ 1579 @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS) 1580 public static final int HEADLIGHTS_SWITCH = 289410576; 1581 /** 1582 * High beam light switch 1583 * The property is protected by the signature permission: 1584 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1585 */ 1586 @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS) 1587 public static final int HIGH_BEAM_LIGHTS_SWITCH = 289410577; 1588 /** 1589 * Fog light switch 1590 * The property is protected by the signature permission: 1591 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1592 */ 1593 @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS) 1594 public static final int FOG_LIGHTS_SWITCH = 289410578; 1595 /** 1596 * Hazard light switch 1597 * The property is protected by the signature permission: 1598 * android.car.permission.CAR_EXTERIOR_LIGHTS. 1599 */ 1600 @RequiresPermission(Car.PERMISSION_CONTROL_EXTERIOR_LIGHTS) 1601 public static final int HAZARD_LIGHTS_SWITCH = 289410579; 1602 /** 1603 * Cabin lights 1604 * Requires permission: {@link Car#PERMISSION_READ_INTERIOR_LIGHTS}. 1605 */ 1606 @RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS) 1607 public static final int CABIN_LIGHTS_STATE = 289410817; 1608 /** 1609 * Cabin lights switch 1610 * Requires permission: {@link Car#PERMISSION_CONTROL_INTERIOR_LIGHTS}. 1611 */ 1612 @RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS) 1613 public static final int CABIN_LIGHTS_SWITCH = 289410818; 1614 /** 1615 * Reading lights 1616 * Requires permission: {@link Car#PERMISSION_READ_INTERIOR_LIGHTS}. 1617 */ 1618 @RequiresPermission(Car.PERMISSION_READ_INTERIOR_LIGHTS) 1619 public static final int READING_LIGHTS_STATE = 356519683; 1620 /** 1621 * Reading lights switch 1622 * Requires permission: {@link Car#PERMISSION_CONTROL_INTERIOR_LIGHTS}. 1623 */ 1624 @RequiresPermission(Car.PERMISSION_CONTROL_INTERIOR_LIGHTS) 1625 public static final int READING_LIGHTS_SWITCH = 356519684; 1626 1627 /** 1628 * Property to get the initial settings for multi-user management (such as initial user). 1629 * 1630 * <p>Doesn't require permission because it's not exposed through 1631 * {@link android.car.hardware.property.CarPropertyManager}. 1632 * 1633 * @hide 1634 */ 1635 public static final int INITIAL_USER_INFO = 299896583; 1636 1637 /** 1638 * Property to switch user for multi-user management. 1639 * 1640 * <p>Doesn't require permission because it's not exposed through 1641 * {@link android.car.hardware.property.CarPropertyManager}. 1642 * 1643 * @hide 1644 */ 1645 public static final int SWITCH_USER = 299896584; 1646 1647 /** 1648 * Property to create a new user for multi-user management. 1649 * 1650 * <p>Doesn't require permission because it's not exposed through 1651 * {@link android.car.hardware.property.CarPropertyManager}. 1652 * 1653 * @hide 1654 */ 1655 public static final int CREATE_USER = 299896585; 1656 1657 /** 1658 * Property to remove a new user for multi-user management. 1659 * 1660 * <p>Doesn't require permission because it's not exposed through 1661 * {@link android.car.hardware.property.CarPropertyManager}. 1662 * 1663 * @hide 1664 */ 1665 public static final int REMOVE_USER = 299896586; 1666 1667 /** 1668 * Property to get / set the user authentication types associated with an Android user. 1669 * 1670 * <p>Doesn't require permission because it's not exposed through 1671 * {@link android.car.hardware.property.CarPropertyManager}. 1672 * 1673 * @hide 1674 */ 1675 public static final int USER_IDENTIFICATION_ASSOCIATION = 299896587; 1676 1677 /** 1678 * Property for VHAL to apply power policy. 1679 * 1680 * <p>Doesn't require permission because it's not exposed through 1681 * {@link android.car.hardware.property.CarPropertyManager}. 1682 * 1683 * @hide 1684 */ 1685 public static final int POWER_POLICY_REQ = 286265121; 1686 1687 /** 1688 * Property for VHAL to set the default power policies per power status transition. 1689 * 1690 * <p>Doesn't require permission because it's not exposed through 1691 * {@link android.car.hardware.property.CarPropertyManager}. 1692 * 1693 * @hide 1694 */ 1695 public static final int POWER_POLICY_GROUP_REQ = 286265122; 1696 1697 /** 1698 * Property to report a new current power policy to VHAL. 1699 * 1700 * <p>Doesn't require permission because it's not exposed through 1701 * {@link android.car.hardware.property.CarPropertyManager}. 1702 * 1703 * @hide 1704 */ 1705 public static final int CURRENT_POWER_POLICY = 286265123; 1706 1707 /** 1708 * Property to report that car watchdog is alive. 1709 * 1710 * <p>Doesn't require permission because it's not exposed through 1711 * {@link android.car.hardware.property.CarPropertyManager}. 1712 * 1713 * @hide 1714 */ 1715 public static final int WATCHDOG_ALIVE = 290459441; 1716 1717 /** 1718 * Property to report a process terminated by car watchdog. 1719 * 1720 * <p>Doesn't require permission because it's not exposed through 1721 * {@link android.car.hardware.property.CarPropertyManager}. 1722 * 1723 * @hide 1724 */ 1725 public static final int WATCHDOG_TERMINATED_PROCESS = 299896626; 1726 1727 /** 1728 * Property to signal a heartbeat from VHAL. 1729 * 1730 * <p>Doesn't require permission because it's not exposed through 1731 * {@link android.car.hardware.property.CarPropertyManager}. 1732 * 1733 * @hide 1734 */ 1735 public static final int VHAL_HEARTBEAT = 290459443; 1736 1737 /** 1738 * Property to start the ClusterUI in cluster display. 1739 * 1740 * <p>Doesn't require permission because it's not exposed through 1741 * {@link android.car.hardware.property.CarPropertyManager}. 1742 * 1743 * @hide 1744 */ 1745 public static final int CLUSTER_SWITCH_UI = 289410868; 1746 1747 /** 1748 * Property to change the state of the cluster display. 1749 * 1750 * <p>Doesn't require permission because it's not exposed through 1751 * {@link android.car.hardware.property.CarPropertyManager}. 1752 * 1753 * @hide 1754 */ 1755 public static final int CLUSTER_DISPLAY_STATE = 289476405; 1756 1757 /** 1758 * Property to reports the current display and ClusterUI statue. 1759 * 1760 * <p>Doesn't require permission because it's not exposed through 1761 * {@link android.car.hardware.property.CarPropertyManager}. 1762 * 1763 * @hide 1764 */ 1765 public static final int CLUSTER_REPORT_STATE = 299896630; 1766 1767 /** 1768 * Property to request to change the cluster display state to show some ClusterUI. 1769 * 1770 * <p>Doesn't require permission because it's not exposed through 1771 * {@link android.car.hardware.property.CarPropertyManager}. 1772 * 1773 * @hide 1774 */ 1775 public static final int CLUSTER_REQUEST_DISPLAY = 289410871; 1776 1777 /** 1778 * Property to inform the current navigation state. 1779 * 1780 * <p>Doesn't require permission because it's not exposed through 1781 * {@link android.car.hardware.property.CarPropertyManager}. 1782 * 1783 * @hide 1784 */ 1785 public static final int CLUSTER_NAVIGATION_STATE = 292556600; 1786 1787 /** 1788 * Current date and time, encoded as Unix time. 1789 * 1790 * <p>This value denotes the number of milliseconds that have elapsed since 1/1/1970 UTC. 1791 */ 1792 @RequiresPermission(Car.PERMISSION_CAR_EPOCH_TIME) 1793 public static final int EPOCH_TIME = 290457094; 1794 1795 /** 1796 * External encryption binding seed. 1797 * 1798 * <p>This value is mixed with the local storage encryption seed. This property holds 16 bytes, 1799 * and is expected to be persisted on an ECU separate from the IVI. The property is initially 1800 * set by AAOS, who generates it using a CSRNG. AAOS will then read the property on subsequent 1801 * boots. 1802 */ 1803 @RequiresPermission(Car.PERMISSION_STORAGE_ENCRYPTION_BINDING_SEED) 1804 public static final int STORAGE_ENCRYPTION_BINDING_SEED = 292554247; 1805 1806 /** 1807 * Electronic Toll Collection card type. 1808 * 1809 * <p>This property indicates the type of ETC(Electronic Toll Collection) card in the vehicle. 1810 * If the head unit is aware of an ETC card attached to the vehicle, this property should 1811 * return the type of card attached; otherwise, this property should be UNAVAILABLE. The 1812 * property value should be one of {@link VehicleElectronicTollCollectionCardType}. 1813 * 1814 * <ul> 1815 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 1816 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1817 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 1818 * <li>{@code Integer} property type 1819 * </ul> 1820 * 1821 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 1822 */ 1823 @RequiresPermission(Car.PERMISSION_CAR_INFO) 1824 public static final int ELECTRONIC_TOLL_COLLECTION_CARD_TYPE = 289410873; 1825 1826 /** 1827 * Electronic Toll Collection card status. 1828 * 1829 * <p>This property indicates the status of ETC(Electronic Toll Collection) card in the 1830 * vehicle. If the head unit is aware of an ETC card attached to the vehicle, ETC_CARD_STATUS 1831 * gives that status of the card; otherwise, this property should be UNAVAILABLE. The property 1832 * value should be one of {@link VehicleElectronicTollCollectionCardStatus}. 1833 * 1834 * <ul> 1835 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ} 1836 * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL} 1837 * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE} 1838 * <li>{@code Integer} property type 1839 * </ul> 1840 * 1841 * <p>Requires permission: {@link Car#PERMISSION_CAR_INFO}. 1842 */ 1843 @RequiresPermission(Car.PERMISSION_CAR_INFO) 1844 public static final int ELECTRONIC_TOLL_COLLECTION_CARD_STATUS = 289410874; 1845 1846 /** 1847 * @deprecated to prevent others from instantiating this class 1848 */ 1849 @Deprecated VehiclePropertyIds()1850 public VehiclePropertyIds() { 1851 } 1852 1853 /** 1854 * Gets a user-friendly representation of a property. 1855 */ toString(int property)1856 public static String toString(int property) { 1857 switch (property) { 1858 case INVALID: 1859 return "INVALID"; 1860 case INFO_VIN: 1861 return "INFO_VIN"; 1862 case INFO_MAKE: 1863 return "INFO_MAKE"; 1864 case INFO_MODEL: 1865 return "INFO_MODEL"; 1866 case INFO_MODEL_YEAR: 1867 return "INFO_MODEL_YEAR"; 1868 case INFO_FUEL_CAPACITY: 1869 return "INFO_FUEL_CAPACITY"; 1870 case INFO_FUEL_TYPE: 1871 return "INFO_FUEL_TYPE"; 1872 case INFO_EV_BATTERY_CAPACITY: 1873 return "INFO_EV_BATTERY_CAPACITY"; 1874 case INFO_MULTI_EV_PORT_LOCATIONS: 1875 return "INFO_MULTI_EV_PORT_LOCATIONS"; 1876 case INFO_EV_CONNECTOR_TYPE: 1877 return "INFO_EV_CONNECTOR_TYPE"; 1878 case INFO_FUEL_DOOR_LOCATION: 1879 return "INFO_FUEL_DOOR_LOCATION"; 1880 case INFO_EV_PORT_LOCATION: 1881 return "INFO_EV_PORT_LOCATION"; 1882 case INFO_DRIVER_SEAT: 1883 return "INFO_DRIVER_SEAT"; 1884 case INFO_EXTERIOR_DIMENSIONS: 1885 return "INFO_EXTERIOR_DIMENSIONS"; 1886 case PERF_ODOMETER: 1887 return "PERF_ODOMETER"; 1888 case PERF_VEHICLE_SPEED: 1889 return "PERF_VEHICLE_SPEED"; 1890 case PERF_VEHICLE_SPEED_DISPLAY: 1891 return "PERF_VEHICLE_SPEED_DISPLAY"; 1892 case PERF_STEERING_ANGLE: 1893 return "PERF_STEERING_ANGLE"; 1894 case PERF_REAR_STEERING_ANGLE: 1895 return "PERF_REAR_STEERING_ANGLE"; 1896 case ENGINE_COOLANT_TEMP: 1897 return "ENGINE_COOLANT_TEMP"; 1898 case ENGINE_OIL_LEVEL: 1899 return "ENGINE_OIL_LEVEL"; 1900 case ENGINE_OIL_TEMP: 1901 return "ENGINE_OIL_TEMP"; 1902 case ENGINE_RPM: 1903 return "ENGINE_RPM"; 1904 case WHEEL_TICK: 1905 return "WHEEL_TICK"; 1906 case FUEL_LEVEL: 1907 return "FUEL_LEVEL"; 1908 case FUEL_DOOR_OPEN: 1909 return "FUEL_DOOR_OPEN"; 1910 case EV_BATTERY_LEVEL: 1911 return "EV_BATTERY_LEVEL"; 1912 case EV_CHARGE_PORT_OPEN: 1913 return "EV_CHARGE_PORT_OPEN"; 1914 case EV_CHARGE_PORT_CONNECTED: 1915 return "EV_CHARGE_PORT_CONNECTED"; 1916 case EV_BATTERY_INSTANTANEOUS_CHARGE_RATE: 1917 return "EV_BATTERY_INSTANTANEOUS_CHARGE_RATE"; 1918 case RANGE_REMAINING: 1919 return "RANGE_REMAINING"; 1920 case TIRE_PRESSURE: 1921 return "TIRE_PRESSURE"; 1922 case CRITICALLY_LOW_TIRE_PRESSURE: 1923 return "CRITICALLY_LOW_TIRE_PRESSURE"; 1924 case GEAR_SELECTION: 1925 return "GEAR_SELECTION"; 1926 case CURRENT_GEAR: 1927 return "CURRENT_GEAR"; 1928 case PARKING_BRAKE_ON: 1929 return "PARKING_BRAKE_ON"; 1930 case PARKING_BRAKE_AUTO_APPLY: 1931 return "PARKING_BRAKE_AUTO_APPLY"; 1932 case FUEL_LEVEL_LOW: 1933 return "FUEL_LEVEL_LOW"; 1934 case NIGHT_MODE: 1935 return "NIGHT_MODE"; 1936 case TURN_SIGNAL_STATE: 1937 return "TURN_SIGNAL_STATE"; 1938 case IGNITION_STATE: 1939 return "IGNITION_STATE"; 1940 case ABS_ACTIVE: 1941 return "ABS_ACTIVE"; 1942 case TRACTION_CONTROL_ACTIVE: 1943 return "TRACTION_CONTROL_ACTIVE"; 1944 case HVAC_FAN_SPEED: 1945 return "HVAC_FAN_SPEED"; 1946 case HVAC_FAN_DIRECTION: 1947 return "HVAC_FAN_DIRECTION"; 1948 case HVAC_TEMPERATURE_CURRENT: 1949 return "HVAC_TEMPERATURE_CURRENT"; 1950 case HVAC_TEMPERATURE_SET: 1951 return "HVAC_TEMPERATURE_SET"; 1952 case HVAC_TEMPERATURE_VALUE_SUGGESTION: 1953 return "HVAC_TEMPERATURE_VALUE_SUGGESTION"; 1954 case HVAC_DEFROSTER: 1955 return "HVAC_DEFROSTER"; 1956 case HVAC_AC_ON: 1957 return "HVAC_AC_ON"; 1958 case HVAC_MAX_AC_ON: 1959 return "HVAC_MAX_AC_ON"; 1960 case HVAC_MAX_DEFROST_ON: 1961 return "HVAC_MAX_DEFROST_ON"; 1962 case HVAC_RECIRC_ON: 1963 return "HVAC_RECIRC_ON"; 1964 case HVAC_DUAL_ON: 1965 return "HVAC_DUAL_ON"; 1966 case HVAC_AUTO_ON: 1967 return "HVAC_AUTO_ON"; 1968 case HVAC_SEAT_TEMPERATURE: 1969 return "HVAC_SEAT_TEMPERATURE"; 1970 case HVAC_SIDE_MIRROR_HEAT: 1971 return "HVAC_SIDE_MIRROR_HEAT"; 1972 case HVAC_STEERING_WHEEL_HEAT: 1973 return "HVAC_STEERING_WHEEL_HEAT"; 1974 case HVAC_TEMPERATURE_DISPLAY_UNITS: 1975 return "HVAC_TEMPERATURE_DISPLAY_UNITS"; 1976 case HVAC_ACTUAL_FAN_SPEED_RPM: 1977 return "HVAC_ACTUAL_FAN_SPEED_RPM"; 1978 case HVAC_POWER_ON: 1979 return "HVAC_POWER_ON"; 1980 case HVAC_FAN_DIRECTION_AVAILABLE: 1981 return "HVAC_FAN_DIRECTION_AVAILABLE"; 1982 case HVAC_AUTO_RECIRC_ON: 1983 return "HVAC_AUTO_RECIRC_ON"; 1984 case HVAC_SEAT_VENTILATION: 1985 return "HVAC_SEAT_VENTILATION"; 1986 case HVAC_ELECTRIC_DEFROSTER_ON: 1987 return "HVAC_ELECTRIC_DEFROSTER_ON"; 1988 case DISTANCE_DISPLAY_UNITS: 1989 return "DISTANCE_DISPLAY_UNITS"; 1990 case FUEL_VOLUME_DISPLAY_UNITS: 1991 return "FUEL_VOLUME_DISPLAY_UNITS"; 1992 case TIRE_PRESSURE_DISPLAY_UNITS: 1993 return "TIRE_PRESSURE_DISPLAY_UNITS"; 1994 case EV_BATTERY_DISPLAY_UNITS: 1995 return "EV_BATTERY_DISPLAY_UNITS"; 1996 case FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME: 1997 return "FUEL_CONSUMPTION_UNITS_DISTANCE_OVER_VOLUME"; 1998 case ENV_OUTSIDE_TEMPERATURE: 1999 return "ENV_OUTSIDE_TEMPERATURE"; 2000 case AP_POWER_STATE_REQ: 2001 return "AP_POWER_STATE_REQ"; 2002 case AP_POWER_STATE_REPORT: 2003 return "AP_POWER_STATE_REPORT"; 2004 case AP_POWER_BOOTUP_REASON: 2005 return "AP_POWER_BOOTUP_REASON"; 2006 case DISPLAY_BRIGHTNESS: 2007 return "DISPLAY_BRIGHTNESS"; 2008 case HW_KEY_INPUT: 2009 return "HW_KEY_INPUT"; 2010 case DOOR_POS: 2011 return "DOOR_POS"; 2012 case DOOR_MOVE: 2013 return "DOOR_MOVE"; 2014 case DOOR_LOCK: 2015 return "DOOR_LOCK"; 2016 case MIRROR_Z_POS: 2017 return "MIRROR_Z_POS"; 2018 case MIRROR_Z_MOVE: 2019 return "MIRROR_Z_MOVE"; 2020 case MIRROR_Y_POS: 2021 return "MIRROR_Y_POS"; 2022 case MIRROR_Y_MOVE: 2023 return "MIRROR_Y_MOVE"; 2024 case MIRROR_LOCK: 2025 return "MIRROR_LOCK"; 2026 case MIRROR_FOLD: 2027 return "MIRROR_FOLD"; 2028 case SEAT_MEMORY_SELECT: 2029 return "SEAT_MEMORY_SELECT"; 2030 case SEAT_MEMORY_SET: 2031 return "SEAT_MEMORY_SET"; 2032 case SEAT_BELT_BUCKLED: 2033 return "SEAT_BELT_BUCKLED"; 2034 case SEAT_BELT_HEIGHT_POS: 2035 return "SEAT_BELT_HEIGHT_POS"; 2036 case SEAT_BELT_HEIGHT_MOVE: 2037 return "SEAT_BELT_HEIGHT_MOVE"; 2038 case SEAT_FORE_AFT_POS: 2039 return "SEAT_FORE_AFT_POS"; 2040 case SEAT_FORE_AFT_MOVE: 2041 return "SEAT_FORE_AFT_MOVE"; 2042 case SEAT_BACKREST_ANGLE_1_POS: 2043 return "SEAT_BACKREST_ANGLE_1_POS"; 2044 case SEAT_BACKREST_ANGLE_1_MOVE: 2045 return "SEAT_BACKREST_ANGLE_1_MOVE"; 2046 case SEAT_BACKREST_ANGLE_2_POS: 2047 return "SEAT_BACKREST_ANGLE_2_POS"; 2048 case SEAT_BACKREST_ANGLE_2_MOVE: 2049 return "SEAT_BACKREST_ANGLE_2_MOVE"; 2050 case SEAT_HEIGHT_POS: 2051 return "SEAT_HEIGHT_POS"; 2052 case SEAT_HEIGHT_MOVE: 2053 return "SEAT_HEIGHT_MOVE"; 2054 case SEAT_DEPTH_POS: 2055 return "SEAT_DEPTH_POS"; 2056 case SEAT_DEPTH_MOVE: 2057 return "SEAT_DEPTH_MOVE"; 2058 case SEAT_TILT_POS: 2059 return "SEAT_TILT_POS"; 2060 case SEAT_TILT_MOVE: 2061 return "SEAT_TILT_MOVE"; 2062 case SEAT_LUMBAR_FORE_AFT_POS: 2063 return "SEAT_LUMBAR_FORE_AFT_POS"; 2064 case SEAT_LUMBAR_FORE_AFT_MOVE: 2065 return "SEAT_LUMBAR_FORE_AFT_MOVE"; 2066 case SEAT_LUMBAR_SIDE_SUPPORT_POS: 2067 return "SEAT_LUMBAR_SIDE_SUPPORT_POS"; 2068 case SEAT_LUMBAR_SIDE_SUPPORT_MOVE: 2069 return "SEAT_LUMBAR_SIDE_SUPPORT_MOVE"; 2070 case SEAT_HEADREST_HEIGHT_POS: 2071 return "SEAT_HEADREST_HEIGHT_POS"; 2072 case SEAT_HEADREST_HEIGHT_MOVE: 2073 return "SEAT_HEADREST_HEIGHT_MOVE"; 2074 case SEAT_HEADREST_ANGLE_POS: 2075 return "SEAT_HEADREST_ANGLE_POS"; 2076 case SEAT_HEADREST_ANGLE_MOVE: 2077 return "SEAT_HEADREST_ANGLE_MOVE"; 2078 case SEAT_HEADREST_FORE_AFT_POS: 2079 return "SEAT_HEADREST_FORE_AFT_POS"; 2080 case SEAT_HEADREST_FORE_AFT_MOVE: 2081 return "SEAT_HEADREST_FORE_AFT_MOVE"; 2082 case SEAT_OCCUPANCY: 2083 return "SEAT_OCCUPANCY"; 2084 case WINDOW_POS: 2085 return "WINDOW_POS"; 2086 case WINDOW_MOVE: 2087 return "WINDOW_MOVE"; 2088 case WINDOW_LOCK: 2089 return "WINDOW_LOCK"; 2090 case VEHICLE_MAP_SERVICE: 2091 return "VEHICLE_MAP_SERVICE"; 2092 case OBD2_LIVE_FRAME: 2093 return "OBD2_LIVE_FRAME"; 2094 case OBD2_FREEZE_FRAME: 2095 return "OBD2_FREEZE_FRAME"; 2096 case OBD2_FREEZE_FRAME_INFO: 2097 return "OBD2_FREEZE_FRAME_INFO"; 2098 case OBD2_FREEZE_FRAME_CLEAR: 2099 return "OBD2_FREEZE_FRAME_CLEAR"; 2100 case HEADLIGHTS_STATE: 2101 return "HEADLIGHTS_STATE"; 2102 case HIGH_BEAM_LIGHTS_STATE: 2103 return "HIGH_BEAM_LIGHTS_STATE"; 2104 case FOG_LIGHTS_STATE: 2105 return "FOG_LIGHTS_STATE"; 2106 case HAZARD_LIGHTS_STATE: 2107 return "HAZARD_LIGHTS_STATE"; 2108 case HEADLIGHTS_SWITCH: 2109 return "HEADLIGHTS_SWITCH"; 2110 case HIGH_BEAM_LIGHTS_SWITCH: 2111 return "HIGH_BEAM_LIGHTS_SWITCH"; 2112 case FOG_LIGHTS_SWITCH: 2113 return "FOG_LIGHTS_SWITCH"; 2114 case HAZARD_LIGHTS_SWITCH: 2115 return "HAZARD_LIGHTS_SWITCH"; 2116 case CABIN_LIGHTS_STATE: 2117 return "CABIN_LIGHTS_STATE"; 2118 case CABIN_LIGHTS_SWITCH: 2119 return "CABIN_LIGHTS_SWITCH"; 2120 case READING_LIGHTS_STATE: 2121 return "READING_LIGHTS_STATE"; 2122 case READING_LIGHTS_SWITCH: 2123 return "READING_LIGHTS_SWITCH"; 2124 case VEHICLE_SPEED_DISPLAY_UNITS: 2125 return "VEHICLE_SPEED_DISPLAY_UNITS"; 2126 case INITIAL_USER_INFO: 2127 return "INITIAL_USER_INFO"; 2128 case SWITCH_USER: 2129 return "SWITCH_USER"; 2130 case CREATE_USER: 2131 return "CREATE_USER"; 2132 case REMOVE_USER: 2133 return "REMOVE_USER"; 2134 case USER_IDENTIFICATION_ASSOCIATION: 2135 return "USER_IDENTIFICATION_ASSOCIATION"; 2136 case POWER_POLICY_REQ: 2137 return "POWER_POLICY_REQ"; 2138 case POWER_POLICY_GROUP_REQ: 2139 return "POWER_POLICY_GROUP_REQ"; 2140 case CURRENT_POWER_POLICY: 2141 return "CURRENT_POWER_POLICY"; 2142 case WATCHDOG_ALIVE: 2143 return "WATCHDOG_ALIVE"; 2144 case WATCHDOG_TERMINATED_PROCESS: 2145 return "WATCHDOG_TERMINATED_PROCESS"; 2146 case VHAL_HEARTBEAT: 2147 return "VHAL_HEARTBEAT"; 2148 case CLUSTER_SWITCH_UI: 2149 return "CLUSTER_SWITCH_UI"; 2150 case CLUSTER_DISPLAY_STATE: 2151 return "CLUSTER_DISPLAY_STATE"; 2152 case CLUSTER_REPORT_STATE: 2153 return "CLUSTER_REPORT_STATE"; 2154 case CLUSTER_REQUEST_DISPLAY: 2155 return "CLUSTER_REQUEST_DISPLAY"; 2156 case CLUSTER_NAVIGATION_STATE: 2157 return "CLUSTER_NAVIGATION_STATE"; 2158 case EPOCH_TIME: 2159 return "EPOCH_TIME"; 2160 case STORAGE_ENCRYPTION_BINDING_SEED: 2161 return "STORAGE_ENCRYPTION_BINDING_SEED"; 2162 case ELECTRONIC_TOLL_COLLECTION_CARD_STATUS: 2163 return "ELECTRONIC_TOLL_COLLECTION_CARD_STATUS"; 2164 case ELECTRONIC_TOLL_COLLECTION_CARD_TYPE: 2165 return "ELECTRONIC_TOLL_COLLECTION_CARD_TYPE"; 2166 default: 2167 return "0x" + Integer.toHexString(property); 2168 } 2169 } 2170 } 2171