|  | package { | 
|  | default_applicable_licenses: ["Android-Apache-2.0"], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "libbatterymonitor_defaults", | 
|  | cflags: ["-Wall", "-Werror"], | 
|  | vendor_available: true, | 
|  | recovery_available: true, | 
|  | export_include_dirs: ["include"], | 
|  | shared_libs: [ | 
|  | "libutils", | 
|  | "libbase", | 
|  |  | 
|  | // Need HealthInfo definition from headers of these shared | 
|  | // libraries. Clients don't need to link to these. | 
|  | "android.hardware.health@2.1", | 
|  | ], | 
|  | header_libs: ["libhealthd_headers"], | 
|  | export_header_lib_headers: ["libhealthd_headers"], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "libhealthd_charger_ui_defaults", | 
|  | vendor_available: true, | 
|  | export_include_dirs: [ | 
|  | "include", | 
|  | "include_charger", | 
|  | ], | 
|  |  | 
|  | static_libs: [ | 
|  | "libcharger_sysprop", | 
|  | "libhealthd_draw", | 
|  | "libhealthloop", | 
|  | "libminui", | 
|  | ], | 
|  |  | 
|  | shared_libs: [ | 
|  | "libbase", | 
|  | "libcutils", | 
|  | "liblog", | 
|  | "libpng", | 
|  | "libsuspend", | 
|  | "libutils", | 
|  | ], | 
|  |  | 
|  | header_libs: [ | 
|  | "libhealthd_headers", | 
|  | ], | 
|  |  | 
|  | srcs: [ | 
|  | "healthd_mode_charger.cpp", | 
|  | "AnimationParser.cpp", | 
|  | ], | 
|  |  | 
|  | target: { | 
|  | vendor: { | 
|  | exclude_static_libs: [ | 
|  | "libcharger_sysprop", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | } | 
|  |  | 
|  | cc_library_headers { | 
|  | name: "libhealthd_headers", | 
|  | vendor_available: true, | 
|  | recovery_available: true, | 
|  | export_include_dirs: ["include"], | 
|  | header_libs: ["libbatteryservice_headers"], | 
|  | export_header_lib_headers: ["libbatteryservice_headers"], | 
|  | } | 
|  |  | 
|  | cc_library_static { | 
|  | name: "libbatterymonitor", | 
|  | defaults: ["libbatterymonitor_defaults"], | 
|  | srcs: ["BatteryMonitor.cpp"], | 
|  | static_libs: [ | 
|  | "android.hardware.health-V2-ndk", | 
|  | ], | 
|  | whole_static_libs: [ | 
|  | // Need to translate HIDL to AIDL to support legacy APIs in | 
|  | // BatteryMonitor. | 
|  | "android.hardware.health-translate-ndk", | 
|  | ], | 
|  | } | 
|  |  | 
|  | // TODO(b/251425963): remove when android.hardware.health is upgraded to V2. | 
|  | cc_library_static { | 
|  | name: "libbatterymonitor-V1", | 
|  | defaults: ["libbatterymonitor_defaults"], | 
|  | srcs: ["BatteryMonitor_v1.cpp"], | 
|  | static_libs: [ | 
|  | "android.hardware.health-V1-ndk", | 
|  | ], | 
|  | whole_static_libs: [ | 
|  | // Need to translate HIDL to AIDL to support legacy APIs in | 
|  | // BatteryMonitor. | 
|  | "android.hardware.health-translate-V1-ndk", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "android.hardware.health@2.0-service_defaults", | 
|  |  | 
|  | cflags: [ | 
|  | "-Wall", | 
|  | "-Werror", | 
|  | ], | 
|  |  | 
|  | static_libs: [ | 
|  | "android.hardware.health@2.0-impl", | 
|  | "android.hardware.health@1.0-convert", | 
|  | "libhealthservice", | 
|  | "libhealthstoragedefault", | 
|  | "libbatterymonitor", | 
|  | ], | 
|  |  | 
|  | shared_libs: [ | 
|  | "libbase", | 
|  | "libcutils", | 
|  | "libhidlbase", | 
|  | "liblog", | 
|  | "libutils", | 
|  | "android.hardware.health@2.0", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_binary { | 
|  | name: "android.hardware.health@2.0-service", | 
|  | defaults: ["android.hardware.health@2.0-service_defaults"], | 
|  |  | 
|  | vendor: true, | 
|  | relative_install_path: "hw", | 
|  | init_rc: ["android.hardware.health@2.0-service.rc"], | 
|  | srcs: [ | 
|  | "HealthServiceDefault.cpp", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_library_static { | 
|  | name: "libhealthd_charger_nops", | 
|  | recovery_available: true, | 
|  |  | 
|  | srcs: [ | 
|  | "healthd_mode_charger_nops.cpp", | 
|  | ], | 
|  |  | 
|  | cflags: [ | 
|  | "-Wall", | 
|  | "-Werror", | 
|  | ], | 
|  |  | 
|  | header_libs: [ | 
|  | "libhealthd_headers", | 
|  | ], | 
|  |  | 
|  | static_libs: [ | 
|  | "libhealthloop", | 
|  | "libhealth2impl", | 
|  | ], | 
|  |  | 
|  | shared_libs: [ | 
|  | "android.hardware.health@2.1", | 
|  | "libutils", | 
|  | ], | 
|  | } | 
|  |  | 
|  | sysprop_library { | 
|  | name: "charger_sysprop", | 
|  | recovery_available: true, | 
|  | srcs: ["charger.sysprop"], | 
|  | property_owner: "Platform", | 
|  | api_packages: ["android.sysprop"], | 
|  | } | 
|  |  | 
|  | cc_library_static { | 
|  | name: "libhealthd_draw", | 
|  | vendor_available: true, | 
|  | export_include_dirs: ["."], | 
|  | static_libs: [ | 
|  | "libcharger_sysprop", | 
|  | "libminui", | 
|  | ], | 
|  | shared_libs: [ | 
|  | "libbase", | 
|  | ], | 
|  | header_libs: ["libbatteryservice_headers"], | 
|  |  | 
|  | srcs: ["healthd_draw.cpp"], | 
|  |  | 
|  | target: { | 
|  | vendor: { | 
|  | exclude_static_libs: [ | 
|  | "libcharger_sysprop", | 
|  | ], | 
|  | }, | 
|  | }, | 
|  | } | 
|  |  | 
|  | cc_library_static { | 
|  | name: "libhealthd_charger_ui", | 
|  | defaults: ["libhealthd_charger_ui_defaults"], | 
|  |  | 
|  | static_libs: [ | 
|  | "android.hardware.health-V2-ndk", | 
|  | "android.hardware.health-translate-ndk", | 
|  | ], | 
|  |  | 
|  | export_static_lib_headers: [ | 
|  | "android.hardware.health-V2-ndk", | 
|  | ], | 
|  | } | 
|  |  | 
|  | // TODO(b/251425963): remove when android.hardware.health is upgraded to V2. | 
|  | cc_library_static { | 
|  | name: "libhealthd_charger_ui-V1", | 
|  | defaults: ["libhealthd_charger_ui_defaults"], | 
|  |  | 
|  | static_libs: [ | 
|  | "android.hardware.health-V1-ndk", | 
|  | "android.hardware.health-translate-V1-ndk", | 
|  | ], | 
|  |  | 
|  | export_static_lib_headers: [ | 
|  | "android.hardware.health-V1-ndk", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_library_static { | 
|  | name: "libhealthd_charger", | 
|  | export_include_dirs: [ | 
|  | "include", | 
|  | "include_charger", | 
|  | ], | 
|  |  | 
|  | static_libs: [ | 
|  | "android.hardware.health@1.0-convert", | 
|  | "libcharger_sysprop", | 
|  | "libhealth2impl", | 
|  | "libhealthd_charger_ui", | 
|  | ], | 
|  |  | 
|  | shared_libs: [ | 
|  | "android.hardware.health@2.1", | 
|  | "libbase", | 
|  | "libcutils", | 
|  | "liblog", | 
|  | "libutils", | 
|  | ], | 
|  |  | 
|  | srcs: [ | 
|  | "healthd_mode_charger_hidl.cpp", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_defaults { | 
|  | name: "charger_defaults", | 
|  | local_include_dirs: [ | 
|  | "include_charger", | 
|  | ], | 
|  |  | 
|  | cflags: [ | 
|  | "-Wall", | 
|  | "-Werror", | 
|  | ], | 
|  |  | 
|  | shared_libs: [ | 
|  | // common | 
|  | "libbase", | 
|  | "libcutils", | 
|  | "libhidlbase", | 
|  | "liblog", | 
|  | "libutils", | 
|  |  | 
|  | // system charger only | 
|  | "libpng", | 
|  | ], | 
|  |  | 
|  | static_libs: [ | 
|  | // common | 
|  | "android.hardware.health@1.0-convert", | 
|  | "android.hardware.health-V2-ndk", | 
|  | "libbatterymonitor", | 
|  | "libcharger_sysprop", | 
|  | "libhealthd_charger_nops", | 
|  | "libhealthloop", | 
|  | "libhealth2impl", | 
|  |  | 
|  | // system charger only | 
|  | "libhealthd_draw", | 
|  | "libhealthd_charger", | 
|  | "libhealthd_charger_ui", | 
|  | "libminui", | 
|  | "libsuspend", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_binary { | 
|  | name: "charger", | 
|  | defaults: ["charger_defaults"], | 
|  | recovery_available: true, | 
|  | srcs: [ | 
|  | "charger.cpp", | 
|  | "charger_utils.cpp", | 
|  | ], | 
|  | shared_libs: [ | 
|  | "android.hardware.health@2.0", | 
|  | "android.hardware.health@2.1", | 
|  | ], | 
|  |  | 
|  | target: { | 
|  | recovery: { | 
|  | // No UI and libsuspend for recovery charger. | 
|  | cflags: [ | 
|  | "-DCHARGER_FORCE_NO_UI=1", | 
|  | ], | 
|  | exclude_shared_libs: [ | 
|  | "libpng", | 
|  | ], | 
|  | exclude_static_libs: [ | 
|  | "libhealthd_draw", | 
|  | "libhealthd_charger", | 
|  | "libhealthd_charger_ui", | 
|  | "libminui", | 
|  | "libsuspend", | 
|  | ], | 
|  | } | 
|  | } | 
|  | } | 
|  |  | 
|  | cc_test { | 
|  | name: "charger_test", | 
|  | defaults: ["charger_defaults"], | 
|  | srcs: ["charger_test.cpp"], | 
|  | static_libs: [ | 
|  | "android.hardware.health@1.0", | 
|  | "android.hardware.health@2.0", | 
|  | "android.hardware.health@2.1", | 
|  | ], | 
|  | } | 
|  |  | 
|  | cc_test { | 
|  | name: "libhealthd_charger_test", | 
|  | defaults: ["charger_defaults"], | 
|  | srcs: [ | 
|  | "AnimationParser_test.cpp", | 
|  | "healthd_mode_charger_test.cpp" | 
|  | ], | 
|  | static_libs: [ | 
|  | "android.hardware.health@1.0", | 
|  | "android.hardware.health@2.0", | 
|  | "android.hardware.health@2.1", | 
|  | "libgmock", | 
|  | ], | 
|  | test_suites: [ | 
|  | "general-tests", | 
|  | "device-tests", | 
|  | ], | 
|  | data: [ | 
|  | ":libhealthd_charger_test_data", | 
|  | ], | 
|  | require_root: true, | 
|  | } | 
|  |  | 
|  | // /system/etc/res/images/charger/battery_fail.png | 
|  | prebuilt_etc { | 
|  | name: "system_core_charger_res_images_battery_fail.png", | 
|  | src: "images/battery_fail.png", | 
|  | relative_install_path: "res/images/charger", | 
|  | filename: "battery_fail.png", | 
|  | } | 
|  |  | 
|  | // /system/etc/res/images/charger/battery_scale.png | 
|  | prebuilt_etc { | 
|  | name: "system_core_charger_res_images_battery_scale.png", | 
|  | src: "images/battery_scale.png", | 
|  | relative_install_path: "res/images/charger", | 
|  | filename: "battery_scale.png", | 
|  | } | 
|  |  | 
|  | phony { | 
|  | name: "charger_res_images", | 
|  | required: [ | 
|  | "system_core_charger_res_images_battery_fail.png", | 
|  | "system_core_charger_res_images_battery_scale.png", | 
|  | ], | 
|  | } | 
|  |  | 
|  | // /vendor/etc/res/images/default/charger/battery_fail.png | 
|  | prebuilt_etc { | 
|  | name: "system_core_charger_res_images_battery_fail.png_default_vendor", | 
|  | src: "images/battery_fail.png", | 
|  | relative_install_path: "res/images/default/charger", | 
|  | vendor: true, | 
|  | filename: "battery_fail.png", | 
|  | } | 
|  |  | 
|  | // /vendor/etc/res/images/default/charger/battery_scale.png | 
|  | prebuilt_etc { | 
|  | name: "system_core_charger_res_images_battery_scale.png_default_vendor", | 
|  | src: "images/battery_scale.png", | 
|  | relative_install_path: "res/images/default/charger", | 
|  | vendor: true, | 
|  | filename: "battery_scale.png", | 
|  | } | 
|  |  | 
|  | phony { | 
|  | name: "charger_res_images_vendor", | 
|  | required: [ | 
|  | "system_core_charger_res_images_battery_fail.png_default_vendor", | 
|  | "system_core_charger_res_images_battery_scale.png_default_vendor", | 
|  | ], | 
|  | } |