1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5cc_defaults { 6 name: "libbatterymonitor_defaults", 7 cflags: ["-Wall", "-Werror"], 8 vendor_available: true, 9 recovery_available: true, 10 export_include_dirs: ["include"], 11 shared_libs: [ 12 "libutils", 13 "libbase", 14 15 // Need HealthInfo definition from headers of these shared 16 // libraries. Clients don't need to link to these. 17 "android.hardware.health@2.1", 18 ], 19 header_libs: ["libhealthd_headers"], 20 export_header_lib_headers: ["libhealthd_headers"], 21} 22 23cc_defaults { 24 name: "libhealthd_charger_ui_defaults", 25 vendor_available: true, 26 export_include_dirs: [ 27 "include", 28 "include_charger", 29 ], 30 31 static_libs: [ 32 "libcharger_sysprop", 33 "libhealthd_draw", 34 "libhealthloop", 35 "libminui", 36 ], 37 38 shared_libs: [ 39 "libbase", 40 "libcutils", 41 "liblog", 42 "libpng", 43 "libsuspend", 44 "libutils", 45 ], 46 47 header_libs: [ 48 "libhealthd_headers", 49 ], 50 51 srcs: [ 52 "healthd_mode_charger.cpp", 53 "AnimationParser.cpp", 54 ], 55 56 target: { 57 vendor: { 58 exclude_static_libs: [ 59 "libcharger_sysprop", 60 ], 61 }, 62 }, 63} 64 65cc_library_headers { 66 name: "libhealthd_headers", 67 vendor_available: true, 68 recovery_available: true, 69 export_include_dirs: ["include"], 70 header_libs: ["libbatteryservice_headers"], 71 export_header_lib_headers: ["libbatteryservice_headers"], 72} 73 74cc_library_static { 75 name: "libbatterymonitor", 76 defaults: ["libbatterymonitor_defaults"], 77 srcs: ["BatteryMonitor.cpp"], 78 static_libs: [ 79 "android.hardware.health-V2-ndk", 80 ], 81 whole_static_libs: [ 82 // Need to translate HIDL to AIDL to support legacy APIs in 83 // BatteryMonitor. 84 "android.hardware.health-translate-ndk", 85 ], 86} 87 88// TODO(b/251425963): remove when android.hardware.health is upgraded to V2. 89cc_library_static { 90 name: "libbatterymonitor-V1", 91 defaults: ["libbatterymonitor_defaults"], 92 srcs: ["BatteryMonitor_v1.cpp"], 93 static_libs: [ 94 "android.hardware.health-V1-ndk", 95 ], 96 whole_static_libs: [ 97 // Need to translate HIDL to AIDL to support legacy APIs in 98 // BatteryMonitor. 99 "android.hardware.health-translate-V1-ndk", 100 ], 101} 102 103cc_defaults { 104 name: "android.hardware.health@2.0-service_defaults", 105 106 cflags: [ 107 "-Wall", 108 "-Werror", 109 ], 110 111 static_libs: [ 112 "android.hardware.health@2.0-impl", 113 "android.hardware.health@1.0-convert", 114 "libhealthservice", 115 "libhealthstoragedefault", 116 "libbatterymonitor", 117 ], 118 119 shared_libs: [ 120 "libbase", 121 "libcutils", 122 "libhidlbase", 123 "liblog", 124 "libutils", 125 "android.hardware.health@2.0", 126 ], 127} 128 129cc_binary { 130 name: "android.hardware.health@2.0-service", 131 defaults: ["android.hardware.health@2.0-service_defaults"], 132 133 vendor: true, 134 relative_install_path: "hw", 135 init_rc: ["android.hardware.health@2.0-service.rc"], 136 srcs: [ 137 "HealthServiceDefault.cpp", 138 ], 139} 140 141cc_library_static { 142 name: "libhealthd_charger_nops", 143 recovery_available: true, 144 145 srcs: [ 146 "healthd_mode_charger_nops.cpp", 147 ], 148 149 cflags: [ 150 "-Wall", 151 "-Werror", 152 ], 153 154 header_libs: [ 155 "libhealthd_headers", 156 ], 157 158 static_libs: [ 159 "libhealthloop", 160 "libhealth2impl", 161 ], 162 163 shared_libs: [ 164 "android.hardware.health@2.1", 165 "libutils", 166 ], 167} 168 169sysprop_library { 170 name: "charger_sysprop", 171 recovery_available: true, 172 srcs: ["charger.sysprop"], 173 property_owner: "Platform", 174 api_packages: ["android.sysprop"], 175} 176 177cc_library_static { 178 name: "libhealthd_draw", 179 vendor_available: true, 180 export_include_dirs: ["."], 181 static_libs: [ 182 "libcharger_sysprop", 183 "libminui", 184 ], 185 shared_libs: [ 186 "libbase", 187 ], 188 header_libs: ["libbatteryservice_headers"], 189 190 srcs: ["healthd_draw.cpp"], 191 192 target: { 193 vendor: { 194 exclude_static_libs: [ 195 "libcharger_sysprop", 196 ], 197 }, 198 }, 199} 200 201cc_library_static { 202 name: "libhealthd_charger_ui", 203 defaults: ["libhealthd_charger_ui_defaults"], 204 205 static_libs: [ 206 "android.hardware.health-V2-ndk", 207 "android.hardware.health-translate-ndk", 208 ], 209 210 export_static_lib_headers: [ 211 "android.hardware.health-V2-ndk", 212 ], 213} 214 215// TODO(b/251425963): remove when android.hardware.health is upgraded to V2. 216cc_library_static { 217 name: "libhealthd_charger_ui-V1", 218 defaults: ["libhealthd_charger_ui_defaults"], 219 220 static_libs: [ 221 "android.hardware.health-V1-ndk", 222 "android.hardware.health-translate-V1-ndk", 223 ], 224 225 export_static_lib_headers: [ 226 "android.hardware.health-V1-ndk", 227 ], 228} 229 230cc_library_static { 231 name: "libhealthd_charger", 232 export_include_dirs: [ 233 "include", 234 "include_charger", 235 ], 236 237 static_libs: [ 238 "android.hardware.health@1.0-convert", 239 "libcharger_sysprop", 240 "libhealth2impl", 241 "libhealthd_charger_ui", 242 ], 243 244 shared_libs: [ 245 "android.hardware.health@2.1", 246 "libbase", 247 "libcutils", 248 "liblog", 249 "libutils", 250 ], 251 252 srcs: [ 253 "healthd_mode_charger_hidl.cpp", 254 ], 255} 256 257cc_defaults { 258 name: "charger_defaults", 259 local_include_dirs: [ 260 "include_charger", 261 ], 262 263 cflags: [ 264 "-Wall", 265 "-Werror", 266 ], 267 268 shared_libs: [ 269 // common 270 "libbase", 271 "libcutils", 272 "libhidlbase", 273 "liblog", 274 "libutils", 275 276 // system charger only 277 "libpng", 278 ], 279 280 static_libs: [ 281 // common 282 "android.hardware.health@1.0-convert", 283 "android.hardware.health-V2-ndk", 284 "libbatterymonitor", 285 "libcharger_sysprop", 286 "libhealthd_charger_nops", 287 "libhealthloop", 288 "libhealth2impl", 289 290 // system charger only 291 "libhealthd_draw", 292 "libhealthd_charger", 293 "libhealthd_charger_ui", 294 "libminui", 295 "libsuspend", 296 ], 297} 298 299cc_binary { 300 name: "charger", 301 defaults: ["charger_defaults"], 302 recovery_available: true, 303 srcs: [ 304 "charger.cpp", 305 "charger_utils.cpp", 306 ], 307 shared_libs: [ 308 "android.hardware.health@2.0", 309 "android.hardware.health@2.1", 310 ], 311 312 target: { 313 recovery: { 314 // No UI and libsuspend for recovery charger. 315 cflags: [ 316 "-DCHARGER_FORCE_NO_UI=1", 317 ], 318 exclude_shared_libs: [ 319 "libpng", 320 ], 321 exclude_static_libs: [ 322 "libhealthd_draw", 323 "libhealthd_charger", 324 "libhealthd_charger_ui", 325 "libminui", 326 "libsuspend", 327 ], 328 } 329 } 330} 331 332cc_test { 333 name: "charger_test", 334 defaults: ["charger_defaults"], 335 srcs: ["charger_test.cpp"], 336 static_libs: [ 337 "android.hardware.health@1.0", 338 "android.hardware.health@2.0", 339 "android.hardware.health@2.1", 340 ], 341} 342 343cc_test { 344 name: "libhealthd_charger_test", 345 defaults: ["charger_defaults"], 346 srcs: [ 347 "AnimationParser_test.cpp", 348 "healthd_mode_charger_test.cpp" 349 ], 350 static_libs: [ 351 "android.hardware.health@1.0", 352 "android.hardware.health@2.0", 353 "android.hardware.health@2.1", 354 "libgmock", 355 ], 356 test_suites: [ 357 "general-tests", 358 "device-tests", 359 ], 360 data: [ 361 ":libhealthd_charger_test_data", 362 ], 363 require_root: true, 364} 365 366// /system/etc/res/images/charger/battery_fail.png 367prebuilt_etc { 368 name: "system_core_charger_res_images_battery_fail.png", 369 src: "images/battery_fail.png", 370 relative_install_path: "res/images/charger", 371 filename: "battery_fail.png", 372} 373 374// /system/etc/res/images/charger/battery_scale.png 375prebuilt_etc { 376 name: "system_core_charger_res_images_battery_scale.png", 377 src: "images/battery_scale.png", 378 relative_install_path: "res/images/charger", 379 filename: "battery_scale.png", 380} 381 382phony { 383 name: "charger_res_images", 384 required: [ 385 "system_core_charger_res_images_battery_fail.png", 386 "system_core_charger_res_images_battery_scale.png", 387 ], 388} 389 390// /vendor/etc/res/images/default/charger/battery_fail.png 391prebuilt_etc { 392 name: "system_core_charger_res_images_battery_fail.png_default_vendor", 393 src: "images/battery_fail.png", 394 relative_install_path: "res/images/default/charger", 395 vendor: true, 396 filename: "battery_fail.png", 397} 398 399// /vendor/etc/res/images/default/charger/battery_scale.png 400prebuilt_etc { 401 name: "system_core_charger_res_images_battery_scale.png_default_vendor", 402 src: "images/battery_scale.png", 403 relative_install_path: "res/images/default/charger", 404 vendor: true, 405 filename: "battery_scale.png", 406} 407 408phony { 409 name: "charger_res_images_vendor", 410 required: [ 411 "system_core_charger_res_images_battery_fail.png_default_vendor", 412 "system_core_charger_res_images_battery_scale.png_default_vendor", 413 ], 414} 415