mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
Initialize healthd_mode_ops in recovery default Health HAL impl.
This is required for correct functioning of getHealthInfo() API in recovery since BatteryMonitor requires healthd_mode_ops to be initialized to update battery properties. Bug: 78793464 Test: fastboot getvar battery-voltage Change-Id: I9ff77664cada22e4aa3668bfb7d28d5f1d45590b
This commit is contained in:
@@ -142,7 +142,7 @@ Return<void> Health::getChargeStatus(getChargeStatus_cb _hidl_cb) {
|
||||
Return<Result> Health::update() {
|
||||
if (!healthd_mode_ops || !healthd_mode_ops->battery_update) {
|
||||
LOG(WARNING) << "health@2.0: update: not initialized. "
|
||||
<< "update() should not be called in charger / recovery.";
|
||||
<< "update() should not be called in charger";
|
||||
return Result::UNKNOWN;
|
||||
}
|
||||
|
||||
|
||||
@@ -46,9 +46,32 @@ int healthd_board_battery_update(struct android::BatteryProperties*) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void healthd_mode_default_impl_init(struct healthd_config*) {
|
||||
// noop
|
||||
}
|
||||
|
||||
int healthd_mode_default_impl_preparetowait(void) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
void healthd_mode_default_impl_heartbeat(void) {
|
||||
// noop
|
||||
}
|
||||
|
||||
void healthd_mode_default_impl_battery_update(struct android::BatteryProperties*) {
|
||||
// noop
|
||||
}
|
||||
|
||||
static struct healthd_mode_ops healthd_mode_default_impl_ops = {
|
||||
.init = healthd_mode_default_impl_init,
|
||||
.preparetowait = healthd_mode_default_impl_preparetowait,
|
||||
.heartbeat = healthd_mode_default_impl_heartbeat,
|
||||
.battery_update = healthd_mode_default_impl_battery_update,
|
||||
};
|
||||
|
||||
extern "C" IHealth* HIDL_FETCH_IHealth(const char* name) {
|
||||
const static std::string providedInstance{"backup"};
|
||||
|
||||
healthd_mode_ops = &healthd_mode_default_impl_ops;
|
||||
if (providedInstance == name) {
|
||||
// use defaults
|
||||
// Health class stores static instance
|
||||
|
||||
Reference in New Issue
Block a user