diff options
| -rw-r--r-- | services/core/java/com/android/server/health/HealthServiceWrapper.java | 15 | ||||
| -rw-r--r-- | services/core/java/com/android/server/health/HealthServiceWrapperAidl.java | 11 |
2 files changed, 26 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/health/HealthServiceWrapper.java b/services/core/java/com/android/server/health/HealthServiceWrapper.java index 25d1a885bc18..9c14b5b079b1 100644 --- a/services/core/java/com/android/server/health/HealthServiceWrapper.java +++ b/services/core/java/com/android/server/health/HealthServiceWrapper.java @@ -71,6 +71,21 @@ public abstract class HealthServiceWrapper { public abstract android.hardware.health.HealthInfo getHealthInfo() throws RemoteException; /** + * Calls into getBatteryHealthData() in the health HAL. + * This function does not have a corresponding HIDL implementation, so + * returns null by default, unless there is an AIDL class that overrides + * this one. + * + * @return battery health data. {@code null} if no health HAL service. + * {@code null} if any service-specific error when calling {@code + * getBatteryHealthData}, e.g. it is unsupported. + * @throws RemoteException for any transaction-level errors + */ + public android.hardware.health.BatteryHealthData getBatteryHealthData() throws RemoteException { + return null; + } + + /** * Create a new HealthServiceWrapper instance. * * @param healthInfoCallback the callback to call when health info changes diff --git a/services/core/java/com/android/server/health/HealthServiceWrapperAidl.java b/services/core/java/com/android/server/health/HealthServiceWrapperAidl.java index fd3a92e97c26..2a3fbc3f2466 100644 --- a/services/core/java/com/android/server/health/HealthServiceWrapperAidl.java +++ b/services/core/java/com/android/server/health/HealthServiceWrapperAidl.java @@ -212,6 +212,17 @@ class HealthServiceWrapperAidl extends HealthServiceWrapper { } } + @Override + public BatteryHealthData getBatteryHealthData() throws RemoteException { + IHealth service = mLastService.get(); + if (service == null) return null; + try { + return service.getBatteryHealthData(); + } catch (UnsupportedOperationException | ServiceSpecificException ex) { + return null; + } + } + public void setChargingPolicy(int policy) throws RemoteException { IHealth service = mLastService.get(); if (service == null) return; |