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