a76a2bf65b
For the core variant (system), clients like storaged etc. should no longer access the "backup" instance, because healthd is removed from the system image. For the vendor variant, this would only break if a vendor image were launched with Android O / O-MR1 (so health@2.0 is not required), and were compiled against an Android T (and above) source tree (which won't check the "backup" instance). This shouldn't be a valid configuration. For the recovery variant, the "backup" instance has a different meaning. It points to android.hardware.health@2.0-impl-default.recovery ... which was assumed by OEMs to be always installed when a vendor-specific libhealthd is not necessary. Hence, its behavior is kept. See hardware/interfaces/health/2.0/README.md android.hardware.health@2.0-impl-default.recovery, and subsequently the special handling of recovery mode below, can be removed once health@2.1 is the minimum required version (i.e. compatibility matrix level 3 is removed). Health 2.1 requires OEMs to install the implementation to the recovery partition when it is necessary (i.e. on non-A/B devices, where IsBatteryOk() is needed in recovery). Test: pass Bug: 203245871 Change-Id: Ife14f5bdaba20e4cf5bd0b954aea4d04a62009c4 |
||
---|---|---|
.. | ||
libhealthhalutils | ||
libhealthservice | ||
libhealthstoragedefault | ||
README.md |
libhealthhalutils
A convenience library for (hwbinder) clients of health HAL to choose between
the "default" instance (served by vendor service) or "backup" instance (served
by healthd). C++ clients of health HAL should use this library instead of
calling IHealth::getService()
directly.
Its Java equivalent can be found in BatteryService.HealthServiceWrapper
.
libhealthservice
Common code for all (hwbinder) services of the health HAL, including healthd and
vendor health service android.hardware.health@2.0-service(.<vendor>)
. main()
in
those binaries calls health_service_main()
directly.
libhealthstoragedefault
Default implementation for storage related APIs for (hwbinder) services of the health HAL. If an implementation of the health HAL do not wish to provide any storage info, include this library. Otherwise, it should implement the following two functions:
void get_storage_info(std::vector<struct StorageInfo>& info) {
// ...
}
void get_disk_stats(std::vector<struct DiskStats>& stats) {
// ...
}