BatteryManager: stateOfHealth is a property
Read batteryStateOfHealth from HealthData with access control Bug: 251427118 Test: m update-api ; m Change-Id: Ida87ef9f59c32cf52b036f37c7c261d03d3b4c37 Signed-off-by: AleX Pelosi <apelosi@google.com>
This commit is contained in:
@@ -30918,7 +30918,6 @@ package android.os {
|
||||
field public static final String EXTRA_PLUGGED = "plugged";
|
||||
field public static final String EXTRA_PRESENT = "present";
|
||||
field public static final String EXTRA_SCALE = "scale";
|
||||
field public static final String EXTRA_STATE_OF_HEALTH = "android.os.extra.STATE_OF_HEALTH";
|
||||
field public static final String EXTRA_STATUS = "status";
|
||||
field public static final String EXTRA_TECHNOLOGY = "technology";
|
||||
field public static final String EXTRA_TEMPERATURE = "temperature";
|
||||
|
||||
@@ -9155,6 +9155,7 @@ package android.os {
|
||||
field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9; // 0x9
|
||||
field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_FIRST_USAGE_DATE = 8; // 0x8
|
||||
field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_MANUFACTURING_DATE = 7; // 0x7
|
||||
field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10; // 0xa
|
||||
field public static final int CHARGING_POLICY_ADAPTIVE_AC = 3; // 0x3
|
||||
field public static final int CHARGING_POLICY_ADAPTIVE_AON = 2; // 0x2
|
||||
field public static final int CHARGING_POLICY_ADAPTIVE_LONGLIFE = 4; // 0x4
|
||||
|
||||
@@ -152,13 +152,6 @@ public class BatteryManager {
|
||||
*/
|
||||
public static final String EXTRA_CYCLE_COUNT = "android.os.extra.CYCLE_COUNT";
|
||||
|
||||
/**
|
||||
* Extra for {@link android.content.Intent#ACTION_BATTERY_CHANGED}:
|
||||
* Int value representing the measured battery state of health (remaining
|
||||
* estimate full charge capacity relative to the rated capacity in %).
|
||||
*/
|
||||
public static final String EXTRA_STATE_OF_HEALTH = "android.os.extra.STATE_OF_HEALTH";
|
||||
|
||||
/**
|
||||
* Extra for {@link android.content.Intent#ACTION_BATTERY_CHANGED}:
|
||||
* Int value representing the battery charging status.
|
||||
@@ -358,6 +351,20 @@ public class BatteryManager {
|
||||
@SystemApi
|
||||
public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9;
|
||||
|
||||
/**
|
||||
*
|
||||
* Percentage representing the measured battery state of health (remaining
|
||||
* estimated full charge capacity relative to the rated capacity in %).
|
||||
*
|
||||
* <p class="note">
|
||||
* The sender must hold the {@link android.Manifest.permission#BATTERY_STATS} permission.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@RequiresPermission(permission.BATTERY_STATS)
|
||||
@SystemApi
|
||||
public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10;
|
||||
|
||||
private final Context mContext;
|
||||
private final IBatteryStats mBatteryStats;
|
||||
private final IBatteryPropertiesRegistrar mBatteryPropertiesRegistrar;
|
||||
|
||||
@@ -150,7 +150,6 @@ public final class BatteryService extends SystemService {
|
||||
private int mLastMaxChargingVoltage;
|
||||
private int mLastChargeCounter;
|
||||
private int mLastBatteryCycleCount;
|
||||
private int mLastBatteryStateOfHealth;
|
||||
private int mLastCharingState;
|
||||
|
||||
private int mSequence = 1;
|
||||
@@ -508,7 +507,6 @@ public final class BatteryService extends SystemService {
|
||||
|| mHealthInfo.batteryChargeCounterUah != mLastChargeCounter
|
||||
|| mInvalidCharger != mLastInvalidCharger
|
||||
|| mHealthInfo.batteryCycleCount != mLastBatteryCycleCount
|
||||
|| mHealthInfo.batteryStateOfHealth != mLastBatteryStateOfHealth
|
||||
|| mHealthInfo.chargingState != mLastCharingState)) {
|
||||
|
||||
if (mPlugType != mLastPlugType) {
|
||||
@@ -684,7 +682,6 @@ public final class BatteryService extends SystemService {
|
||||
mLastBatteryLevelCritical = mBatteryLevelCritical;
|
||||
mLastInvalidCharger = mInvalidCharger;
|
||||
mLastBatteryCycleCount = mHealthInfo.batteryCycleCount;
|
||||
mLastBatteryStateOfHealth = mHealthInfo.batteryStateOfHealth;
|
||||
mLastCharingState = mHealthInfo.chargingState;
|
||||
}
|
||||
}
|
||||
@@ -718,7 +715,6 @@ public final class BatteryService extends SystemService {
|
||||
mHealthInfo.maxChargingVoltageMicrovolts);
|
||||
intent.putExtra(BatteryManager.EXTRA_CHARGE_COUNTER, mHealthInfo.batteryChargeCounterUah);
|
||||
intent.putExtra(BatteryManager.EXTRA_CYCLE_COUNT, mHealthInfo.batteryCycleCount);
|
||||
intent.putExtra(BatteryManager.EXTRA_STATE_OF_HEALTH, mHealthInfo.batteryStateOfHealth);
|
||||
intent.putExtra(BatteryManager.EXTRA_CHARGING_STATUS, mHealthInfo.chargingState);
|
||||
if (DEBUG) {
|
||||
Slog.d(TAG, "Sending ACTION_BATTERY_CHANGED. scale:" + BATTERY_SCALE
|
||||
@@ -744,7 +740,6 @@ public final class BatteryService extends SystemService {
|
||||
event.putInt(BatteryManager.EXTRA_CHARGE_COUNTER, mHealthInfo.batteryChargeCounterUah);
|
||||
event.putLong(BatteryManager.EXTRA_EVENT_TIMESTAMP, now);
|
||||
event.putInt(BatteryManager.EXTRA_CYCLE_COUNT, mHealthInfo.batteryCycleCount);
|
||||
event.putInt(BatteryManager.EXTRA_STATE_OF_HEALTH, mHealthInfo.batteryStateOfHealth);
|
||||
event.putInt(BatteryManager.EXTRA_CHARGING_STATUS, mHealthInfo.chargingState);
|
||||
|
||||
boolean queueWasEmpty = mBatteryLevelsEventQueue.isEmpty();
|
||||
@@ -1265,6 +1260,7 @@ public final class BatteryService extends SystemService {
|
||||
case BatteryManager.BATTERY_PROPERTY_MANUFACTURING_DATE:
|
||||
case BatteryManager.BATTERY_PROPERTY_FIRST_USAGE_DATE:
|
||||
case BatteryManager.BATTERY_PROPERTY_CHARGING_POLICY:
|
||||
case BatteryManager.BATTERY_PROPERTY_STATE_OF_HEALTH:
|
||||
mContext.enforceCallingPermission(
|
||||
android.Manifest.permission.BATTERY_STATS, null);
|
||||
break;
|
||||
|
||||
@@ -146,6 +146,10 @@ class HealthServiceWrapperAidl extends HealthServiceWrapper {
|
||||
case BatteryManager.BATTERY_PROPERTY_CHARGING_POLICY:
|
||||
prop.setLong(service.getChargingPolicy());
|
||||
break;
|
||||
case BatteryManager.BATTERY_PROPERTY_STATE_OF_HEALTH:
|
||||
healthData = service.getBatteryHealthData();
|
||||
prop.setLong(healthData.batteryStateOfHealth);
|
||||
break;
|
||||
}
|
||||
} catch (UnsupportedOperationException e) {
|
||||
// Leave prop untouched.
|
||||
|
||||
Reference in New Issue
Block a user