inputgen: fix to bind devicemgr when efl_util_input_set_touch_count API 76/318076/1 accepted/tizen/9.0/unified/20250114.155925
authorduna.oh <duna.oh@samsung.com>
Mon, 13 Jan 2025 04:20:38 +0000 (13:20 +0900)
committerduna.oh <duna.oh@samsung.com>
Mon, 13 Jan 2025 04:34:16 +0000 (13:34 +0900)
Change-Id: If1c9b21bd2aa8b5366571ea11ccde8a7465369d1

src/efl_util.c
test/tc-efl-util-internal.cpp

index b44384a366ef14ecdc64fc82b1ce95aab1e29720..f6d2b89d3d5034a92eeab46531a31d64063ca345 100644 (file)
@@ -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;
 
index 4f2d47f525138a9a8583972799e2397c7becc6bf..1ae63bb1ca58cd5ca7b3c75409f30168e00f912a 100644 (file)
@@ -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;