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/switch_event_input_subscribe_manager.cpp", 352 "event_handler/test/input_manager_impl_test.cpp", 353 ] 354 355 if (input_ext_feature_anco) { 356 sources += [ "${mmi_ext_path}/anco_uds_manager/src/input_manager_ext.cpp" ] 357 } 358 359 configs = [ 360 "${mmi_path}:coverage_flags", 361 ":libmmi_test_util", 362 ] 363 364 cflags = [ 365 "-Dprivate=public", 366 "-Dprotected=public", 367 ] 368 369 deps = [ 370 "${mmi_path}/service:libmmi-server", 371 "${mmi_path}/util:libmmi-util", 372 ] 373 374 external_deps = [ 375 "ability_runtime:abilitykit_native", 376 "c_utils:utils", 377 "eventhandler:libeventhandler", 378 "ffrt:libffrt", 379 "hilog:libhilog", 380 "hitrace:hitrace_meter", 381 "init:libbegetutil", 382 "ipc:ipc_single", 383 "samgr:samgr_proxy", 384 "window_manager:libwm", 385 "window_manager:libwsutils", 386 ] 387} 388 389ohos_unittest("InputManagerTest") { 390 module_out_path = module_output_path 391 include_dirs = [ 392 "${mmi_path}/frameworks/proxy/events/test", 393 "${mmi_path}/frameworks/proxy/event_handler/include", 394 "$root_out_dir/diff_libinput_mmi/export_include", 395 "${mmi_path}/service/filter/include", 396 ] 397 398 sources = [ 399 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 400 "${mmi_path}/test/unittest/common/src/system_info.cpp", 401 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 402 "events/src/input_manager_util.cpp", 403 "events/test/input_manager_simulate_test.cpp", 404 "events/test/input_manager_test.cpp", 405 "events/test/input_manager_update_display_info_test.cpp", 406 "events/test/virtual_input_device_test.cpp", 407 ] 408 409 configs = [ 410 "${mmi_path}:coverage_flags", 411 ":libmmi_test_util", 412 ] 413 414 deps = [ 415 "${mmi_path}/frameworks/proxy:libmmi-client", 416 "${mmi_path}/util:libmmi-util", 417 "//third_party/googletest:gmock_main", 418 "//third_party/googletest:gtest_main", 419 ] 420 external_deps = [ 421 "ability_runtime:abilitykit_native", 422 "access_token:libaccesstoken_sdk", 423 "access_token:libnativetoken_shared", 424 "access_token:libtokensetproc_shared", 425 "c_utils:utils", 426 "eventhandler:libeventhandler", 427 "hilog:libhilog", 428 "image_framework:image_native", 429 "init:libbegetutil", 430 "ipc:ipc_single", 431 "window_manager:libwm", 432 "window_manager:libwsutils", 433 ] 434} 435 436ohos_unittest("InputManagerInjectTest") { 437 module_out_path = module_output_path 438 include_dirs = [ 439 "${mmi_path}/frameworks/proxy/events/test", 440 "${mmi_path}/frameworks/proxy/event_handler/include", 441 "$root_out_dir/diff_libinput_mmi/export_include", 442 "${mmi_path}/service/filter/include", 443 ] 444 445 sources = [ 446 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 447 "${mmi_path}/test/unittest/common/src/system_info.cpp", 448 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 449 "events/src/input_manager_util.cpp", 450 "events/test/input_manager_inject_test.cpp", 451 ] 452 453 configs = [ 454 "${mmi_path}:coverage_flags", 455 ":libmmi_test_util", 456 ] 457 458 deps = [ 459 "${mmi_path}/frameworks/proxy:libmmi-client", 460 "${mmi_path}/util:libmmi-util", 461 "//third_party/googletest:gmock_main", 462 "//third_party/googletest:gtest_main", 463 ] 464 external_deps = [ 465 "ability_runtime:abilitykit_native", 466 "access_token:libaccesstoken_sdk", 467 "access_token:libnativetoken_shared", 468 "access_token:libtokensetproc_shared", 469 "c_utils:utils", 470 "eventhandler:libeventhandler", 471 "hilog:libhilog", 472 "image_framework:image_native", 473 "init:libbegetutil", 474 "ipc:ipc_single", 475 "window_manager:libwm", 476 "window_manager:libwsutils", 477 ] 478} 479 480ohos_unittest("InputManagerManualTest") { 481 module_out_path = module_output_path 482 483 sources = [ "events/test/input_manager_manual_test.cpp" ] 484 485 configs = [ 486 "${mmi_path}:coverage_flags", 487 ":libmmi_test_util", 488 ] 489 490 deps = [ 491 "${mmi_path}/frameworks/proxy:libmmi-client", 492 "${mmi_path}/util:libmmi-util", 493 "//third_party/googletest:gmock_main", 494 "//third_party/googletest:gtest_main", 495 ] 496 external_deps = [ 497 "access_token:libaccesstoken_sdk", 498 "access_token:libnativetoken_shared", 499 "access_token:libtokensetproc_shared", 500 "c_utils:utils", 501 "hilog:libhilog", 502 "ipc:ipc_single", 503 ] 504} 505 506ohos_unittest("InputManagerFilterManualTest") { 507 module_out_path = module_output_path 508 509 sources = [ "events/test/input_manager_filter_manual_test.cpp" ] 510 511 configs = [ 512 "${mmi_path}:coverage_flags", 513 ":libmmi_test_util", 514 ] 515 516 deps = [ 517 "${mmi_path}/frameworks/proxy:libmmi-client", 518 "${mmi_path}/util:libmmi-util", 519 "//third_party/googletest:gmock_main", 520 "//third_party/googletest:gtest_main", 521 ] 522 external_deps = [ 523 "access_token:libaccesstoken_sdk", 524 "access_token:libnativetoken_shared", 525 "access_token:libtokensetproc_shared", 526 "c_utils:utils", 527 "hilog:libhilog", 528 "ipc:ipc_single", 529 ] 530} 531 532ohos_unittest("PointerEventTest") { 533 module_out_path = module_output_path 534 include_dirs = [ "$root_out_dir/diff_libinput_mmi/export_include" ] 535 536 sources = [ 537 "${mmi_path}/test/unittest/common/src/event_util_test.cpp", 538 "${mmi_path}/test/unittest/common/src/window_utils_test.cpp", 539 "events/test/pointer_event_test.cpp", 540 ] 541 542 configs = [ 543 "${mmi_path}:coverage_flags", 544 ":libmmi_test_util", 545 ] 546 547 cflags = [ 548 "-Dprivate=public", 549 "-Dprotected=public", 550 ] 551 552 deps = [ 553 "${mmi_path}/frameworks/proxy:libmmi-client", 554 "${mmi_path}/util:libmmi-util", 555 "//third_party/googletest:gmock_main", 556 "//third_party/googletest:gtest_main", 557 ] 558 external_deps = [ 559 "ability_runtime:abilitykit_native", 560 "access_token:libaccesstoken_sdk", 561 "access_token:libnativetoken_shared", 562 "access_token:libtokensetproc_shared", 563 "c_utils:utils", 564 "eventhandler:libeventhandler", 565 "hilog:libhilog", 566 "image_framework:image_native", 567 "ipc:ipc_single", 568 "window_manager:libwm", 569 "window_manager:libwsutils", 570 ] 571} 572