blob: 7eb6edde1ec2b71171d9b1055166c7589035fde6 [file] [log] [blame]
Bob Badourd69ad692021-02-16 19:02:14 -08001package {
2 default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
Jack Wuf83e5a62023-01-10 14:50:52 +08005cc_defaults {
6 name: "libbatterymonitor_defaults",
Daniel Zheng267207a2024-11-12 14:26:46 -08007 cflags: [
8 "-Wall",
9 "-Werror",
10 ],
Yifan Hongffff9aa2017-06-01 14:34:29 -070011 vendor_available: true,
Yifan Hong90fdc722018-07-10 13:02:18 -070012 recovery_available: true,
Yifan Hongffff9aa2017-06-01 14:34:29 -070013 export_include_dirs: ["include"],
14 shared_libs: [
15 "libutils",
16 "libbase",
Yifan Hong1d4368b2019-10-07 11:18:04 -070017
Yifan Hongb99d15c2022-03-01 12:12:34 -080018 // Need HealthInfo definition from headers of these shared
19 // libraries. Clients don't need to link to these.
Yifan Hong1d4368b2019-10-07 11:18:04 -070020 "android.hardware.health@2.1",
Jack Wuf83e5a62023-01-10 14:50:52 +080021 ],
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"],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080080 srcs: ["BatteryMonitor.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080081 static_libs: [
Daniel Zheng267207a2024-11-12 14:26:46 -080082 "android.hardware.health-V4-ndk",
Yifan Hongb99d15c2022-03-01 12:12:34 -080083 ],
84 whole_static_libs: [
85 // Need to translate HIDL to AIDL to support legacy APIs in
86 // BatteryMonitor.
87 "android.hardware.health-translate-ndk",
Yifan Hongffff9aa2017-06-01 14:34:29 -070088 ],
Jack Wuf83e5a62023-01-10 14:50:52 +080089}
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"],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080095 srcs: ["BatteryMonitor_v1.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080096 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 ],
Yifan Hongffff9aa2017-06-01 14:34:29 -0700104}
Yifan Hong2763df82017-09-19 17:57:50 -0700105
Tao Bao5747e222018-09-11 10:46:35 -0700106cc_library_static {
107 name: "libhealthd_charger_nops",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700108 recovery_available: true,
Tao Bao5747e222018-09-11 10:46:35 -0700109
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: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700124 "libhealthloop",
125 "libhealth2impl",
Tao Bao5747e222018-09-11 10:46:35 -0700126 ],
127
128 shared_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700129 "android.hardware.health@2.1",
Tao Bao5747e222018-09-11 10:46:35 -0700130 "libutils",
131 ],
132}
Yifan Hong97eecdc2019-07-03 11:07:37 -0700133
134sysprop_library {
135 name: "charger_sysprop",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700136 recovery_available: true,
Yifan Hong97eecdc2019-07-03 11:07:37 -0700137 srcs: ["charger.sysprop"],
138 property_owner: "Platform",
139 api_packages: ["android.sysprop"],
140}
Yifan Hongdbaa4772019-07-03 11:40:08 -0700141
142cc_library_static {
143 name: "libhealthd_draw",
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700144 vendor_available: true,
Yifan Hongdbaa4772019-07-03 11:40:08 -0700145 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"],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700156
157 target: {
158 vendor: {
159 exclude_static_libs: [
160 "libcharger_sysprop",
161 ],
162 },
163 },
Yifan Hongdbaa4772019-07-03 11:40:08 -0700164}
165
166cc_library_static {
Yifan Hongb5d70332021-10-20 17:15:32 -0700167 name: "libhealthd_charger_ui",
Jack Wuf83e5a62023-01-10 14:50:52 +0800168 defaults: ["libhealthd_charger_ui_defaults"],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700169
170 static_libs: [
Daniel Zheng267207a2024-11-12 14:26:46 -0800171 "android.hardware.health-V4-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700172 "android.hardware.health-translate-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700173 ],
174
175 export_static_lib_headers: [
Daniel Zheng267207a2024-11-12 14:26:46 -0800176 "android.hardware.health-V4-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700177 ],
Jack Wuf83e5a62023-01-10 14:50:52 +0800178}
Yifan Hongb5d70332021-10-20 17:15:32 -0700179
Jack Wuf83e5a62023-01-10 14:50:52 +0800180// 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",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700188 ],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700189
Jack Wuf83e5a62023-01-10 14:50:52 +0800190 export_static_lib_headers: [
191 "android.hardware.health-V1-ndk",
192 ],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700193}
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700194
Yifan Hongb5d70332021-10-20 17:15:32 -0700195cc_library_static {
196 name: "libhealthd_charger",
197 export_include_dirs: [
198 "include",
199 "include_charger",
200 ],
201
202 static_libs: [
203 "android.hardware.health@1.0-convert",
Yifan Hong8e551342021-10-26 22:51:29 -0700204 "libcharger_sysprop",
Yifan Hongb5d70332021-10-20 17:15:32 -0700205 "libhealth2impl",
206 "libhealthd_charger_ui",
207 ],
208
209 shared_libs: [
210 "android.hardware.health@2.1",
211 "libbase",
212 "libcutils",
213 "liblog",
214 "libutils",
215 ],
216
217 srcs: [
218 "healthd_mode_charger_hidl.cpp",
219 ],
220}
221
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700222cc_defaults {
223 name: "charger_defaults",
Yifan Hongb5d70332021-10-20 17:15:32 -0700224 local_include_dirs: [
225 "include_charger",
226 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700227
228 cflags: [
229 "-Wall",
230 "-Werror",
231 ],
232
233 shared_libs: [
234 // common
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700235 "libbase",
236 "libcutils",
237 "libhidlbase",
238 "liblog",
239 "libutils",
240
241 // system charger only
242 "libpng",
243 ],
244
245 static_libs: [
246 // common
247 "android.hardware.health@1.0-convert",
Daniel Zheng267207a2024-11-12 14:26:46 -0800248 "android.hardware.health-V4-ndk",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700249 "libbatterymonitor",
250 "libcharger_sysprop",
251 "libhealthd_charger_nops",
252 "libhealthloop",
253 "libhealth2impl",
254
255 // system charger only
256 "libhealthd_draw",
257 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700258 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700259 "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 ],
Yifan Hong57718582021-12-13 14:01:14 -0800272 shared_libs: [
273 "android.hardware.health@2.0",
274 "android.hardware.health@2.1",
275 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700276
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",
Yifan Hongb5d70332021-10-20 17:15:32 -0700289 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700290 "libminui",
291 "libsuspend",
292 ],
Daniel Zheng267207a2024-11-12 14:26:46 -0800293 },
294 },
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700295}
296
297cc_test {
298 name: "charger_test",
299 defaults: ["charger_defaults"],
300 srcs: ["charger_test.cpp"],
Yifan Hong57718582021-12-13 14:01:14 -0800301 static_libs: [
302 "android.hardware.health@1.0",
303 "android.hardware.health@2.0",
304 "android.hardware.health@2.1",
305 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700306}
Yifan Hong12d15752020-08-05 16:25:33 -0700307
308cc_test {
309 name: "libhealthd_charger_test",
Yifan Hongc2bed972020-08-07 16:27:49 -0700310 defaults: ["charger_defaults"],
311 srcs: [
312 "AnimationParser_test.cpp",
Daniel Zheng267207a2024-11-12 14:26:46 -0800313 "healthd_mode_charger_test.cpp",
Yifan Hong12d15752020-08-05 16:25:33 -0700314 ],
315 static_libs: [
Yifan Hong57718582021-12-13 14:01:14 -0800316 "android.hardware.health@1.0",
317 "android.hardware.health@2.0",
318 "android.hardware.health@2.1",
Yifan Hongc2bed972020-08-07 16:27:49 -0700319 "libgmock",
Yifan Hong12d15752020-08-05 16:25:33 -0700320 ],
Yifan Hong186b4d92020-08-05 16:30:43 -0700321 test_suites: [
322 "general-tests",
323 "device-tests",
324 ],
Yifan Hongc2bed972020-08-07 16:27:49 -0700325 data: [
326 ":libhealthd_charger_test_data",
327 ],
328 require_root: true,
Yifan Hong12d15752020-08-05 16:25:33 -0700329}
Yifan Hong5109c8c2020-08-05 18:24:25 -0700330
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}
Yifan Hongac748362021-10-26 17:20:25 -0700354
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200355// /vendor/etc/res/images/default/charger/battery_fail.png
Yifan Hongac748362021-10-26 17:20:25 -0700356prebuilt_etc {
357 name: "system_core_charger_res_images_battery_fail.png_default_vendor",
358 src: "images/battery_fail.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200359 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700360 vendor: true,
361 filename: "battery_fail.png",
362}
363
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200364// /vendor/etc/res/images/default/charger/battery_scale.png
Yifan Hongac748362021-10-26 17:20:25 -0700365prebuilt_etc {
366 name: "system_core_charger_res_images_battery_scale.png_default_vendor",
367 src: "images/battery_scale.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200368 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700369 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}