Merge changes from topic "charger_props"

am: 7cea50acd8

Change-Id: Ie5eeaa55a3749e2a155010aecf37ecacb43a7e88
This commit is contained in:
Yifan Hong 2019-07-25 11:35:44 -07:00 committed by android-build-merger
commit 958216c97f
13 changed files with 142 additions and 101 deletions

View file

@ -110,3 +110,55 @@ cc_library_static {
"libutils",
],
}
sysprop_library {
name: "charger_sysprop",
srcs: ["charger.sysprop"],
property_owner: "Platform",
api_packages: ["android.sysprop"],
}
cc_library_static {
name: "libhealthd_draw",
export_include_dirs: ["."],
static_libs: [
"libcharger_sysprop",
"libminui",
],
shared_libs: [
"libbase",
],
header_libs: ["libbatteryservice_headers"],
srcs: ["healthd_draw.cpp"],
}
cc_library_static {
name: "libhealthd_charger",
local_include_dirs: ["include"],
export_include_dirs: [".", "include"],
static_libs: [
"android.hardware.health@2.0-impl",
"android.hardware.health@1.0-convert",
"libcharger_sysprop",
"libhealthstoragedefault",
"libhealthd_draw",
"libminui",
],
shared_libs: [
"android.hardware.health@2.0",
"libbase",
"libcutils",
"liblog",
"libpng",
"libsuspend",
"libutils",
],
srcs: [
"healthd_mode_charger.cpp",
"AnimationParser.cpp",
],
}

View file

