Merge changes from topic "charger_props"
am: 7cea50acd8
Change-Id: Ie5eeaa55a3749e2a155010aecf37ecacb43a7e88
This commit is contained in:
commit
958216c97f
13 changed files with 142 additions and 101 deletions
|
@ -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",
|
||||
],
|
||||
}
|
||||
|
|
|
@ -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 := \
|
||||
|
|
|
@ -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
1
healthd/api/current.txt
Normal file
|
@ -0,0 +1 @@
|
|||
// Signature format: 2.0
|
1
healthd/api/removed.txt
Normal file
1
healthd/api/removed.txt
Normal file
|
@ -0,0 +1 @@
|
|||
// Signature format: 2.0
|
1
healthd/api/system-current.txt
Normal file
1
healthd/api/system-current.txt
Normal file
|
@ -0,0 +1 @@
|
|||
// Signature format: 2.0
|
1
healthd/api/system-removed.txt
Normal file
1
healthd/api/system-removed.txt
Normal file
|
@ -0,0 +1 @@
|
|||
// Signature format: 2.0
|
1
healthd/api/test-current.txt
Normal file
1
healthd/api/test-current.txt
Normal file
|
@ -0,0 +1 @@
|
|||
// Signature format: 2.0
|
1
healthd/api/test-removed.txt
Normal file
1
healthd/api/test-removed.txt
Normal file
|
@ -0,0 +1 @@
|
|||
// Signature format: 2.0
|
|
@ -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
38
healthd/charger.sysprop
Normal 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
|
||||
}
|
|
@ -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) {
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue