1# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//build/test.gni") 16import("../../multimodalinput_mini.gni") 17 18defines = input_default_defines 19 20module_output_path = "multimodalinput/mmi_unit_out" 21 22config("libmmi_client_config") { 23 visibility = [ ":*" ] 24 25 include_dirs = [ 26 "${mmi_path}/interfaces/kits/c/input", 27 "${mmi_path}/interfaces/native/innerkits/common/include", 28 "${mmi_path}/util/common/include", 29 "${mmi_path}/interfaces/native/innerkits/event/include", 30 "event_handler/include", 31 "events/include", 32 "module_loader/include", 33 ] 34} 35 36config("libmmi_public_client_config") { 37 include_dirs = [ 38 "${mmi_path}/common/anco/comm/include", 39 "${mmi_path}/interfaces/native/innerkits", 40 "${mmi_path}/interfaces/native/innerkits/event/include", 41 "${mmi_path}/interfaces/native/innerkits/proxy/include", 42 "${mmi_path}/util/common/include", 43 ] 44 45 if (input_ext_feature_anco) { 46 include_dirs += [ "${mmi_ext_path}/anco_uds_manager/include" ] 47 } 48} 49 50config("libmmi_test_util") { 51 include_dirs = [ 52 "${mmi_path}/frameworks/proxy/event_handler/include", 53 "${mmi_path}/frameworks/proxy/module_loader/include", 54 "${mmi_path}/interfaces/native/innerkits/common/include", 55 "${mmi_path}/interfaces/native/innerkits/proxy/include", 56 "${mmi_path}/test/unittest/common/include", 57 "${mmi_path}/util/network/include", 58 "${mmi_path}/util/socket/include", 59 "//third_party/googletest/googletest/include", 60 ] 61} 62 63ohos_source_set("libmmi-common") { 64 sources = libmmi_common_sources 65 public_configs = [ ":libmmi_client_config" ] 66 visibility = [ "${mmi_path}/*" ] 67 branch_protector_ret = "pac_ret" 68 external_deps = [ 69 "c_utils:utils", 70 "ffrt:libffrt", 71 "hilog:libhilog", 72 "init:libbegetutil", 73 ] 74 75 part_name = "input" 76 subsystem_name = "multimodalinput" 77} 78 79if (is_arkui_x) { 80 ohos_source_set("libmmi-client-crossplatform") { 81 sources = libmmi_common_sources 82 public_configs = [ ":libmmi_public_client_config" ] 83 include_dirs = [ 84 "${c_utils_root}/base/include", 85 "${mmi_path}/frameworks/proxy/events/include", 86 ] 87 88 if (target_os == "android") { 89 defines += [ "ANDROID_PLATFORM" ] 90 } else if (target_os == "ios") { 91 defines += [ "IOS_PLATFORM" ] 92 } 93 94 deps = [ "${hilog_root}/interfaces/native/innerkits:libhilog_${target_os}" ] 95 96 part_name = "input" 97 subsystem_name = "multimodalinput" 98 } 99} 100 101ohos_shared_library("libmmi-client") { 102 sources = libmmi_client_sources 103 version_script = "${mmi_path}/interfaces/native/innerkits/libmmi-client-map" 104 innerapi_tags = [ "platformsdk" ] 105 branch_protector_ret = "pac_ret" 106 107 if (input_feature_interceptor) { 108 sources += [ "event_handler/src/input_interceptor_manager.cpp" ] 109 } 110 111 if (input_feature_monitor) { 112 sources += [ "event_handler/src/input_monitor_manager.cpp" ] 113 } 114 115 if (input_feature_keyboard) { 116 sources += [ "event_handler/src/key_event_input_subscribe_manager.cpp" ] 117 } 118 119 if (input_feature_switch) { 120 sources += [ "event_handler/src/switch_event_input_subscribe_manager.cpp" ] 121 } 122 123 configs = [ 124 "${mmi_path}:coverage_flags", 125 ":libmmi_client_config", 126 "${mmi_path}/util:libmmi_util_public_config", 127 "${mmi_path}/service/filter:mmi_event_filter_config", 128 "${mmi_path}/service/connect_manager:mmi_connect_manager_config", 129 ] 130 131 public_configs = [ ":libmmi_public_client_config" ] 132 133 deps = [ 134 ":libmmi-common", 135 "${mmi_path}/service/connect_manager:mmi_connect_manager_proxy", 136 "${mmi_path}/service/filter:mmi_event_filter_service", 137 "${mmi_path}/util:libmmi-util", 138 ] 139 140 if (input_ext_feature_anco) { 141 deps += [ "${mmi_path}/common/anco/comm:mmi_anco_channel_stub" ] 142 } 143 144 part_name = "input" 145 subsystem_name = "multimodalinput" 146 external_deps = [ 147 "c_utils:utils", 148 "eventhandler:libeventhandler", 149 "ffrt:libffrt", 150 "hicollie:libhicollie", 151 "hilog:libhilog", 152 "hitrace:hitrace_meter", 153 "image_framework:image_native", 154 "init:libbegetutil", 155 "ipc:ipc_single", 156 "qos_manager:qos", 157 ] 158} 159 160ohos_unittest("ut-mmi-proxy-out") { 161 module_out_path = module_output_path 162 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 163 164 sources = [ "module_loader/test/mmi_client_test.cpp" ] 165 166 configs = [ 167 "${mmi_path}:coverage_flags", 168 ":libmmi_test_util", 169 ] 170 171 deps = [ 172 "${mmi_path}/frameworks/proxy:libmmi-client", 173 "${mmi_path}/util:libmmi-util", 174 "//third_party/googletest:gmock_main", 175 "//third_party/googletest:gtest_main", 176 ] 177 external_deps = [ 178 "c_utils:utils", 179 "eventhandler:libeventhandler", 180 "hilog:libhilog", 181 "ipc:ipc_single", 182 ] 183} 184 185ohos_unittest("KeyEventTest") { 186 module_out_path = module_output_path 187 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 188 189 sources = [ 190 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 191 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 192 "events/test/key_event_test.cpp", 193 ] 194 195 configs = [ 196 "${mmi_path}:coverage_flags", 197 ":libmmi_test_util", 198 ] 199 200 deps = [ 201 "${mmi_path}/frameworks/proxy:libmmi-client", 202 "${mmi_path}/util:libmmi-util", 203 "//third_party/googletest:gmock_main", 204 "//third_party/googletest:gtest_main", 205 ] 206 external_deps = [ 207 "ability_runtime:abilitykit_native", 208 "access_token:libaccesstoken_sdk", 209 "access_token:libnativetoken_shared", 210 "access_token:libtokensetproc_shared", 211 "c_utils:utils", 212 "hilog:libhilog", 213 "ipc:ipc_single", 214 "window_manager:libwm", 215 "window_manager:libwsutils", 216 ] 217} 218 219ohos_unittest("InputHandlerManagerTest") { 220 module_out_path = module_output_path 221 222 include_dirs = [] 223 224 configs = [ 225 "${mmi_path}:coverage_flags", 226 ":libmmi_client_config", 227 "${mmi_path}/service:libmmi_server_config", 228 ] 229 230 cflags = [ 231 "-Dprivate=public", 232 "-Dprotected=public", 233 ] 234 235 sources = [ 236 "event_handler/src/anr_handler.cpp", 237 "event_handler/src/input_handler_manager.cpp", 238 "event_handler/test/input_handler_manager_test.cpp", 239 "event_handler/test/scene_board_judgement_test.cpp", 240 ] 241 242 deps = [ 243 "${mmi_path}/frameworks/proxy:libmmi-client", 244 "${mmi_path}/service:libmmi-server", 245 "${mmi_path}/service/connect_manager:mmi_connect_manager_proxy", 246 "${mmi_path}/util:libmmi-util", 247 ] 248 249 external_deps = [ 250 "call_manager:tel_call_manager_api", 251 "common_event_service:cesfwk_innerkits", 252 "config_policy:configpolicy_util", 253 "data_share:datashare_consumer", 254 "drivers_interface_display:libdisplay_composer_hdi_impl_1.2", 255 "drivers_interface_display:libdisplay_composer_proxy_1.0", 256 "faultloggerd:libbacktrace_local", 257 "ffrt:libffrt", 258 "graphic_2d:2d_graphics", 259 "graphic_2d:libcomposer", 260 "graphic_2d:librender_service_client", 261 "graphic_2d:window_animation", 262 "hdf_core:libhdi", 263 "hicollie:libhicollie", 264 "hilog:libhilog", 265 "hisysevent:libhisysevent", 266 "hitrace:hitrace_meter", 267 "image_framework:image_native", 268 "init:libbeget_proxy", 269 "init:libbegetutil", 270 "ipc:ipc_single", 271 "napi:ace_napi", 272 "preferences:native_preferences", 273 "safwk:system_ability_fwk", 274 "window_manager:libwm_lite", 275 "window_manager:libwsutils", 276 ] 277} 278 279ohos_unittest("SwitchEventInputSubscribeManagerTest") { 280 module_out_path = module_output_path 281 include_dirs = [ 282 "$root_out_dir/diff_libinput_mmi/export_include", 283 "${mmi_path}/service/filter/include", 284 "${mmi_path}/service/nap_process/include", 285 "${mmi_path}/service/module_loader//include", 286 "${mmi_path}/service/connect_manager/include", 287 ] 288 289 sources = [ 290 "event_handler/src/switch_event_input_subscribe_manager.cpp", 291 "event_handler/test/switch_event_input_subscribe_manager_test.cpp", 292 ] 293 294 configs = [ 295 "${mmi_path}:coverage_flags", 296 ":libmmi_test_util", 297 ] 298 299 cflags = [ 300 "-Dprivate=public", 301 "-Dprotected=public", 302 ] 303 304 deps = [ 305 "${mmi_path}/frameworks/proxy:libmmi-client", 306 "${mmi_path}/util:libmmi-util", 307 "//third_party/googletest:gmock_main", 308 "//third_party/googletest:gtest_main", 309 ] 310 external_deps = [ 311 "ability_runtime:abilitykit_native", 312 "access_token:libaccesstoken_sdk", 313 "access_token:libnativetoken_shared", 314 "access_token:libtokensetproc_shared", 315 "c_utils:utils", 316 "eventhandler:libeventhandler", 317 "hilog:libhilog", 318 "init:libbegetutil", 319 "ipc:ipc_single", 320 "window_manager:libwm", 321 "window_manager:libwsutils", 322 ] 323} 324 325ohos_unittest("InputManagerImplTest") { 326 module_out_path = module_output_path 327 include_dirs = [ 328 "${mmi_path}/service/connect_manager/include", 329 "${mmi_path}/service/filter/include", 330 "${mmi_path}/service/module_loader/include", 331 "${mmi_path}/service/nap_process/include", 332 ] 333 334 if (input_ext_feature_anco) { 335 include_dirs += [ "${mmi_path}/common/anco/comm/include" ] 336 } 337 338 sources = [ 339 "${mmi_path}/service/connect_manager/src/input_binder_client_server.cpp", 340 "${mmi_path}/service/connect_manager/src/input_binder_client_stub.cpp", 341 "${mmi_path}/service/connect_manager/src/multimodal_input_connect_death_recipient.cpp", 342 "${mmi_path}/service/connect_manager/src/multimodal_input_connect_manager.cpp", 343 "${mmi_path}/service/filter/src/event_filter_service.cpp", 344 "${mmi_path}/service/filter/src/event_filter_stub.cpp", 345 "event_handler/src/anr_handler.cpp", 346 "event_handler/src/bytrace_adapter.cpp", 347 "event_handler/src/input_handler_manager.cpp", 348 "event_handler/src/input_manager_impl.cpp", 349 "event_handler/src/key_event_input_subscribe_manager.cpp", 350 "event_handler/src/multimodal_event_handler.cpp", 351 "event_handler/src/pre_monitor_manager.cpp", 352 "event_handler/src/switch_event_input_subscribe_manager.cpp", 353 "event_handler/test/input_manager_impl_test.cpp", 354 "event_handler/test/pre_monitor_manager_test.cpp", 355 ] 356 357 if (input_ext_feature_anco) { 358 sources += [ "${mmi_ext_path}/anco_uds_manager/src/input_manager_ext.cpp" ] 359 } 360 361 configs = [ 362 "${mmi_path}:coverage_flags", 363 ":libmmi_test_util", 364 ] 365 366 cflags = [ 367 "-Dprivate=public", 368 "-Dprotected=public", 369 ] 370 371 deps = [ 372 "${mmi_path}/service:libmmi-server", 373 "${mmi_path}/util:libmmi-util", 374 ] 375 376 external_deps = [ 377 "ability_runtime:abilitykit_native", 378 "c_utils:utils", 379 "eventhandler:libeventhandler", 380 "ffrt:libffrt", 381 "hilog:libhilog", 382 "hitrace:hitrace_meter", 383 "init:libbegetutil", 384 "ipc:ipc_single", 385 "samgr:samgr_proxy", 386 "window_manager:libwm", 387 "window_manager:libwsutils", 388 ] 389} 390 391ohos_unittest("InputManagerTest") { 392 module_out_path = module_output_path 393 include_dirs = [ 394 "${mmi_path}/frameworks/proxy/events/test", 395 "${mmi_path}/frameworks/proxy/event_handler/include", 396 "$root_out_dir/diff_libinput_mmi/export_include", 397 "${mmi_path}/service/filter/include", 398 ] 399 400 sources = [ 401 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 402 "${mmi_path}/test/unittest/common/src/system_info.cpp", 403 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 404 "events/src/input_manager_util.cpp", 405 "events/test/input_manager_simulate_test.cpp", 406 "events/test/input_manager_test.cpp", 407 "events/test/input_manager_update_display_info_test.cpp", 408 "events/test/virtual_input_device_test.cpp", 409 ] 410 411 configs = [ 412 "${mmi_path}:coverage_flags", 413 ":libmmi_test_util", 414 ] 415 416 deps = [ 417 "${mmi_path}/frameworks/proxy:libmmi-client", 418 "${mmi_path}/util:libmmi-util", 419 "//third_party/googletest:gmock_main", 420 "//third_party/googletest:gtest_main", 421 ] 422 external_deps = [ 423 "ability_runtime:abilitykit_native", 424 "access_token:libaccesstoken_sdk", 425 "access_token:libnativetoken_shared", 426 "access_token:libtokensetproc_shared", 427 "c_utils:utils", 428 "eventhandler:libeventhandler", 429 "hilog:libhilog", 430 "image_framework:image_native", 431 "init:libbegetutil", 432 "ipc:ipc_single", 433 "window_manager:libwm", 434 "window_manager:libwsutils", 435 ] 436} 437 438ohos_unittest("InputManagerInjectTest") { 439 module_out_path = module_output_path 440 include_dirs = [ 441 "${mmi_path}/frameworks/proxy/events/test", 442 "${mmi_path}/frameworks/proxy/event_handler/include", 443 "$root_out_dir/diff_libinput_mmi/export_include", 444 "${mmi_path}/service/filter/include", 445 ] 446 447 sources = [ 448 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 449 "${mmi_path}/test/unittest/common/src/system_info.cpp", 450 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 451 "events/src/input_manager_util.cpp", 452 "events/test/input_manager_inject_test.cpp", 453 ] 454 455 configs = [ 456 "${mmi_path}:coverage_flags", 457 ":libmmi_test_util", 458 ] 459 460 deps = [ 461 "${mmi_path}/frameworks/proxy:libmmi-client", 462 "${mmi_path}/util:libmmi-util", 463 "//third_party/googletest:gmock_main", 464 "//third_party/googletest:gtest_main", 465 ] 466 external_deps = [ 467 "ability_runtime:abilitykit_native", 468 "access_token:libaccesstoken_sdk", 469 "access_token:libnativetoken_shared", 470 "access_token:libtokensetproc_shared", 471 "c_utils:utils", 472 "eventhandler:libeventhandler", 473 "hilog:libhilog", 474 "image_framework:image_native", 475 "init:libbegetutil", 476 "ipc:ipc_single", 477 "window_manager:libwm", 478 "window_manager:libwsutils", 479 ] 480} 481 482ohos_unittest("InputManagerManualTest") { 483 module_out_path = module_output_path 484 485 sources = [ "events/test/input_manager_manual_test.cpp" ] 486 487 configs = [ 488 "${mmi_path}:coverage_flags", 489 ":libmmi_test_util", 490 ] 491 492 deps = [ 493 "${mmi_path}/frameworks/proxy:libmmi-client", 494 "${mmi_path}/util:libmmi-util", 495 "//third_party/googletest:gmock_main", 496 "//third_party/googletest:gtest_main", 497 ] 498 external_deps = [ 499 "access_token:libaccesstoken_sdk", 500 "access_token:libnativetoken_shared", 501 "access_token:libtokensetproc_shared", 502 "c_utils:utils", 503 "hilog:libhilog", 504 "ipc:ipc_single", 505 ] 506} 507 508ohos_unittest("InputManagerFilterManualTest") { 509 module_out_path = module_output_path 510 511 sources = [ "events/test/input_manager_filter_manual_test.cpp" ] 512 513 configs = [ 514 "${mmi_path}:coverage_flags", 515 ":libmmi_test_util", 516 ] 517 518 deps = [ 519 "${mmi_path}/frameworks/proxy:libmmi-client", 520 "${mmi_path}/util:libmmi-util", 521 "//third_party/googletest:gmock_main", 522 "//third_party/googletest:gtest_main", 523 ] 524 external_deps = [ 525 "access_token:libaccesstoken_sdk", 526 "access_token:libnativetoken_shared", 527 "access_token:libtokensetproc_shared", 528 "c_utils:utils", 529 "hilog:libhilog", 530 "ipc:ipc_single", 531 ] 532} 533 534ohos_unittest("PointerEventTest") { 535 module_out_path = module_output_path 536 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 537 538 sources = [ 539 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 540 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 541 "events/test/pointer_event_test.cpp", 542 ] 543 544 configs = [ 545 "${mmi_path}:coverage_flags", 546 ":libmmi_test_util", 547 ] 548 549 cflags = [ 550 "-Dprivate=public", 551 "-Dprotected=public", 552 ] 553 554 deps = [ 555 "${mmi_path}/frameworks/proxy:libmmi-client", 556 "${mmi_path}/util:libmmi-util", 557 "//third_party/googletest:gmock_main", 558 "//third_party/googletest:gtest_main", 559 ] 560 external_deps = [ 561 "ability_runtime:abilitykit_native", 562 "access_token:libaccesstoken_sdk", 563 "access_token:libnativetoken_shared", 564 "access_token:libtokensetproc_shared", 565 "c_utils:utils", 566 "eventhandler:libeventhandler", 567 "hilog:libhilog", 568 "image_framework:image_native", 569 "ipc:ipc_single", 570 "window_manager:libwm", 571 "window_manager:libwsutils", 572 ] 573} 574