7dcf7b0639
Clean up charger's libhealthd dependency. - Charger uses libhealthloop to maintain an infinite loop, similar to all health 2.x services. - Charger tries to open up health 2.1 HAL implementation to retrieve health info. If it failed, it falls back to the legacy code path where a default BatteryMonitor is used, *except* that it won't depend on libhealthd's healthd_board_init() and healthd_board_battery_update() anymore. - Remove global static variables because they are hard to track. - Modernize code by converting charger_state in to a C++ Charger class, transforming all functions into methods, and moving all other global states into the class. - Devices that matches all of the following: - have a customized libhealthd (search for modules named libhealthd.xxxx) - uses charger from system image (look for "class charger" in device init.rc scripts; if you see the binary is named "/charger" or "/system/bin/charger" then you are using charger from system image) ... must implement health 2.1 passthrough implementation properly in order to have charger continue to work. See hardware/interfaces/health/2.1/README.md for details. Test: charger test Test: manual charger mode Bug: 127677771 Bug: 142286265 Change-Id: I0f26e5c1fe2be6b5952fc019224457c8419e43e4 |
||
---|---|---|
.. | ||
api | ||
images | ||
include/healthd | ||
tests | ||
Android.bp | ||
android.hardware.health@2.0-service.rc | ||
Android.mk | ||
animation.h | ||
AnimationParser.cpp | ||
AnimationParser.h | ||
BatteryMonitor.cpp | ||
charger.cpp | ||
charger.sysprop | ||
charger_test.cpp | ||
charger_utils.cpp | ||
charger_utils.h | ||
healthd.rc | ||
healthd_draw.cpp | ||
healthd_draw.h | ||
healthd_mode_charger.cpp | ||
healthd_mode_charger.h | ||
healthd_mode_charger_nops.cpp | ||
healthd_mode_charger_nops.h | ||
HealthServiceDefault.cpp | ||
HealthServiceHealthd.cpp | ||
manifest_healthd.xml | ||
OWNERS |