From 34746ef77dd68327dd616bce19b381035015d50c Mon Sep 17 00:00:00 2001 From: "duna.oh" Date: Mon, 13 Jan 2025 13:20:38 +0900 Subject: [PATCH] inputgen: fix to bind devicemgr when efl_util_input_set_touch_count API Change-Id: If1c9b21bd2aa8b5366571ea11ccde8a7465369d1 --- src/efl_util.c | 11 +++++------ test/tc-efl-util-internal.cpp | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/efl_util.c b/src/efl_util.c index b44384a..f6d2b89 100644 --- a/src/efl_util.c +++ b/src/efl_util.c @@ -1471,15 +1471,14 @@ efl_util_input_set_touch_count(int max_count) int ret = EFL_UTIL_ERROR_NONE; int ret_dispatch = 0; - ret = _wl_init(); - if (ret == (int)EINA_FALSE) + if (!_eflutil.wl.devmgr.devicemgr) { - return EFL_UTIL_ERROR_INVALID_PARAMETER; + if (_efl_util_wl_inputgen_init() == EINA_FALSE) + { + return EFL_UTIL_ERROR_INVALID_PARAMETER; + } } - while (!_eflutil.wl.devmgr.devicemgr && (ret_dispatch != -1)) - ret_dispatch = wl_display_dispatch_queue(_eflutil.wl.dpy, _eflutil.wl.devmgr.queue); - if (_eflutil.wl.devmgr.max_touch_count >= max_count) return EFL_UTIL_ERROR_NONE; diff --git a/test/tc-efl-util-internal.cpp b/test/tc-efl-util-internal.cpp index 4f2d47f..1ae63bb 100644 --- a/test/tc-efl-util-internal.cpp +++ b/test/tc-efl-util-internal.cpp @@ -549,6 +549,41 @@ TEST_F(EFLUtilInternal, input_generate_touch_axis_n7) EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); } +TEST_F(EFLUtilInternal, input_set_touch_count_p1) +{ + int ret = EFL_UTIL_ERROR_NONE; + + ret = efl_util_input_set_touch_count(10); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); +} + +TEST_F(EFLUtilInternal, input_set_touch_count_p2) +{ + int ret = EFL_UTIL_ERROR_NONE; + efl_util_inputgen_h inputgen = NULL; + + ret = efl_util_input_set_touch_count(10); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + inputgen = efl_util_input_initialize_generator_with_sync(EFL_UTIL_INPUT_DEVTYPE_TOUCHSCREEN, NULL); + ret = get_last_result(); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + EXPECT_NE(inputgen, nullptr); + + ret = efl_util_input_generate_touch(inputgen, 0, EFL_UTIL_INPUT_TOUCH_BEGIN, 100, 150); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_input_generate_touch(inputgen, 0, EFL_UTIL_INPUT_TOUCH_UPDATE, 110, 160); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_input_generate_touch(inputgen, 0, EFL_UTIL_INPUT_TOUCH_END, 110, 160); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + + ret = efl_util_input_deinitialize_generator(inputgen); + EXPECT_EQ(ret, EFL_UTIL_ERROR_NONE); + usleep(SYNC_DEINIT_TIME); +} + TEST_F(EFLUtilInternal, screenshot_initialize_p) { efl_util_screenshot_h screenshot = NULL; -- 2.34.1