blob: e158e07e4d5204507dd3ba710780d29fc7d1ebbe [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",
Chih-Hung Hsieh96352662017-11-29 14:24:50 -08007 cflags: ["-Wall", "-Werror"],
Yifan Hongffff9aa2017-06-01 14:34:29 -07008 vendor_available: true,
Yifan Hong90fdc722018-07-10 13:02:18 -07009 recovery_available: true,
Yifan Hongffff9aa2017-06-01 14:34:29 -070010 export_include_dirs: ["include"],
11 shared_libs: [
12 "libutils",
13 "libbase",
Yifan Hong1d4368b2019-10-07 11:18:04 -070014
Yifan Hongb99d15c2022-03-01 12:12:34 -080015 // Need HealthInfo definition from headers of these shared
16 // libraries. Clients don't need to link to these.
Yifan Hong1d4368b2019-10-07 11:18:04 -070017 "android.hardware.health@2.1",
Jack Wuf83e5a62023-01-10 14:50:52 +080018 ],
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"],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080077 srcs: ["BatteryMonitor.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080078 static_libs: [
David Andersond473bcf2023-11-17 20:33:25 -080079 "android.hardware.health-V3-ndk",
Yifan Hongb99d15c2022-03-01 12:12:34 -080080 ],
81 whole_static_libs: [
82 // Need to translate HIDL to AIDL to support legacy APIs in
83 // BatteryMonitor.
84 "android.hardware.health-translate-ndk",
Yifan Hongffff9aa2017-06-01 14:34:29 -070085 ],
Jack Wuf83e5a62023-01-10 14:50:52 +080086}
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"],
Jack Wu2ed5c9c2023-01-21 14:33:55 +080092 srcs: ["BatteryMonitor_v1.cpp"],
Jack Wuf83e5a62023-01-10 14:50:52 +080093 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 ],
Yifan Hongffff9aa2017-06-01 14:34:29 -0700101}
Yifan Hong2763df82017-09-19 17:57:50 -0700102
Tao Bao5747e222018-09-11 10:46:35 -0700103cc_library_static {
104 name: "libhealthd_charger_nops",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700105 recovery_available: true,
Tao Bao5747e222018-09-11 10:46:35 -0700106
107 srcs: [
108 "healthd_mode_charger_nops.cpp",
109 ],
110
111 cflags: [
112 "-Wall",
113 "-Werror",
114 ],
115
116 header_libs: [
117 "libhealthd_headers",
118 ],
119
120 static_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700121 "libhealthloop",
122 "libhealth2impl",
Tao Bao5747e222018-09-11 10:46:35 -0700123 ],
124
125 shared_libs: [
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700126 "android.hardware.health@2.1",
Tao Bao5747e222018-09-11 10:46:35 -0700127 "libutils",
128 ],
129}
Yifan Hong97eecdc2019-07-03 11:07:37 -0700130
131sysprop_library {
132 name: "charger_sysprop",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700133 recovery_available: true,
Yifan Hong97eecdc2019-07-03 11:07:37 -0700134 srcs: ["charger.sysprop"],
135 property_owner: "Platform",
136 api_packages: ["android.sysprop"],
137}
Yifan Hongdbaa4772019-07-03 11:40:08 -0700138
139cc_library_static {
140 name: "libhealthd_draw",
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700141 vendor_available: true,
Yifan Hongdbaa4772019-07-03 11:40:08 -0700142 export_include_dirs: ["."],
143 static_libs: [
144 "libcharger_sysprop",
145 "libminui",
146 ],
147 shared_libs: [
148 "libbase",
149 ],
150 header_libs: ["libbatteryservice_headers"],
151
152 srcs: ["healthd_draw.cpp"],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700153
154 target: {
155 vendor: {
156 exclude_static_libs: [
157 "libcharger_sysprop",
158 ],
159 },
160 },
Yifan Hongdbaa4772019-07-03 11:40:08 -0700161}
162
163cc_library_static {
Yifan Hongb5d70332021-10-20 17:15:32 -0700164 name: "libhealthd_charger_ui",
Jack Wuf83e5a62023-01-10 14:50:52 +0800165 defaults: ["libhealthd_charger_ui_defaults"],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700166
167 static_libs: [
David Andersond473bcf2023-11-17 20:33:25 -0800168 "android.hardware.health-V3-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700169 "android.hardware.health-translate-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700170 ],
171
172 export_static_lib_headers: [
David Andersond473bcf2023-11-17 20:33:25 -0800173 "android.hardware.health-V3-ndk",
Yifan Hongb5d70332021-10-20 17:15:32 -0700174 ],
Jack Wuf83e5a62023-01-10 14:50:52 +0800175}
Yifan Hongb5d70332021-10-20 17:15:32 -0700176
Jack Wuf83e5a62023-01-10 14:50:52 +0800177// TODO(b/251425963): remove when android.hardware.health is upgraded to V2.
178cc_library_static {
179 name: "libhealthd_charger_ui-V1",
180 defaults: ["libhealthd_charger_ui_defaults"],
181
182 static_libs: [
183 "android.hardware.health-V1-ndk",
184 "android.hardware.health-translate-V1-ndk",
Yifan Hongdbaa4772019-07-03 11:40:08 -0700185 ],
Yifan Honge3ffd1b2021-10-20 22:18:16 -0700186
Jack Wuf83e5a62023-01-10 14:50:52 +0800187 export_static_lib_headers: [
188 "android.hardware.health-V1-ndk",
189 ],
Yifan Hongdbaa4772019-07-03 11:40:08 -0700190}
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700191
Yifan Hongb5d70332021-10-20 17:15:32 -0700192cc_library_static {
193 name: "libhealthd_charger",
194 export_include_dirs: [
195 "include",
196 "include_charger",
197 ],
198
199 static_libs: [
200 "android.hardware.health@1.0-convert",
Yifan Hong8e551342021-10-26 22:51:29 -0700201 "libcharger_sysprop",
Yifan Hongb5d70332021-10-20 17:15:32 -0700202 "libhealth2impl",
203 "libhealthd_charger_ui",
204 ],
205
206 shared_libs: [
207 "android.hardware.health@2.1",
208 "libbase",
209 "libcutils",
210 "liblog",
211 "libutils",
212 ],
213
214 srcs: [
215 "healthd_mode_charger_hidl.cpp",
216 ],
217}
218
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700219cc_defaults {
220 name: "charger_defaults",
Yifan Hongb5d70332021-10-20 17:15:32 -0700221 local_include_dirs: [
222 "include_charger",
223 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700224
225 cflags: [
226 "-Wall",
227 "-Werror",
228 ],
229
230 shared_libs: [
231 // common
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700232 "libbase",
233 "libcutils",
234 "libhidlbase",
235 "liblog",
236 "libutils",
237
238 // system charger only
239 "libpng",
240 ],
241
242 static_libs: [
243 // common
244 "android.hardware.health@1.0-convert",
David Andersond473bcf2023-11-17 20:33:25 -0800245 "android.hardware.health-V3-ndk",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700246 "libbatterymonitor",
247 "libcharger_sysprop",
248 "libhealthd_charger_nops",
249 "libhealthloop",
250 "libhealth2impl",
251
252 // system charger only
253 "libhealthd_draw",
254 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700255 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700256 "libminui",
257 "libsuspend",
258 ],
259}
260
261cc_binary {
262 name: "charger",
263 defaults: ["charger_defaults"],
264 recovery_available: true,
265 srcs: [
266 "charger.cpp",
267 "charger_utils.cpp",
268 ],
Yifan Hong57718582021-12-13 14:01:14 -0800269 shared_libs: [
270 "android.hardware.health@2.0",
271 "android.hardware.health@2.1",
272 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700273
274 target: {
275 recovery: {
276 // No UI and libsuspend for recovery charger.
277 cflags: [
278 "-DCHARGER_FORCE_NO_UI=1",
279 ],
280 exclude_shared_libs: [
281 "libpng",
282 ],
283 exclude_static_libs: [
284 "libhealthd_draw",
285 "libhealthd_charger",
Yifan Hongb5d70332021-10-20 17:15:32 -0700286 "libhealthd_charger_ui",
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700287 "libminui",
288 "libsuspend",
289 ],
290 }
291 }
292}
293
294cc_test {
295 name: "charger_test",
296 defaults: ["charger_defaults"],
297 srcs: ["charger_test.cpp"],
Yifan Hong57718582021-12-13 14:01:14 -0800298 static_libs: [
299 "android.hardware.health@1.0",
300 "android.hardware.health@2.0",
301 "android.hardware.health@2.1",
302 ],
Yifan Hong7dcf7b02019-10-08 17:27:11 -0700303}
Yifan Hong12d15752020-08-05 16:25:33 -0700304
305cc_test {
306 name: "libhealthd_charger_test",
Yifan Hongc2bed972020-08-07 16:27:49 -0700307 defaults: ["charger_defaults"],
308 srcs: [
309 "AnimationParser_test.cpp",
310 "healthd_mode_charger_test.cpp"
Yifan Hong12d15752020-08-05 16:25:33 -0700311 ],
312 static_libs: [
Yifan Hong57718582021-12-13 14:01:14 -0800313 "android.hardware.health@1.0",
314 "android.hardware.health@2.0",
315 "android.hardware.health@2.1",
Yifan Hongc2bed972020-08-07 16:27:49 -0700316 "libgmock",
Yifan Hong12d15752020-08-05 16:25:33 -0700317 ],
Yifan Hong186b4d92020-08-05 16:30:43 -0700318 test_suites: [
319 "general-tests",
320 "device-tests",
321 ],
Yifan Hongc2bed972020-08-07 16:27:49 -0700322 data: [
323 ":libhealthd_charger_test_data",
324 ],
325 require_root: true,
Yifan Hong12d15752020-08-05 16:25:33 -0700326}
Yifan Hong5109c8c2020-08-05 18:24:25 -0700327
328// /system/etc/res/images/charger/battery_fail.png
329prebuilt_etc {
330 name: "system_core_charger_res_images_battery_fail.png",
331 src: "images/battery_fail.png",
332 relative_install_path: "res/images/charger",
333 filename: "battery_fail.png",
334}
335
336// /system/etc/res/images/charger/battery_scale.png
337prebuilt_etc {
338 name: "system_core_charger_res_images_battery_scale.png",
339 src: "images/battery_scale.png",
340 relative_install_path: "res/images/charger",
341 filename: "battery_scale.png",
342}
343
344phony {
345 name: "charger_res_images",
346 required: [
347 "system_core_charger_res_images_battery_fail.png",
348 "system_core_charger_res_images_battery_scale.png",
349 ],
350}
Yifan Hongac748362021-10-26 17:20:25 -0700351
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200352// /vendor/etc/res/images/default/charger/battery_fail.png
Yifan Hongac748362021-10-26 17:20:25 -0700353prebuilt_etc {
354 name: "system_core_charger_res_images_battery_fail.png_default_vendor",
355 src: "images/battery_fail.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200356 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700357 vendor: true,
358 filename: "battery_fail.png",
359}
360
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200361// /vendor/etc/res/images/default/charger/battery_scale.png
Yifan Hongac748362021-10-26 17:20:25 -0700362prebuilt_etc {
363 name: "system_core_charger_res_images_battery_scale.png_default_vendor",
364 src: "images/battery_scale.png",
Tim Zimmermannc4c2a072022-08-26 15:54:13 +0200365 relative_install_path: "res/images/default/charger",
Yifan Hongac748362021-10-26 17:20:25 -0700366 vendor: true,
367 filename: "battery_scale.png",
368}
369
370phony {
371 name: "charger_res_images_vendor",
372 required: [
373 "system_core_charger_res_images_battery_fail.png_default_vendor",
374 "system_core_charger_res_images_battery_scale.png_default_vendor",
375 ],
376}