1# Copyright (c) 2021-2024 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 ] 60} 61 62ohos_source_set("libmmi-common") { 63 sources = libmmi_common_sources 64 public_configs = [ ":libmmi_client_config" ] 65 visibility = [ "${mmi_path}/*" ] 66 branch_protector_ret = "pac_ret" 67 external_deps = [ 68 "c_utils:utils", 69 "ffrt:libffrt", 70 "hilog:libhilog", 71 "init:libbegetutil", 72 ] 73 74 part_name = "input" 75 subsystem_name = "multimodalinput" 76} 77 78if (is_arkui_x) { 79 ohos_source_set("libmmi-client-crossplatform") { 80 sources = libmmi_common_sources 81 public_configs = [ ":libmmi_public_client_config" ] 82 include_dirs = [ 83 "${c_utils_root}/base/include", 84 "${mmi_path}/frameworks/proxy/events/include", 85 ] 86 87 if (target_os == "android") { 88 defines += [ "ANDROID_PLATFORM" ] 89 } else if (target_os == "ios") { 90 defines += [ "IOS_PLATFORM" ] 91 } 92 93 deps = [ "${hilog_root}/interfaces/native/innerkits:libhilog_${target_os}" ] 94 95 part_name = "input" 96 subsystem_name = "multimodalinput" 97 } 98} 99 100ohos_shared_library("libmmi-client") { 101 sources = libmmi_client_sources 102 version_script = "${mmi_path}/interfaces/native/innerkits/libmmi-client-map" 103 innerapi_tags = [ "platformsdk" ] 104 branch_protector_ret = "pac_ret" 105 106 sources += [ "event_handler/src/tablet_event_input_subscribe_manager.cpp" ] 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 "graphic_2d:2d_graphics", 151 "hilog:libhilog", 152 "image_framework:image_native", 153 "init:libbegetutil", 154 "ipc:ipc_single", 155 "qos_manager:qos", 156 "samgr:samgr_proxy", 157 ] 158 159 if (hitrace_enabled) { 160 external_deps += [ "hitrace:hitrace_meter" ] 161 } 162} 163 164ohos_unittest("ut-mmi-proxy-out") { 165 module_out_path = module_output_path 166 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 167 168 sources = [ "module_loader/test/mmi_client_test.cpp" ] 169 170 configs = [ 171 "${mmi_path}:coverage_flags", 172 ":libmmi_test_util", 173 ] 174 175 deps = [ 176 "${mmi_path}/frameworks/proxy:libmmi-client", 177 "${mmi_path}/util:libmmi-util", 178 ] 179 external_deps = [ 180 "c_utils:utils", 181 "eventhandler:libeventhandler", 182 "googletest:gmock_main", 183 "googletest:gtest_main", 184 "hilog:libhilog", 185 "ipc:ipc_single", 186 ] 187} 188 189ohos_unittest("KeyEventTest") { 190 module_out_path = module_output_path 191 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 192 193 cflags = [ 194 "-Dprivate=public", 195 "-Dprotected=public", 196 ] 197 198 sources = [ 199 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 200 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 201 "events/test/input_event_test.cpp", 202 "events/test/key_event_test.cpp", 203 ] 204 205 configs = [ 206 "${mmi_path}:coverage_flags", 207 ":libmmi_test_util", 208 ] 209 210 deps = [ 211 "${mmi_path}/frameworks/proxy:libmmi-client", 212 "${mmi_path}/util:libmmi-util", 213 ] 214 external_deps = [ 215 "ability_runtime:abilitykit_native", 216 "access_token:libaccesstoken_sdk", 217 "access_token:libnativetoken_shared", 218 "access_token:libtokensetproc_shared", 219 "c_utils:utils", 220 "eventhandler:libeventhandler", 221 "googletest:gmock_main", 222 "googletest:gtest_main", 223 "hilog:libhilog", 224 "ipc:ipc_single", 225 "window_manager:libwm", 226 "window_manager:libwsutils", 227 ] 228} 229 230ohos_unittest("InputHandlerManagerTest") { 231 module_out_path = module_output_path 232 233 include_dirs = [] 234 235 configs = [ 236 "${mmi_path}:coverage_flags", 237 ":libmmi_client_config", 238 "${mmi_path}/service:libmmi_server_config", 239 ] 240 241 cflags = [ 242 "-Dprivate=public", 243 "-Dprotected=public", 244 ] 245 246 sources = [ 247 "event_handler/src/anr_handler.cpp", 248 "event_handler/src/input_handler_manager.cpp", 249 "event_handler/test/input_handler_manager_test.cpp", 250 "event_handler/test/scene_board_judgement_test.cpp", 251 ] 252 253 deps = [ 254 "${mmi_path}/frameworks/proxy:libmmi-client", 255 "${mmi_path}/service:libmmi-server", 256 "${mmi_path}/service/connect_manager:mmi_connect_manager_proxy", 257 "${mmi_path}/util:libmmi-util", 258 ] 259 260 external_deps = [ 261 "call_manager:tel_call_manager_api", 262 "common_event_service:cesfwk_innerkits", 263 "config_policy:configpolicy_util", 264 "data_share:datashare_consumer", 265 "drivers_interface_display:libdisplay_composer_hdi_impl_1.2", 266 "drivers_interface_display:libdisplay_composer_proxy_1.0", 267 "eventhandler:libeventhandler", 268 "faultloggerd:libbacktrace_local", 269 "ffrt:libffrt", 270 "googletest:gtest_main", 271 "graphic_2d:2d_graphics", 272 "graphic_2d:libcomposer", 273 "graphic_2d:librender_service_client", 274 "graphic_2d:window_animation", 275 "hdf_core:libhdi", 276 "hicollie:libhicollie", 277 "hilog:libhilog", 278 "hisysevent:libhisysevent", 279 "image_framework:image_native", 280 "init:libbeget_proxy", 281 "init:libbegetutil", 282 "ipc:ipc_single", 283 "napi:ace_napi", 284 "preferences:native_preferences", 285 "safwk:system_ability_fwk", 286 "samgr:samgr_proxy", 287 "window_manager:libwm_lite", 288 "window_manager:libwsutils", 289 ] 290 291 if (hitrace_enabled) { 292 external_deps += [ "hitrace:hitrace_meter" ] 293 } 294} 295 296ohos_unittest("SwitchEventInputSubscribeManagerTest") { 297 module_out_path = module_output_path 298 include_dirs = [ 299 "$root_out_dir/diff_libinput_mmi/export_include", 300 "${mmi_path}/service/filter/include", 301 "${mmi_path}/service/nap_process/include", 302 "${mmi_path}/service/module_loader//include", 303 "${mmi_path}/service/connect_manager/include", 304 ] 305 306 sources = [ 307 "event_handler/src/switch_event_input_subscribe_manager.cpp", 308 "event_handler/test/switch_event_input_subscribe_manager_test.cpp", 309 ] 310 311 configs = [ 312 "${mmi_path}:coverage_flags", 313 ":libmmi_test_util", 314 ] 315 316 cflags = [ 317 "-Dprivate=public", 318 "-Dprotected=public", 319 ] 320 321 deps = [ 322 "${mmi_path}/frameworks/proxy:libmmi-client", 323 "${mmi_path}/util:libmmi-util", 324 ] 325 external_deps = [ 326 "ability_runtime:abilitykit_native", 327 "access_token:libaccesstoken_sdk", 328 "access_token:libnativetoken_shared", 329 "access_token:libtokensetproc_shared", 330 "c_utils:utils", 331 "eventhandler:libeventhandler", 332 "googletest:gmock_main", 333 "googletest:gtest_main", 334 "hilog:libhilog", 335 "init:libbegetutil", 336 "ipc:ipc_single", 337 "window_manager:libwm", 338 "window_manager:libwsutils", 339 ] 340} 341 342ohos_unittest("InputManagerImplTest") { 343 module_out_path = module_output_path 344 include_dirs = [ 345 "${mmi_path}/common/anco/comm/include", 346 "${mmi_path}/service/connect_manager/include", 347 "${mmi_path}/service/filter/include", 348 "${mmi_path}/service/module_loader/include", 349 "${mmi_path}/service/nap_process/include", 350 "${mmi_path}/frameworks/proxy/event_handler/include", 351 ] 352 353 sources = [ 354 "${mmi_path}/common/anco/comm/src/anco_channel.cpp", 355 "${mmi_path}/common/anco/comm/src/anco_channel_stub.cpp", 356 "${mmi_path}/frameworks/proxy/events/src/i_anco_consumer.cpp", 357 "${mmi_path}/service/connect_manager/src/input_binder_client_server.cpp", 358 "${mmi_path}/service/connect_manager/src/input_binder_client_stub.cpp", 359 "${mmi_path}/service/connect_manager/src/multimodal_input_connect_death_recipient.cpp", 360 "${mmi_path}/service/connect_manager/src/multimodal_input_connect_manager.cpp", 361 "${mmi_path}/service/filter/src/event_filter_service.cpp", 362 "${mmi_path}/service/filter/src/event_filter_stub.cpp", 363 "event_handler/src/anr_handler.cpp", 364 "event_handler/src/bytrace_adapter.cpp", 365 "event_handler/src/input_handler_manager.cpp", 366 "event_handler/src/input_manager_impl.cpp", 367 "event_handler/src/key_event_input_subscribe_manager.cpp", 368 "event_handler/src/long_press_event_subscribe_manager.cpp", 369 "event_handler/src/multimodal_event_handler.cpp", 370 "event_handler/src/pre_monitor_manager.cpp", 371 "event_handler/src/switch_event_input_subscribe_manager.cpp", 372 "event_handler/src/tablet_event_input_subscribe_manager.cpp", 373 "event_handler/test/input_manager_impl_test.cpp", 374 "event_handler/test/pre_monitor_manager_test.cpp", 375 ] 376 377 configs = [ 378 "${mmi_path}:coverage_flags", 379 ":libmmi_test_util", 380 ] 381 382 cflags = [ 383 "-Dprivate=public", 384 "-Dprotected=public", 385 ] 386 387 deps = [ 388 "${mmi_path}/service:libmmi-server", 389 "${mmi_path}/util:libmmi-util", 390 ] 391 392 external_deps = [ 393 "ability_runtime:abilitykit_native", 394 "c_utils:utils", 395 "eventhandler:libeventhandler", 396 "ffrt:libffrt", 397 "googletest:gmock_main", 398 "googletest:gtest_main", 399 "hilog:libhilog", 400 "init:libbegetutil", 401 "ipc:ipc_single", 402 "samgr:samgr_proxy", 403 "window_manager:libwm", 404 "window_manager:libwsutils", 405 ] 406 407 if (hitrace_enabled) { 408 external_deps += [ "hitrace:hitrace_meter" ] 409 } 410} 411 412ohos_unittest("InputManagerTest") { 413 module_out_path = module_output_path 414 include_dirs = [ 415 "${mmi_path}/frameworks/proxy/events/test", 416 "${mmi_path}/frameworks/proxy/event_handler/include", 417 "$root_out_dir/diff_libinput_mmi/export_include", 418 "${mmi_path}/service/filter/include", 419 ] 420 421 sources = [ 422 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 423 "${mmi_path}/test/unittest/common/src/system_info.cpp", 424 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 425 "events/src/input_manager_util.cpp", 426 "events/test/input_manager_simulate_test.cpp", 427 "events/test/input_manager_test.cpp", 428 "events/test/input_manager_update_display_info_test.cpp", 429 "events/test/virtual_input_device_test.cpp", 430 ] 431 432 configs = [ 433 "${mmi_path}:coverage_flags", 434 ":libmmi_test_util", 435 ] 436 437 deps = [ 438 "${mmi_path}/frameworks/proxy:libmmi-client", 439 "${mmi_path}/util:libmmi-util", 440 ] 441 external_deps = [ 442 "ability_runtime:abilitykit_native", 443 "access_token:libaccesstoken_sdk", 444 "access_token:libnativetoken_shared", 445 "access_token:libtokensetproc_shared", 446 "c_utils:utils", 447 "eventhandler:libeventhandler", 448 "googletest:gmock_main", 449 "googletest:gtest_main", 450 "hilog:libhilog", 451 "image_framework:image_native", 452 "init:libbegetutil", 453 "ipc:ipc_single", 454 "window_manager:libwm", 455 "window_manager:libwsutils", 456 ] 457} 458 459ohos_unittest("InputManagerInjectTest") { 460 module_out_path = module_output_path 461 include_dirs = [ 462 "${mmi_path}/frameworks/proxy/events/test", 463 "${mmi_path}/frameworks/proxy/event_handler/include", 464 "$root_out_dir/diff_libinput_mmi/export_include", 465 "${mmi_path}/service/filter/include", 466 ] 467 468 sources = [ 469 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 470 "${mmi_path}/test/unittest/common/src/system_info.cpp", 471 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 472 "events/src/input_manager_util.cpp", 473 "events/test/input_manager_inject_test.cpp", 474 ] 475 476 configs = [ 477 "${mmi_path}:coverage_flags", 478 ":libmmi_test_util", 479 ] 480 481 deps = [ 482 "${mmi_path}/frameworks/proxy:libmmi-client", 483 "${mmi_path}/util:libmmi-util", 484 ] 485 external_deps = [ 486 "ability_runtime:abilitykit_native", 487 "access_token:libaccesstoken_sdk", 488 "access_token:libnativetoken_shared", 489 "access_token:libtokensetproc_shared", 490 "c_utils:utils", 491 "eventhandler:libeventhandler", 492 "googletest:gmock_main", 493 "googletest:gtest_main", 494 "hilog:libhilog", 495 "image_framework:image_native", 496 "init:libbegetutil", 497 "ipc:ipc_single", 498 "window_manager:libwm", 499 "window_manager:libwsutils", 500 ] 501} 502 503ohos_unittest("InputManagerManualTest") { 504 module_out_path = module_output_path 505 506 sources = [ "events/test/input_manager_manual_test.cpp" ] 507 508 configs = [ 509 "${mmi_path}:coverage_flags", 510 ":libmmi_test_util", 511 ] 512 513 deps = [ 514 "${mmi_path}/frameworks/proxy:libmmi-client", 515 "${mmi_path}/util:libmmi-util", 516 ] 517 external_deps = [ 518 "access_token:libaccesstoken_sdk", 519 "access_token:libnativetoken_shared", 520 "access_token:libtokensetproc_shared", 521 "c_utils:utils", 522 "eventhandler:libeventhandler", 523 "googletest:gmock_main", 524 "googletest:gtest_main", 525 "hilog:libhilog", 526 "ipc:ipc_single", 527 ] 528} 529 530ohos_unittest("InputManagerFilterManualTest") { 531 module_out_path = module_output_path 532 533 sources = [ "events/test/input_manager_filter_manual_test.cpp" ] 534 535 configs = [ 536 "${mmi_path}:coverage_flags", 537 ":libmmi_test_util", 538 ] 539 540 deps = [ 541 "${mmi_path}/frameworks/proxy:libmmi-client", 542 "${mmi_path}/util:libmmi-util", 543 ] 544 external_deps = [ 545 "access_token:libaccesstoken_sdk", 546 "access_token:libnativetoken_shared", 547 "access_token:libtokensetproc_shared", 548 "c_utils:utils", 549 "eventhandler:libeventhandler", 550 "googletest:gmock_main", 551 "googletest:gtest_main", 552 "hilog:libhilog", 553 "ipc:ipc_single", 554 ] 555} 556 557ohos_unittest("PointerEventTest") { 558 module_out_path = module_output_path 559 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 560 561 sources = [ 562 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 563 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 564 "events/test/pointer_event_test.cpp", 565 ] 566 567 configs = [ 568 "${mmi_path}:coverage_flags", 569 ":libmmi_test_util", 570 ] 571 572 cflags = [ 573 "-Dprivate=public", 574 "-Dprotected=public", 575 ] 576 577 deps = [ 578 "${mmi_path}/frameworks/proxy:libmmi-client", 579 "${mmi_path}/util:libmmi-util", 580 ] 581 external_deps = [ 582 "ability_runtime:abilitykit_native", 583 "access_token:libaccesstoken_sdk", 584 "access_token:libnativetoken_shared", 585 "access_token:libtokensetproc_shared", 586 "c_utils:utils", 587 "eventhandler:libeventhandler", 588 "googletest:gmock_main", 589 "googletest:gtest_main", 590 "hilog:libhilog", 591 "image_framework:image_native", 592 "ipc:ipc_single", 593 "window_manager:libwm", 594 "window_manager:libwsutils", 595 ] 596} 597