Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43142c42 authored by Yifan Hong's avatar Yifan Hong Committed by Android (Google) Code Review
Browse files

Merge changes from topic "health2_passthru"

* changes:
  healthd: charger use health 2.0 HAL
  healthd: move healthd_board_init call to Health::Health() c-tor
parents d8791e9d 10c2b401
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -47,6 +47,8 @@ LOCAL_EXPORT_C_INCLUDE_DIRS := \
    $(LOCAL_PATH)/include

LOCAL_STATIC_LIBRARIES := \
    android.hardware.health@2.0 \
    android.hardware.health@1.0 \
    libminui \
    libpng \
    libz \
@@ -74,7 +76,6 @@ LOCAL_CHARGER_NO_UI := true
endif

LOCAL_SRC_FILES := \
    healthd_common.cpp \
    charger.cpp \

LOCAL_MODULE := charger
@@ -96,6 +97,13 @@ LOCAL_CFLAGS += -DBOARD_PERIODIC_CHORES_INTERVAL_SLOW=$(BOARD_PERIODIC_CHORES_IN
endif

LOCAL_STATIC_LIBRARIES := \
    android.hardware.health@2.0-impl \
    android.hardware.health@2.0 \
    android.hardware.health@1.0 \
    libhidltransport \
    libhidlbase \
    libhwbinder \
    libvndksupport \
    libhealthd_charger \
    libhealthd_draw \
    libbatterymonitor \
+2 −0
Original line number Diff line number Diff line
@@ -16,6 +16,8 @@ namespace implementation {
sp<Health> Health::instance_;

Health::Health(struct healthd_config* c) {
    // TODO(b/69268160): remove when libhealthd is removed.
    healthd_board_init(c);
    battery_monitor_ = std::make_unique<BatteryMonitor>();
    battery_monitor_->init(c);
}
+0 −10
Original line number Diff line number Diff line
@@ -53,13 +53,6 @@ void healthd_mode_service_2_0_init(struct healthd_config* config) {
            LOG(ERROR) << LOG_TAG << ": Register for binder events failed";
    }

    // Implementation-defined init logic goes here.
    // 1. config->periodic_chores_interval_* variables
    // 2. config->battery*Path variables
    // 3. config->energyCounter. In this implementation, energyCounter is not defined.
    // TODO(b/68724651): healthd_board_* functions should be removed in health@2.0
    healthd_board_init(config);

    android::sp<IHealth> service = Health::initInstance(config);
    CHECK_EQ(service->registerAsService(HEALTH_INSTANCE_NAME), android::OK)
        << LOG_TAG << ": Failed to register HAL";
@@ -77,9 +70,6 @@ void healthd_mode_service_2_0_heartbeat(void) {
}

void healthd_mode_service_2_0_battery_update(struct android::BatteryProperties* prop) {
    // Implementation-defined update logic goes here. An implementation
    // can make modifications to prop before broadcasting it to all callbacks.

    HealthInfo info;
    convertToHealthInfo(prop, info);
    Health::getImplementation()->notifyListeners(info);
+8 −0
Original line number Diff line number Diff line
@@ -17,10 +17,18 @@
#include <healthd/healthd.h>

void healthd_board_init(struct healthd_config*) {
    // Implementation-defined init logic goes here.
    // 1. config->periodic_chores_interval_* variables
    // 2. config->battery*Path variables
    // 3. config->energyCounter. In this implementation, energyCounter is not defined.

    // use defaults
}

int healthd_board_battery_update(struct android::BatteryProperties*) {
    // Implementation-defined update logic goes here. An implementation
    // can make modifications to prop before broadcasting it to all callbacks.

    // return 0 to log periodic polled battery status to kernel log
    return 0;
}
+4 −1
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#define LOG_TAG "charger"
#define KLOG_LEVEL 6

#include <health2/Health.h>
#include <healthd/healthd.h>

#include <stdlib.h>
@@ -62,7 +63,9 @@ static struct healthd_mode_ops charger_ops = {
};
#endif

static void healthd_mode_nop_init(struct healthd_config* /*config*/) {
static void healthd_mode_nop_init(struct healthd_config* config) {
    using android::hardware::health::V2_0::implementation::Health;
    Health::initInstance(config);
}

static int healthd_mode_nop_preparetowait(void) {
Loading