Add API changes for EV_CURRENT_BATTERY_CAPACITY
Bug: 259451992
Test: atest VtsHalAutomotiveVehicle_TargetTest
atest CtsCarTestCases:CarPropertyManagerTest
atest CtsCarTestCases:VehiclePropertyIdsTest
Change-Id: I142ab6f0495bb5689afb99aeb5915ebeb388feef
diff --git a/car-lib-module/api/current.txt b/car-lib-module/api/current.txt
index d6346fa..ef7656a 100644
--- a/car-lib-module/api/current.txt
+++ b/car-lib-module/api/current.txt
@@ -341,6 +341,7 @@
field @RequiresPermission.Read(@androidx.annotation.RequiresPermission(android.car.Car.PERMISSION_ENERGY)) public static final int EV_CHARGE_STATE = 289410881; // 0x11400f41
field @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_ENERGY) public static final int EV_CHARGE_SWITCH = 287313730; // 0x11200f42
field @RequiresPermission.Read(@androidx.annotation.RequiresPermission(android.car.Car.PERMISSION_ENERGY)) public static final int EV_CHARGE_TIME_REMAINING = 289410883; // 0x11400f43
+ field @RequiresPermission(android.car.Car.PERMISSION_ENERGY) public static final int EV_CURRENT_BATTERY_CAPACITY = 291504909; // 0x1160030d
field @RequiresPermission.Read(@androidx.annotation.RequiresPermission(android.car.Car.PERMISSION_ENERGY)) public static final int EV_REGENERATIVE_BRAKING_STATE = 289410884; // 0x11400f44
field @RequiresPermission("android.car.permission.CAR_EXTERIOR_LIGHTS") public static final int FOG_LIGHTS_STATE = 289410562; // 0x11400e02
field @RequiresPermission("android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS") public static final int FOG_LIGHTS_SWITCH = 289410578; // 0x11400e12
diff --git a/car-lib/api/current.txt b/car-lib/api/current.txt
index 9f1710a..3f08583 100644
--- a/car-lib/api/current.txt
+++ b/car-lib/api/current.txt
@@ -341,6 +341,7 @@
field @RequiresPermission.Read(@androidx.annotation.RequiresPermission(android.car.Car.PERMISSION_ENERGY)) public static final int EV_CHARGE_STATE = 289410881; // 0x11400f41
field @RequiresPermission(android.car.Car.PERMISSION_CONTROL_CAR_ENERGY) public static final int EV_CHARGE_SWITCH = 287313730; // 0x11200f42
field @RequiresPermission.Read(@androidx.annotation.RequiresPermission(android.car.Car.PERMISSION_ENERGY)) public static final int EV_CHARGE_TIME_REMAINING = 289410883; // 0x11400f43
+ field @RequiresPermission(android.car.Car.PERMISSION_ENERGY) public static final int EV_CURRENT_BATTERY_CAPACITY = 291504909; // 0x1160030d
field @RequiresPermission.Read(@androidx.annotation.RequiresPermission(android.car.Car.PERMISSION_ENERGY)) public static final int EV_REGENERATIVE_BRAKING_STATE = 289410884; // 0x11400f44
field @RequiresPermission("android.car.permission.CAR_EXTERIOR_LIGHTS") public static final int FOG_LIGHTS_STATE = 289410562; // 0x11400e02
field @RequiresPermission("android.car.permission.CONTROL_CAR_EXTERIOR_LIGHTS") public static final int FOG_LIGHTS_SWITCH = 289410578; // 0x11400e12
diff --git a/car-lib/src/android/car/VehiclePropertyIds.java b/car-lib/src/android/car/VehiclePropertyIds.java
index 1d0663f..a034345 100644
--- a/car-lib/src/android/car/VehiclePropertyIds.java
+++ b/car-lib/src/android/car/VehiclePropertyIds.java
@@ -465,6 +465,33 @@
@AddedInOrBefore(majorVersion = 33)
public static final int EV_BATTERY_LEVEL = 291504905;
/**
+ * Current battery capacity for EV or hybrid vehicle
+ *
+ * <p>Returns the actual value of battery capacity in {@link android.car.VehicleUnit#WATT_HOUR},
+ * if EV or hybrid. This property captures the real-time battery capacity taking into account
+ * factors such as battery aging and temperature dependency. Therefore, this value might be
+ * different from {@link #INFO_EV_BATTERY_CAPACITY} because {@link #INFO_EV_BATTERY_CAPACITY}
+ * returns the nominal battery capacity from when the vehicle was new.
+ *
+ * <p>Property Config:
+ * <ul>
+ * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_ACCESS_READ}
+ * <li>{@link VehicleAreaType#VEHICLE_AREA_TYPE_GLOBAL}
+ * <li>{@link android.car.hardware.CarPropertyConfig#VEHICLE_PROPERTY_CHANGE_MODE_ONCHANGE}
+ * <li>{@code Float} property type
+ * </ul>
+ *
+ * <p>Required Permission:
+ * <ul>
+ * <li>Dangerous permission {@link Car#PERMISSION_ENERGY} to read property.
+ * <li>Property is not writable.
+ * </ul>
+ */
+ @RequiresPermission(Car.PERMISSION_ENERGY)
+ @ApiRequirements(minCarVersion = ApiRequirements.CarVersion.UPSIDE_DOWN_CAKE_0,
+ minPlatformVersion = ApiRequirements.PlatformVersion.TIRAMISU_0)
+ public static final int EV_CURRENT_BATTERY_CAPACITY = 291504909;
+ /**
* EV charge port open.
*
* <p>Property Config:
diff --git a/service/src/com/android/car/hal/PropertyHalServiceIds.java b/service/src/com/android/car/hal/PropertyHalServiceIds.java
index c9c662d..656da42 100644
--- a/service/src/com/android/car/hal/PropertyHalServiceIds.java
+++ b/service/src/com/android/car/hal/PropertyHalServiceIds.java
@@ -483,6 +483,9 @@
mHalPropIdToPermissions.put(VehicleProperty.EV_BATTERY_LEVEL, new Pair<>(
Car.PERMISSION_ENERGY,
null));
+ mHalPropIdToPermissions.put(VehicleProperty.EV_CURRENT_BATTERY_CAPACITY, new Pair<>(
+ Car.PERMISSION_ENERGY,
+ null));
mHalPropIdToPermissions.put(VehicleProperty.EV_CHARGE_CURRENT_DRAW_LIMIT, new Pair<>(
Car.PERMISSION_ENERGY, Car.PERMISSION_CONTROL_CAR_ENERGY));
mHalPropIdToPermissions.put(VehicleProperty.EV_CHARGE_PERCENT_LIMIT, new Pair<>(