From 7c5a3e12a488ab1505ec92673a0dba7c6641d0ac Mon Sep 17 00:00:00 2001 From: Todd Poynor Date: Fri, 12 Feb 2016 19:53:15 -0800 Subject: healthd: Add "No UI" operation for charger mode Boards can opt to have charger mode be passive, with no screen UI or key processing, the same as for recovery mode, via BOARD_CHARGER_NO_UI. The minui and associated libs and charging image files are not built into the executable in this case. Always select charger No UI operation for Brillo devices. Bug: 27170356 Change-Id: Ibe71498743353b01ce5b6521e42ed94d75547547 --- healthd/Android.mk | 26 ++++++++++++++++++++++++-- healthd/healthd.cpp | 7 +++++++ 2 files changed, 31 insertions(+), 2 deletions(-) (limited to 'healthd') diff --git a/healthd/Android.mk b/healthd/Android.mk index 27c985c46..5d207e37e 100644 --- a/healthd/Android.mk +++ b/healthd/Android.mk @@ -10,13 +10,23 @@ include $(BUILD_STATIC_LIBRARY) include $(CLEAR_VARS) +ifeq ($(strip $(BOARD_CHARGER_NO_UI)),true) +LOCAL_CHARGER_NO_UI := true +endif +ifdef BRILLO +LOCAL_CHARGER_NO_UI := true +endif + LOCAL_SRC_FILES := \ healthd.cpp \ healthd_mode_android.cpp \ - healthd_mode_charger.cpp \ BatteryMonitor.cpp \ BatteryPropertiesRegistrar.cpp +ifneq ($(strip $(LOCAL_CHARGER_NO_UI)),true) +LOCAL_SRC_FILES += healthd_mode_charger.cpp +endif + LOCAL_MODULE := healthd LOCAL_MODULE_TAGS := optional LOCAL_FORCE_STATIC_EXECUTABLE := true @@ -33,9 +43,19 @@ ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true) LOCAL_CFLAGS += -DCHARGER_ENABLE_SUSPEND endif +ifeq ($(strip $(LOCAL_CHARGER_NO_UI)),true) +LOCAL_CFLAGS += -DCHARGER_NO_UI +endif + LOCAL_C_INCLUDES := bootable/recovery -LOCAL_STATIC_LIBRARIES := libbatteryservice libbinder libminui libpng libz libutils libcutils liblog libm libc +LOCAL_STATIC_LIBRARIES := libbatteryservice libbinder + +ifneq ($(strip $(LOCAL_CHARGER_NO_UI)),true) +LOCAL_STATIC_LIBRARIES += libminui libpng libz +endif + +LOCAL_STATIC_LIBRARIES += libutils libcutils liblog libm libc ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true) LOCAL_STATIC_LIBRARIES += libsuspend @@ -50,6 +70,7 @@ LOCAL_POST_INSTALL_CMD := $(hide) mkdir -p $(TARGET_ROOT_OUT) \ include $(BUILD_EXECUTABLE) +ifneq ($(strip $(LOCAL_CHARGER_NO_UI)),true) define _add-charger-image include $$(CLEAR_VARS) LOCAL_MODULE := system_core_charger_$(notdir $(1)) @@ -75,3 +96,4 @@ include $(BUILD_PHONY_PACKAGE) _add-charger-image := _img_modules := +endif # LOCAL_CHARGER_NO_UI diff --git a/healthd/healthd.cpp b/healthd/healthd.cpp index 85888c3ca..9b47334d3 100644 --- a/healthd/healthd.cpp +++ b/healthd/healthd.cpp @@ -109,10 +109,17 @@ static struct healthd_mode_ops android_ops = { }; static struct healthd_mode_ops charger_ops = { +#ifdef CHARGER_NO_UI + .init = healthd_mode_nop_init, + .preparetowait = healthd_mode_nop_preparetowait, + .heartbeat = healthd_mode_nop_heartbeat, + .battery_update = healthd_mode_nop_battery_update, +#else .init = healthd_mode_charger_init, .preparetowait = healthd_mode_charger_preparetowait, .heartbeat = healthd_mode_charger_heartbeat, .battery_update = healthd_mode_charger_battery_update, +#endif }; static struct healthd_mode_ops recovery_ops = { -- cgit v1.2.3