@ -2,74 +2,6 @@
LOCAL_PATH := $(call my-dir)
### libhealthd_draw ###
include $(CLEAR_VARS)
LOCAL_MODULE := libhealthd_draw
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
LOCAL_STATIC_LIBRARIES := libminui
LOCAL_SHARED_LIBRARIES := libbase
LOCAL_SRC_FILES := healthd_draw.cpp
ifneq ($(TARGET_HEALTHD_DRAW_SPLIT_SCREEN),)
LOCAL_CFLAGS += -DHEALTHD_DRAW_SPLIT_SCREEN=$(TARGET_HEALTHD_DRAW_SPLIT_SCREEN)
else
LOCAL_CFLAGS += -DHEALTHD_DRAW_SPLIT_SCREEN=0
endif
ifneq ($(TARGET_HEALTHD_DRAW_SPLIT_OFFSET),)
LOCAL_CFLAGS += -DHEALTHD_DRAW_SPLIT_OFFSET=$(TARGET_HEALTHD_DRAW_SPLIT_OFFSET)
else
LOCAL_CFLAGS += -DHEALTHD_DRAW_SPLIT_OFFSET=0
endif
LOCAL_HEADER_LIBRARIES := libbatteryservice_headers
include $(BUILD_STATIC_LIBRARY)
### libhealthd_charger ###
include $(CLEAR_VARS)
LOCAL_CFLAGS := -Werror
ifeq ($(strip $(BOARD_CHARGER_DISABLE_INIT_BLANK)),true)
LOCAL_CFLAGS += -DCHARGER_DISABLE_INIT_BLANK
endif
ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true)
LOCAL_CFLAGS += -DCHARGER_ENABLE_SUSPEND
endif
LOCAL_SRC_FILES := \
healthd_mode_charger.cpp \
AnimationParser.cpp
LOCAL_MODULE := libhealthd_charger
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_EXPORT_C_INCLUDE_DIRS := \
$(LOCAL_PATH) \
$(LOCAL_PATH)/include
LOCAL_STATIC_LIBRARIES := \
android.hardware.health@2.0-impl \
android.hardware.health@1.0-convert \
libhealthstoragedefault \
libhealthd_draw \
libminui \
LOCAL_SHARED_LIBRARIES := \
android.hardware.health@2.0 \
libbase \
libcutils \
liblog \
libpng \
libutils \
ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true)
LOCAL_SHARED_LIBRARIES += libsuspend
endif
include $(BUILD_STATIC_LIBRARY)
### charger ###
include $(CLEAR_VARS)
ifeq ($(strip $(BOARD_CHARGER_NO_UI)),true)
@ -83,17 +15,16 @@ LOCAL_MODULE := charger
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_CFLAGS := -Werror
ifeq ($(strip $(LOCAL_CHARGER_NO_UI)),true)
LOCAL_CFLAGS += -DCHARGER_NO_UI
endif
CHARGER_STATIC_LIBRARIES := \
android.hardware.health@2.0-impl \
android.hardware.health@1.0-convert \
libbinderthreadstate \
libcharger_sysprop \
libhidltransport \
libhidlbase \
libhealthstoragedefault \
libminui \
libvndksupport \
libhealthd_charger \
libhealthd_charger_nops \
@ -105,18 +36,12 @@ CHARGER_SHARED_LIBRARIES := \
libbase \
libcutils \
libjsoncpp \
libpng \
libprocessgroup \
liblog \
libutils \
ifneq ($(strip $(LOCAL_CHARGER_NO_UI)),true)
CHARGER_STATIC_LIBRARIES += libminui
CHARGER_SHARED_LIBRARIES += libpng
endif
ifeq ($(strip $(BOARD_CHARGER_ENABLE_SUSPEND)),true)
CHARGER_SHARED_LIBRARIES += libsuspend
endif
LOCAL_STATIC_LIBRARIES := $(CHARGER_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES := $(CHARGER_SHARED_LIBRARIES)
@ -140,8 +65,7 @@ LOCAL_MODULE_PATH := $(TARGET_RECOVERY_ROOT_OUT)/system/bin
LOCAL_MODULE_STEM := charger
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_CFLAGS := -Wall -Werror
LOCAL_CFLAGS += -DCHARGER_NO_UI
LOCAL_CFLAGS := -Wall -Werror -DCHARGER_FORCE_NO_UI=1
# charger.recovery doesn't link against libhealthd_{charger,draw} or libminui, since it doesn't need
# any UI support.
@ -149,6 +73,7 @@ LOCAL_STATIC_LIBRARIES := \
android.hardware.health@2.0-impl \
android.hardware.health@1.0-convert \
libbinderthreadstate \
libcharger_sysprop \
libhidltransport \
libhidlbase \
libhealthstoragedefault \
@ -174,7 +99,7 @@ include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := charger_test
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
LOCAL_CFLAGS := -Wall -Werror -DCHARGER_NO_UI
LOCAL_CFLAGS := -Wall -Werror
LOCAL_STATIC_LIBRARIES := $(CHARGER_STATIC_LIBRARIES)
LOCAL_SHARED_LIBRARIES := $(CHARGER_SHARED_LIBRARIES)
LOCAL_SRC_FILES := \

View file

@ -84,7 +84,6 @@ bool parse_animation_desc(const std::string& content, animation* anim) {
static constexpr const char* fail_prefix = "fail: ";
static constexpr const char* clock_prefix = "clock_display: ";
static constexpr const char* percent_prefix = "percent_display: ";
static constexpr const char* frame_prefix = "frame: ";
std::vector<animation::frame> frames;

1
healthd/api/current.txt Normal file
View file

@ -0,0 +1 @@
// Signature format: 2.0

1
healthd/api/removed.txt Normal file
View file

@ -0,0 +1 @@
// Signature format: 2.0

View file

@ -0,0 +1 @@
// Signature format: 2.0

View file

@ -0,0 +1 @@
// Signature format: 2.0

View file

@ -0,0 +1 @@
// Signature format: 2.0

View file

@ -0,0 +1 @@
// Signature format: 2.0

View file

@ -14,13 +14,18 @@
* limitations under the License.
*/
#include "charger.sysprop.h"
#include "healthd_mode_charger.h"
#include "healthd_mode_charger_nops.h"
int main(int argc, char** argv) {
#ifdef CHARGER_NO_UI
return healthd_charger_nops(argc, argv);
#else
return healthd_charger_main(argc, argv);
#ifndef CHARGER_FORCE_NO_UI
#define CHARGER_FORCE_NO_UI 0
#endif
int main(int argc, char** argv) {
if (CHARGER_FORCE_NO_UI || android::sysprop::ChargerProperties::no_ui().value_or(false)) {
return healthd_charger_nops(argc, argv);
} else {
return healthd_charger_main(argc, argv);
}
}

38
healthd/charger.sysprop Normal file
View file

@ -0,0 +1,38 @@
owner: Platform
module: "android.sysprop.ChargerProperties"
prop {
api_name: "draw_split_screen"
type: Boolean
prop_name: "ro.charger.draw_split_screen"
scope: Internal
access: Readonly
}
prop {
api_name: "draw_split_offset"
type: Long
prop_name: "ro.charger.draw_split_offset"
scope: Internal
access: Readonly
}
prop {
api_name: "disable_init_blank"
type: Boolean
prop_name: "ro.charger.disable_init_blank"
scope: Internal
access: Readonly
}
prop {
api_name: "enable_suspend"
type: Boolean
prop_name: "ro.charger.enable_suspend"
scope: Internal
access: Readonly
}
prop {
api_name: "no_ui"
type: Boolean
prop_name: "ro.charger.no_ui"
scope: Internal
access: Readonly
}

View file

@ -18,15 +18,34 @@
#include <batteryservice/BatteryService.h>
#include <cutils/klog.h>
#include "charger.sysprop.h"
#include "healthd_draw.h"
#define LOGE(x...) KLOG_ERROR("charger", x);
#define LOGW(x...) KLOG_WARNING("charger", x);
#define LOGV(x...) KLOG_DEBUG("charger", x);
static bool get_split_screen() {
return android::sysprop::ChargerProperties::draw_split_screen().value_or(false);
}
static int get_split_offset() {
int64_t value = android::sysprop::ChargerProperties::draw_split_offset().value_or(0);
if (value < static_cast<int64_t>(std::numeric_limits<int>::min())) {
LOGW("draw_split_offset = %" PRId64 " overflow for an int; resetting to %d.\n", value,
std::numeric_limits<int>::min());
value = std::numeric_limits<int>::min();
}
if (value > static_cast<int64_t>(std::numeric_limits<int>::max())) {
LOGW("draw_split_offset = %" PRId64 " overflow for an int; resetting to %d.\n", value,
std::numeric_limits<int>::max());
value = std::numeric_limits<int>::max();
}
return static_cast<int>(value);
}
HealthdDraw::HealthdDraw(animation* anim)
: kSplitScreen(HEALTHD_DRAW_SPLIT_SCREEN),
kSplitOffset(HEALTHD_DRAW_SPLIT_OFFSET) {
: kSplitScreen(get_split_screen()), kSplitOffset(get_split_offset()) {
int ret = gr_init();
if (ret < 0) {

View file

@ -43,11 +43,10 @@
#include <cutils/uevent.h>
#include <sys/reboot.h>
#ifdef CHARGER_ENABLE_SUSPEND
#include <suspend/autosuspend.h>
#endif
#include "AnimationParser.h"
#include "charger.sysprop.h"
#include "healthd_draw.h"
#include <health2/Health.h>
@ -264,18 +263,16 @@ out:
LOGW("\n");
}
#ifdef CHARGER_ENABLE_SUSPEND
static int request_suspend(bool enable) {
if (!android::sysprop::ChargerProperties::enable_suspend().value_or(false)) {
return 0;
}
if (enable)
return autosuspend_enable();
else
return autosuspend_disable();
}
#else
static int request_suspend(bool /*enable*/) {
return 0;
}
#endif
static void kick_animation(animation* anim) {
anim->run = true;
@ -321,10 +318,10 @@ static void update_screen_state(charger* charger, int64_t now) {
healthd_draw.reset(new HealthdDraw(batt_anim));
#ifndef CHARGER_DISABLE_INIT_BLANK
healthd_draw->blank_screen(true);
charger->screen_blanked = true;
#endif
if (android::sysprop::ChargerProperties::disable_init_blank().value_or(false)) {
healthd_draw->blank_screen(true);
charger->screen_blanked = true;
}
}
/* animation is over, blank screen and leave */