From 367ace522670bed11eb62448f47530f2b3722be6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E8=81=AA?= Date: Wed, 22 Oct 2025 19:45:14 +0800 Subject: [PATCH 1/6] windowManager event_distribution sample MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 赵聪 --- .../InjectTouchEvent/.gitignore | 16 ++++ .../InjectTouchEvent/AppScope/app.json5 | 10 +++ .../resources/base/element/string.json | 8 ++ .../resources/base/media/app_icon.png | Bin 0 -> 2777 bytes .../resources/zh_CN/element/string.json | 9 ++ .../InjectTouchEvent/README.md | 78 +++++++++++++++++ .../InjectTouchEvent/build-profile.json5 | 45 ++++++++++ .../entry/build-profile.json5 | 38 ++++++++ .../InjectTouchEvent/entry/hvigorfile.ts | 6 ++ .../InjectTouchEvent/entry/oh-package.json5 | 11 +++ .../entry/src/main/cpp/CMakeLists.txt | 15 ++++ .../entry/src/main/cpp/napi_init.cpp | 82 ++++++++++++++++++ .../src/main/cpp/types/libentry/Index.d.ts | 1 + .../main/cpp/types/libentry/oh-package.json5 | 6 ++ .../main/ets/entryability/EntryAbility.ets | 54 ++++++++++++ .../entrybackupability/EntryBackupAbility.ets | 16 ++++ .../entry/src/main/ets/pages/Index.ets | 65 ++++++++++++++ .../entry/src/main/module.json5 | 53 +++++++++++ .../main/resources/base/element/color.json | 8 ++ .../main/resources/base/element/string.json | 16 ++++ .../resources/base/profile/backup_config.json | 3 + .../resources/base/profile/main_pages.json | 5 ++ .../src/ohosTest/ets/test/Ability.test.ets | 35 ++++++++ .../src/ohosTest/ets/test/Index.test.ets | 60 +++++++++++++ .../entry/src/ohosTest/ets/test/List.test.ets | 7 ++ .../entry/src/ohosTest/module.json5 | 14 +++ .../hvigor/hvigor-config.json5 | 21 +++++ .../InjectTouchEvent/hvigorfile.ts | 6 ++ .../InjectTouchEvent/oh-package.json5 | 10 +++ .../InjectTouchEvent/ohosTest.md | 8 ++ .../InjectTouchEvent/screenshots/view1.jpeg | Bin 0 -> 73957 bytes .../InjectTouchEvent/screenshots/view2.jpeg | Bin 0 -> 74670 bytes .../InjectTouchEvent/screenshots/view3.jpeg | Bin 0 -> 75942 bytes .../InjectTouchEvent/screenshots/view4.jpeg | Bin 0 -> 73365 bytes .../InjectTouchEvent/screenshots/view5.jpeg | Bin 0 -> 80708 bytes .../InjectTouchEvent/screenshots/view6.jpeg | Bin 0 -> 79568 bytes .../InjectTouchEvent/screenshots/view7.jpeg | Bin 0 -> 276028 bytes .../KeyEventFilter/.gitignore | 16 ++++ .../KeyEventFilter/AppScope/app.json5 | 10 +++ .../resources/base/element/string.json | 8 ++ .../resources/base/media/app_icon.png | Bin 0 -> 2777 bytes .../resources/zh_CN/element/string.json | 9 ++ .../KeyEventFilter/README.md | 82 ++++++++++++++++++ .../KeyEventFilter/build-profile.json5 | 45 ++++++++++ .../KeyEventFilter/entry/build-profile.json5 | 38 ++++++++ .../KeyEventFilter/entry/hvigorfile.ts | 6 ++ .../KeyEventFilter/entry/oh-package.json5 | 11 +++ .../entry/src/main/cpp/CMakeLists.txt | 15 ++++ .../entry/src/main/cpp/napi_init.cpp | 76 ++++++++++++++++ .../src/main/cpp/types/libentry/Index.d.ts | 2 + .../main/cpp/types/libentry/oh-package.json5 | 6 ++ .../main/ets/entryability/EntryAbility.ets | 54 ++++++++++++ .../entrybackupability/EntryBackupAbility.ets | 16 ++++ .../entry/src/main/ets/pages/Index.ets | 43 +++++++++ .../entry/src/main/module.json5 | 53 +++++++++++ .../main/resources/base/element/color.json | 8 ++ .../main/resources/base/element/string.json | 16 ++++ .../resources/base/profile/backup_config.json | 3 + .../resources/base/profile/main_pages.json | 5 ++ .../src/ohosTest/ets/test/Ability.test.ets | 35 ++++++++ .../src/ohosTest/ets/test/Index.test.ets | 63 ++++++++++++++ .../entry/src/ohosTest/ets/test/List.test.ets | 7 ++ .../entry/src/ohosTest/module.json5 | 14 +++ .../KeyEventFilter/hvigor/hvigor-config.json5 | 21 +++++ .../KeyEventFilter/hvigorfile.ts | 6 ++ .../KeyEventFilter/oh-package.json5 | 10 +++ .../KeyEventFilter/ohosTest.md | 9 ++ .../KeyEventFilter/screenshots/view1.jpeg | Bin 0 -> 73957 bytes .../KeyEventFilter/screenshots/view2.jpeg | Bin 0 -> 74670 bytes .../KeyEventFilter/screenshots/view3.jpeg | Bin 0 -> 75942 bytes .../KeyEventFilter/screenshots/view4.jpeg | Bin 0 -> 73365 bytes .../KeyEventFilter/screenshots/view5.jpeg | Bin 0 -> 80708 bytes .../KeyEventFilter/screenshots/view6.jpeg | Bin 0 -> 79568 bytes .../KeyEventFilter/screenshots/view7.jpeg | Bin 0 -> 276028 bytes 74 files changed, 1393 insertions(+) create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/.gitignore create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/app.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/base/element/string.json create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/base/media/app_icon.png create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/zh_CN/element/string.json create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/README.md create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/build-profile.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/build-profile.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/hvigorfile.ts create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/oh-package.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/CMakeLists.txt create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/napi_init.cpp create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/Index.d.ts create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/oh-package.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/pages/Index.ets create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/module.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/color.json create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/string.json create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/backup_config.json create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/main_pages.json create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Index.test.ets create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/module.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigor/hvigor-config.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigorfile.ts create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/oh-package.json5 create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/ohosTest.md create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view1.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view2.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view3.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view4.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view5.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view6.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view7.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/.gitignore create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/AppScope/app.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/AppScope/resources/base/element/string.json create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/AppScope/resources/base/media/app_icon.png create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/AppScope/resources/zh_CN/element/string.json create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/README.md create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/build-profile.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/build-profile.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/hvigorfile.ts create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/oh-package.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/cpp/CMakeLists.txt create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/cpp/napi_init.cpp create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/cpp/types/libentry/Index.d.ts create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/cpp/types/libentry/oh-package.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/ets/entryability/EntryAbility.ets create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/ets/pages/Index.ets create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/module.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/resources/base/element/color.json create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/resources/base/element/string.json create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/resources/base/profile/backup_config.json create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/main/resources/base/profile/main_pages.json create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/ohosTest/ets/test/Ability.test.ets create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/ohosTest/ets/test/Index.test.ets create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/entry/src/ohosTest/module.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/hvigor/hvigor-config.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/hvigorfile.ts create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/oh-package.json5 create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/ohosTest.md create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/screenshots/view1.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/screenshots/view2.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/screenshots/view3.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/screenshots/view4.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/screenshots/view5.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/screenshots/view6.jpeg create mode 100644 ArkUIKit/NdkEventDistribution/KeyEventFilter/screenshots/view7.jpeg diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/.gitignore b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/.gitignore new file mode 100644 index 00000000..c9dd5092 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/.gitignore @@ -0,0 +1,16 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test +build/ +/.gradle +.vscode +signature +oh-package-lock* \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/app.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/app.json5 new file mode 100644 index 00000000..d1b3aa01 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/app.json5 @@ -0,0 +1,10 @@ +{ + "app": { + "bundleName": "com.example.injectEvent", + "vendor": "example", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/base/element/string.json b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/base/element/string.json new file mode 100644 index 00000000..6bba5a66 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "event_distribution" + } + ] +} diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/base/media/app_icon.png b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/base/media/app_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a39445dc87828b76fed6d2ec470dd455c45319e3 GIT binary patch literal 2777 zcmV;~3MTc5P)9*YHQQH znh@I(s7WDIN`nJ+5@|<)iZcg=qN74U#DNnD1Se7u4fs(|1ivr?9ayP|B3iYCD$mfQ zCQ{S1n2)}^yxe#1J=_0pt-a1UPwQ^Z*?X_`Uu*sM+8<}X+baE^a`3seUF}?bEaiMO zrD`Qrd5@qw^epHZ>Df|p-qKBUEB%*?!m0{PHC6j|RplEgR~PkM5a^}N)Sfwi>W;Uz zdhwo_4HXBU%kRl^w@&7iKPx$e-n9%#IU!&oMI~iNsw0n19qSX;dS>I`G_G=WdcN9r z;_Rtv9XC<7kbL+HHxJ782T~pg05t)tf^>2vNJqfYt{YmqQDoBxkv+ra*BxxhcuK2v zm5%@Y)biQz)R8O%e=o%n${;ojY;EUP>`Qj6Cq)7GHm)C%2%^+hI;Z4T#a|oKIvshv z5H%!I+|I4PEXaXj04%ybsVolr%vhKnW7AEhC?eP!o1{y;8m2R#;}{6VZPc!+)ou0C zVWz$|1#2(|L5z%EYRxOzP+uLB>qYGuajX-<#^u;Kw&2uh&93)h>nHaFA%{&2PW=Nn zr?*a;gk3xvRhQIRa1de-!r(ss&?tRmZ=L2FMkhxI3lK6Jn<>5c*ID|@KU#^MCIo6> zpFA{|R(4fsBwHIW z9v!7G|7enadv4}~*8q_h%tD^j$7=PCnn0=dR0GKA(fgb9`2IRg6ksBIo+Gdw#|-3eSe=3tmDe zIqVN)tScM`0W#Z>2wc>~2Uv=3L)~D4gXqZtPQ8rifbYJqwkG>bv}95G7+};9Br?hF zWSa3b)X}z#79W9kukM%6-b_54WDJm~Ub=gsrJ0lz-8&lrQ7zfK1qzuZQkZvcE3|~S zZWmk0ETaNIHnMALn>akuvHLf5c4`y%!f+u>ZGp%@q_;T!`76_snc_?K;Wx%YpF;5K zw^F+BCYUPy`fpRif@5O@Im5cf?evD$>KlAgX;D0*HiO0`Yg3j;R4jT(9h(L_TsY6yxk*@ZBe%+dMqY=cB5oGs{D$QwOFbH)G$iVf<3Olcd7^#fr- zM{!ILWt#coT)s9ySkwDCPHv0oww8g8K%Yr{aR}msELVX(}JQr%F4Q8=KKn*OjSO*uSp;JK%GwhRF_K??vGC$ZqmJX z@+}8sQ)9Z}3*DiWl+L_7OXn_^{SW~2&C*b^;%IP!j$lkre7H&bMR1}7aTT*G8P}|G zHM1)hZDe{r_E3{{Y=d}}_PxJO_w4MaE4)$<<3JwzPdwPzfNemK(-X;{UCzmVr0zu5 zEnT}fzx)oVd!*W77`1Ig`DFcZ6TkPaI$hO1+`cGb$({ukz&{p4Ic-Xnwrg-KEkDqW zW3l$7Q`V$!1T(=QL1jgjIachdr75>-8>1A^h+;rTrD^nnwf?bw(Rang!*16Odj$Pn z@)JN5&5w~}ae6d};oa|&G>sT!)ixE#5;QW(u(=bqYHXcOflE%@t4A?n5fTUm0F~8_ zwpoz9rrU`@G=vsNjDRY(CrF(jIjqg8bd|CP02>eFag7T?u;C^ir+Z7YKmBYw;%%XdT2T}a$X4yR7EI;zaof3a)5Z;`OwVi%D?gbkBj!{;z2tOBSFk&E1DeiZXD**uvNqL}+|pO{ ztO$}2NMRit2ddU?)7Prq&*&H3X>&=E{-+j4iUz zrvL;?0$^@lyl=LHz9G^$SJV6ID__@7z->Bh>Vm=6AK&5bP%@heveHja5F@agGgUsY z@L@W2+^*NVoId0!kS~4XkWb%y;f}XBf>S+NIw9aHK;vN+4mJ|em)_QjIVfb2$;bwv zDKmoq6AThgKydS6Hs+UpKPWq|UA}s=UOEBZNM3oNT5qTAabY)X>L6jxfGDuu7&GD_ z=@@m?sJ-o2GS}&hNRW}-zHkr>o4&138@a8IC-FjSBxzjx?(*3@YmdmWGAd%0QvXzS zJ53JpX%Fp!=>v&`Hd7F@+Atw2vx9%^2M-APg0Jd|ePsRn3*B$#9Z5hCou4fo7W#SN z#}-@-N=##yQDh26pNzr9f*Q88krhI5@DHcf{dU-~PLSs}MvI4s1i|<=qxD~9`7>*~ znlw5lr$_6mTG4XbBNF_79BzvZ!TeIP)exdk3)kSHjYdW1P10ZJ_NCJSlrCuIU#gqw f88(SSw!Z%ZUzhC#9QlKF00000NkvXXu0mjfG$}gK literal 0 HcmV?d00001 diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/zh_CN/element/string.json b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/zh_CN/element/string.json new file mode 100644 index 00000000..4f5a974c --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/AppScope/resources/zh_CN/element/string.json @@ -0,0 +1,9 @@ +{ + "string": [ + { + "name": "app_name", + "value": "keyEventFilter" + } + ] +} + \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/README.md b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/README.md new file mode 100644 index 00000000..5fa72f25 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/README.md @@ -0,0 +1,78 @@ +# ArkTS 注册和取消过滤回调函数(KeyEventFilter) + +### 介绍 + +WindowManager提供应用窗口的管理能力,可以用于管理多模输入事件。 + +使用WindowManager模块提供的能力为指定窗口注入触摸事件,仅支持同进程窗口。此操作不会触发窗口焦点、层级变化或拖拽,事件会直接发送给ArkUI。 + +从API version 20开始支持 + +### 效果预览 +1、Demo提供发起注入touchEvent事件的按钮,将事件注入到指定按钮的位置,触发指定按钮onClick事件 + +2、点击测试InjectEvent按钮后,发起事件注入,上方按钮被注入事件发生变化 + +![view1.jpeg](screenshots/view1.jpeg) ![view2.jpeg](screenshots/view2.jpeg) ![view3.jpeg](screenshots/view3.jpeg) ![view4.jpeg](screenshots/view4.jpeg) +![view5.jpeg](screenshots/view5.jpeg) ![view6.jpeg](screenshots/view6.jpeg) ![view7.jpeg](screenshots/view7.jpeg) + +### 使用说明 + +点击测试InjectEvent按钮后:注入touchEvent事件,上方发生变化。 + +### 工程目录 + +``` +entry/src/ + ├── main + │ ├── cpp + │ │ ├── types + │ │ ├── libentry + │ │ ├── Index.d.ts // 导出的napi函数定义 + │ │ ├── oh-package.json5 // 导出napi函数配置 + │ │ ├── CMakeLists.txt // CMake配置 + │ │ ├── napi_init.cpp // napi函数实现 + │ ├── ets + │ ├── ets + │ ├── ets + │ ├── ets + │ │ ├── entryability + │ │ ├── entrybackupability + │ │ ├── pages + │ │ ├── Index.ets // 主页面 + │ ├── module.json5 + │ └── resources // 静态资源 + ├── ohosTest + │ ├── ets + │ │ ├── test + │ │ ├── Index.test.ets // 自动化测试代码 +``` + +### 相关权限 + +权限获取与签名可以参考官方文档: +https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-signing#section26216104250 + +### 依赖 + +不涉及 + +### 约束与限制 + +1.本示例仅支持标准系统上运行, 支持设备:除RK3658的其他华为设备。 + +2.本示例为Stage模型,支持API20版本SDK,版本号:6.0.0.38,镜像版本号:OpenHarmony-6.0.0.38。 + +3.本示例需要使用DevEco Studio 6.0.0 Release及以上版本才可编译运行。 + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo ArkUIKit/FloatingBall > .git/info/sparse-checkout +git remote add origin https://gitee.com/harmonyos_samples/guide-snippets.git +git pull origin master +``` diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/build-profile.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/build-profile.json5 new file mode 100644 index 00000000..6f2c84c5 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/build-profile.json5 @@ -0,0 +1,45 @@ +{ + "app": { + "signingConfigs": [ + + ], + "products": [ + { + "name": "default", + "signingConfig": "default", + "targetSdkVersion": "6.0.0(20)", + "compatibleSdkVersion": "6.0.0(20)", + "runtimeOS": "HarmonyOS", + "buildOption": { + "nativeCompiler": "BiSheng", + "strictMode": { + "caseSensitiveCheck": true, + "useNormalizedOHMUrl": true + } + } + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/build-profile.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/build-profile.json5 new file mode 100644 index 00000000..40ee9474 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/build-profile.json5 @@ -0,0 +1,38 @@ +{ + "apiType": "stageMode", + "buildOption": { + "resOptions": { + "copyCodeResource": { + "enable": false + } + }, + "externalNativeOptions": { + "path": "./src/main/cpp/CMakeLists.txt", + "arguments": "", + "cppFlags": "", + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + } + }, + "nativeLib": { + "debugSymbol": { + "strip": true, + "exclude": [] + } + } + } + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/hvigorfile.ts b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/hvigorfile.ts new file mode 100644 index 00000000..c6edcd90 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/hvigorfile.ts @@ -0,0 +1,6 @@ +import { hapTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/oh-package.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/oh-package.json5 new file mode 100644 index 00000000..34fa7621 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/oh-package.json5 @@ -0,0 +1,11 @@ +{ + "name": "entry", + "version": "1.0.0", + "description": "desc", + "main": "", + "author": "", + "license": "", + "dependencies": { + "libentry.so": "file:./src/main/cpp/types/libentry" + } +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/CMakeLists.txt b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/CMakeLists.txt new file mode 100644 index 00000000..eac39a25 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/CMakeLists.txt @@ -0,0 +1,15 @@ +# the minimum version of CMake. +cmake_minimum_required(VERSION 3.5.0) +project(InjectTouchEvent) + +set(NATIVERENDER_ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR}) + +if(DEFINED PACKAGE_FIND_FILE) + include(${PACKAGE_FIND_FILE}) +endif() + +include_directories(${NATIVERENDER_ROOT_PATH} + ${NATIVERENDER_ROOT_PATH}/include) + +add_library(entry SHARED napi_init.cpp) +target_link_libraries(entry PUBLIC libace_napi.z.so hilog_ndk.z libace_ndk.z.so libnative_window_manager.so libohinput.so) \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/napi_init.cpp b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/napi_init.cpp new file mode 100644 index 00000000..b740479b --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/napi_init.cpp @@ -0,0 +1,82 @@ +// [Start injectTouchEvent] +#include "window_manager/oh_window.h" +#include "multimodalinput/oh_input_manager.h" +#include "napi/native_api.h" + +static napi_value injectEvent(napi_env env, napi_callback_info info) { + size_t argc = 10; + napi_value args[10] = {nullptr}; + napi_get_cb_info(env, info, &argc, args, nullptr, nullptr); + + int32_t windowId; + napi_get_value_int32(env, args[0], &windowId); + + int32_t displayId; + napi_get_value_int32(env, args[1], &displayId); + + int32_t windowX; + napi_get_value_int32(env, args[2], &windowX); + + int32_t windowY; + napi_get_value_int32(env, args[3], &windowY); + + int32_t action; + napi_get_value_int32(env, args[4], &action); + + int32_t fingerId; + napi_get_value_int32(env, args[5], &fingerId); + + int32_t displayX; + napi_get_value_int32(env, args[6], &displayX); + + int32_t displayY; + napi_get_value_int32(env, args[7], &displayY); + + int32_t actionTime; + napi_get_value_int32(env, args[8], &actionTime); + + int32_t TE_WindowId; + napi_get_value_int32(env, args[9], &TE_WindowId); + + // 构造多模事件touchEvent + Input_TouchEvent* touchEvent = OH_Input_CreateTouchEvent(); + OH_Input_SetTouchEventAction(touchEvent, action); + OH_Input_SetTouchEventFingerId(touchEvent, fingerId); + OH_Input_SetTouchEventDisplayX(touchEvent, displayX); + OH_Input_SetTouchEventDisplayY(touchEvent, displayY); + OH_Input_SetTouchEventActionTime(touchEvent, actionTime); + OH_Input_SetTouchEventWindowId(touchEvent, TE_WindowId); + OH_Input_SetTouchEventDisplayId(touchEvent, displayId); + + // 向windowId对应的窗口注入多模触摸事件 + auto res = OH_WindowManager_InjectTouchEvent(windowId, touchEvent, windowX, windowY); + + // 使用完touchEvent后销毁对象 + OH_Input_DestroyTouchEvent(&touchEvent); + + napi_value errCode; + napi_create_int32(env, res, &errCode); + return errCode; +} + +EXTERN_C_START +static napi_value Init(napi_env env, napi_value exports) { + napi_property_descriptor desc[] = { + {"injectEvent", nullptr, injectEvent, nullptr, nullptr, nullptr, napi_default, nullptr}}; + napi_define_properties(env, exports, sizeof(desc) / sizeof(desc[0]), desc); + return exports; +} +EXTERN_C_END +// [End injectTouchEvent] + +static napi_module demoModule = { + .nm_version = 1, + .nm_flags = 0, + .nm_filename = nullptr, + .nm_register_func = Init, + .nm_modname = "entry", + .nm_priv = ((void *)0), + .reserved = {0}, +}; + +extern "C" __attribute__((constructor)) void RegisterEntryModule(void) { napi_module_register(&demoModule); } \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/Index.d.ts b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/Index.d.ts new file mode 100644 index 00000000..292c25e1 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/Index.d.ts @@ -0,0 +1 @@ +export const injectEvent: (windowId: number, TE_displayId: number, windowX: number, windowY: number, action: number, fingerId: number, displayX: number, displayY: number, actionTime: number, TE_WindowId: number) => number; \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/oh-package.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/oh-package.json5 new file mode 100644 index 00000000..ea410725 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/cpp/types/libentry/oh-package.json5 @@ -0,0 +1,6 @@ +{ + "name": "libentry.so", + "types": "./Index.d.ts", + "version": "1.0.0", + "description": "Please describe the basic information." +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entryability/EntryAbility.ets b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entryability/EntryAbility.ets new file mode 100644 index 00000000..15b62224 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entryability/EntryAbility.ets @@ -0,0 +1,54 @@ +import { AbilityConstant, ConfigurationConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { window } from '@kit.ArkUI'; + +const DOMAIN = 0x0000; + +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { + try { + this.context.getApplicationContext().setColorMode(ConfigurationConstant.ColorMode.COLOR_MODE_NOT_SET); + } catch (err) { + hilog.error(DOMAIN, 'testTag', 'Failed to set colorMode. Cause: %{public}s', JSON.stringify(err)); + } + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onCreate'); + } + + onDestroy(): void { + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onDestroy'); + } + + onWindowStageCreate(windowStage: window.WindowStage): void { + // Main window is created, set main page for this ability + AppStorage.setOrCreate("windowStage", windowStage); + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); + windowStage.loadContent('pages/Index', (err) => { + if (err.code) { + hilog.error(DOMAIN, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err)); + return; + } + hilog.info(DOMAIN, 'testTag', 'Succeeded in loading the content.'); + }); + AppStorage.setOrCreate("context", this.context); + windowStage.getMainWindow().then((window)=>{ + window.getWindowProperties(); + hilog.info(DOMAIN, 'testTag', 'windId: %{public}d', window.getWindowProperties().id); + AppStorage.setOrCreate("windId", window.getWindowProperties().id); + }) + } + + onWindowStageDestroy(): void { + // Main window is destroyed, release UI related resources + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); + } + + onForeground(): void { + // Ability has brought to foreground + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onForeground'); + } + + onBackground(): void { + // Ability has back to background + hilog.info(DOMAIN, 'testTag', '%{public}s', 'Ability onBackground'); + } +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 00000000..8e4de992 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,16 @@ +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +const DOMAIN = 0x0000; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(DOMAIN, 'testTag', 'onBackup ok'); + await Promise.resolve(); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(DOMAIN, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + await Promise.resolve(); + } +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/pages/Index.ets b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/pages/Index.ets new file mode 100644 index 00000000..8416c156 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/ets/pages/Index.ets @@ -0,0 +1,65 @@ +import { common } from '@kit.AbilityKit'; +import { Router, router, window } from '@kit.ArkUI'; +import testNapi from 'libentry.so'; + +const DOMAIN = 0x0000; + +@Entry +@Component +struct Index { + @State message: string = 'Hello World'; + @State timeString: string = ''; + @State immenabled: boolean = false; + @State windowId: number = 0; + @State TE_displayId: number = 0; + @State TE_windowId: number = 0; + @State displayX: number = 0; + @State displayY: number = 0; + @State actionTime: number = -1; + @State fingerId_0: number = 0; + @State fingerId_1: number = 0; + @State action_1: number = 3; + @State action_0: number = 1; + @State windowX: number = 587; + @State windowY: number = 285; + + context = getContext(this) as common.UIAbilityContext + windowClass = this.context.windowStage.getMainWindowSync() + sleep = (sleepMs: number) => new Promise(resolve => setTimeout(resolve, sleepMs)); + + build() { + Column({space: 20}) { + Column() { + Button('点击获取时间判断页面可以响应:' + this.timeString) + .onClick(()=>{ + this.timeString = new Date().toLocaleString(); + console.info(`time is ` + this.timeString) + }).width('100%').type(ButtonType.Normal) + Button().onClick(()=>{ + this.timeString = new Date().toLocaleString(); + }).width('100%').type(ButtonType.Normal) + } + Text('HelloWorld') + .id('HelloWorld') + .fontSize(20) + .fontWeight(FontWeight.Bold) + + Button('测试InjectEvent').width('100%').onClick(() => { + try { + this.message = String(testNapi.injectEvent(this.windowId, this.TE_displayId, this.windowX, this.windowY, this.action_0, this.fingerId_0, this.displayX, this.displayY, this.actionTime, this.windowId)); + this.message = String(testNapi.injectEvent(this.windowId, this.TE_displayId, this.windowX, this.windowY, this.action_1, this.fingerId_0, this.displayX, this.displayY, this.actionTime, this.windowId)); + } catch (e) { + console.error(`failed to TestInjectEvent. Cause code: ${e.code}, message: ${e.message}`); + this.message = String(e.code); + } + }) + + } + .width('100%').height('100%') + } + + aboutToAppear() { + this.windowId = this.windowClass.getWindowProperties().id; + AppStorage.setOrCreate('ability_window_Id', this.windowId); + } +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/module.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/module.json5 new file mode 100644 index 00000000..f2fc6e44 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/module.json5 @@ -0,0 +1,53 @@ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "phone", + "tablet", + "2in1", + "car" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ets", + "description": "$string:EntryAbility_desc", + "icon": "$media:app_icon", + "label": "$string:app_name", + "startWindowIcon": "$media:app_icon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "ohos.want.action.home" + ] + } + ] + } + ], + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ], + } + ] + } +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/color.json b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/color.json new file mode 100644 index 00000000..3c712962 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + } + ] +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/string.json b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/string.json new file mode 100644 index 00000000..7ea0bbd5 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "module description" + }, + { + "name": "EntryAbility_desc", + "value": "description" + }, + { + "name": "EntryAbility_label", + "value": "injectEvent" + } + ] +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/backup_config.json b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/backup_config.json new file mode 100644 index 00000000..78f40ae7 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/backup_config.json @@ -0,0 +1,3 @@ +{ + "allowToBackupRestore": true +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/main_pages.json b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 00000000..1898d94f --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "pages/Index" + ] +} diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Ability.test.ets b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Ability.test.ets new file mode 100644 index 00000000..85c78f67 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Ability.test.ets @@ -0,0 +1,35 @@ +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; + +export default function abilityTest() { + describe('ActsAbilityTest', () => { + // Defines a test suite. Two parameters are supported: test suite name and test suite function. + beforeAll(() => { + // Presets an action, which is performed only once before all test cases of the test suite start. + // This API supports only one parameter: preset action function. + }) + beforeEach(() => { + // Presets an action, which is performed before each unit test case starts. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: preset action function. + }) + afterEach(() => { + // Presets a clear action, which is performed after each unit test case ends. + // The number of execution times is the same as the number of test cases defined by **it**. + // This API supports only one parameter: clear action function. + }) + afterAll(() => { + // Presets a clear action, which is performed after all test cases of the test suite end. + // This API supports only one parameter: clear action function. + }) + it('assertContain', 0, () => { + // Defines a test case. This API supports three parameters: test case name, filter parameter, and test case function. + hilog.info(0x0000, 'testTag', '%{public}s', 'it begin'); + let a = 'abc'; + let b = 'b'; + // Defines a variety of assertion methods, which are used to declare expected boolean conditions. + expect(a).assertContain(b); + expect(a).assertEqual(a); + }) + }) +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Index.test.ets b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Index.test.ets new file mode 100644 index 00000000..4740e6b1 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/Index.test.ets @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2025 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium'; +import { abilityDelegatorRegistry, Driver, ON, MatchPattern } from '@kit.TestKit'; +import { UIAbility, Want } from '@kit.AbilityKit'; + +const DELEGATOR: abilityDelegatorRegistry.AbilityDelegator = abilityDelegatorRegistry.getAbilityDelegator(); +const TAG = '[Sample_Event]'; +const DOMAIN: number = 0xF811; +const BUNDLE_NAME = abilityDelegatorRegistry.getArguments().bundleName; +const WANT: Want = { + bundleName: BUNDLE_NAME, + abilityName: 'EntryAbility' +} + +function sleep(time: number) { + return new Promise((resolve: Function) => setTimeout(resolve, time)) +} + +export default function indexTest() { + describe('IndexTest', () => { + it('InjectTouchEventTest', 0, async () => { + hilog.info(DOMAIN, TAG, BUNDLE_NAME + ' test, begin'); + await DELEGATOR.startAbility(WANT); + await sleep(300); + + // 拉起应用 + await DELEGATOR.getCurrentTopAbility().then((Ability: UIAbility) => { + hilog.info(DOMAIN, TAG, BUNDLE_NAME + 'NormalLayout_001, get top ability'); + expect(Ability.context.abilityInfo.name).assertEqual('EntryAbility'); + }) + + // Driver 初始化 + let driver = Driver.create(); + await driver.delayMs(1000); + + // 寻找按钮 + expect(await driver.findComponent(ON.text('点击获取时间判断页面可以响应:')) != undefined); + // 按钮元素 + let staticLayoutCreate = await driver.findComponent(ON.text('测试InjectEvent')); + await staticLayoutCreate.click(); + await driver.delayMs(300); + expect(await driver.findComponent(ON.text('点击获取时间判断页面可以响应:')) == undefined); + }); + }) +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/List.test.ets b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 00000000..8fe6a914 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,7 @@ +import abilityTest from './Ability.test'; +import indexTest from './Index.test'; + +export default function testsuite() { + abilityTest(); + indexTest(); +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/module.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/module.json5 new file mode 100644 index 00000000..56161a8d --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/entry/src/ohosTest/module.json5 @@ -0,0 +1,14 @@ +{ + "module": { + "name": "entry_test", + "type": "feature", + "deviceTypes": [ + "phone", + "tablet", + "2in1", + "car" + ], + "deliveryWithInstall": true, + "installationFree": false + } +} \ No newline at end of file diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigor/hvigor-config.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigor/hvigor-config.json5 new file mode 100644 index 00000000..29493842 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigor/hvigor-config.json5 @@ -0,0 +1,21 @@ +{ + "modelVersion": "6.0.0", + "dependencies": {}, + "execution": { + // "analyze": "normal", /* Define the build analyze mode. Value: [ "normal" | "advanced" | false ]. Default: "normal" */ + // "daemon": false, + // "incremental": true, /* Enable incremental compilation. Value: [ true | false ]. Default: true */ + // "parallel": true, /* Enable parallel compilation. Value: [ true | false ]. Default: true */ + // "typeCheck": false, /* Enable typeCheck. Value: [ true | false ]. Default: false */ + }, + "logging": { + // "level": "info" /* Define the log level. Value: [ "debug" | "info" | "warn" | "error" ]. Default: "info" */ + }, + "debugging": { + // "stacktrace": false + }, + "nodeOptions": { + // "maxOldSpaceSize": 8192 /* Enable nodeOptions maxOldSpaceSize compilation. Unit M. Used for the daemon process. Default: 8192*/ + // "exposeGC": true /* Enable to trigger garbage collection explicitly. Default: true*/ + } +} diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigorfile.ts b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigorfile.ts new file mode 100644 index 00000000..796f0d2c --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/hvigorfile.ts @@ -0,0 +1,6 @@ +import { appTasks } from '@ohos/hvigor-ohos-plugin'; + +export default { + system: appTasks, /* Built-in plugin of Hvigor. It cannot be modified. */ + plugins:[] /* Custom plugin to extend the functionality of Hvigor. */ +} diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/oh-package.json5 b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/oh-package.json5 new file mode 100644 index 00000000..543bc290 --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/oh-package.json5 @@ -0,0 +1,10 @@ +{ + "modelVersion": "6.0.0", + "description": "desc", + "dependencies": { + }, + "devDependencies": { + "@ohos/hypium": "1.0.24", + "@ohos/hamock": "1.0.1-rc2" + } +} diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/ohosTest.md b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/ohosTest.md new file mode 100644 index 00000000..8670c1ca --- /dev/null +++ b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/ohosTest.md @@ -0,0 +1,8 @@ +# InjectTouchTest 测试用例归档 + +## 用例表 + +| 测试功能 | 预置条件 | 输入 | 预期输出 | 是否自动 | 测试结果 | +|-----------|----------------------|------------------|-------------------|------| -------- | +| 拉起应用 | 设备正常运行 | | 成功拉起应用 | 是 | Pass | +| 注入 事件 | 位于应用首页 | 点击【测试InjectEvent】 | 注入成功,顶部按钮发生变化 | 是 | Pass | diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view1.jpeg b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..4cc40c9cdfa54a9535065d91739189a1d48d4685 GIT binary patch literal 73957 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

WV<>4Fog%RyhR{=) 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 Nv^5OW%T;YZ{0F1yME3vy literal 0 HcmV?d00001 diff --git a/ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view2.jpeg b/ArkUIKit/NdkEventDistribution/InjectTouchEvent/screenshots/view2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..49aa5cda3841ffec76797cd7ddd13c8561bbcf8a GIT binary patch literal 74670 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