From ff410560dbc3c52b7bab66b921db3e408945b656 Mon Sep 17 00:00:00 2001 From: Tome Date: Fri, 31 Oct 2025 15:12:25 +0800 Subject: [PATCH] dcamera sample add Signed-off-by: Tome --- .../hapAppDcameraSample/.gitignore | 12 + .../hapAppDcameraSample/AppScope/app.json5 | 24 ++ .../resources/base/element/string.json | 8 + .../resources/base/media/app_icon.png | Bin 0 -> 2777 bytes .../hapAppDcameraSample/Readme.md | 92 +++++ .../hapAppDcameraSample/build-profile.json5 | 57 +++ .../hapAppDcameraSample/code-linter.json5 | 34 ++ .../hapAppDcameraSample/entry/.gitignore | 6 + .../entry/build-profile.json5 | 53 +++ .../hapAppDcameraSample/entry/hvigorfile.ts | 20 + .../entry/obfuscation-rules.txt | 23 ++ .../entry/oh-package.json5 | 24 ++ .../src/main/ets/common/DeviceDialog.ets | 118 ++++++ .../src/main/ets/common/TitleBarComponent.ets | 153 +++++++ .../src/main/ets/entryability/EntryAbility.ts | 72 ++++ .../entrybackupability/EntryBackupAbility.ets | 26 ++ .../main/ets/recorder/RemoteDeviceModel.ets | 275 +++++++++++++ .../src/main/ets/recorder/VideoRecorder.ets | 376 ++++++++++++++++++ .../src/main/ets/utils/DateTimeUtils.ets | 59 +++ .../entry/src/main/ets/utils/Logger.ts | 45 +++ .../src/main/ets/utils/SaveCameraAsset.ets | 101 +++++ .../entry/src/main/module.json5 | 137 +++++++ .../main/resources/base/element/color.json | 28 ++ .../main/resources/base/element/string.json | 84 ++++ .../main/resources/base/media/background.png | Bin 0 -> 57364 bytes .../src/main/resources/base/media/checked.png | Bin 0 -> 8737 bytes .../src/main/resources/base/media/equal.png | Bin 0 -> 3205 bytes .../main/resources/base/media/foreground.png | Bin 0 -> 12430 bytes .../src/main/resources/base/media/ic_hop.svg | 18 + .../resources/base/media/ic_hop_normal.png | Bin 0 -> 550 bytes .../resources/base/media/ic_hop_normal1.svg | 18 + .../src/main/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/media/layered_image.json | 7 + .../main/resources/base/media/startIcon.png | Bin 0 -> 20093 bytes .../src/main/resources/base/media/uncheck.png | Bin 0 -> 6290 bytes .../resources/base/profile/backup_config.json | 3 + .../resources/base/profile/main_pages.json | 5 + .../main/resources/dark/element/color.json | 8 + .../ets/TestRunner/OpenHarmonyTestRunner.ts | 65 +++ .../entry/src/ohosTest/ets/test/List.test.ets | 22 + .../ohosTest/ets/test/basicAbility.test.ets | 122 ++++++ .../ohosTest/ets/testability/TestAbility.ets | 46 +++ .../ohosTest/ets/testability/pages/Index.ets | 32 ++ .../entry/src/ohosTest/module.json5 | 51 +++ .../resources/base/element/color.json | 8 + .../resources/base/element/string.json | 16 + .../ohosTest/resources/base/media/icon.png | Bin 0 -> 6790 bytes .../resources/base/profile/test_pages.json | 5 + .../hvigor/hvigor-config.json5 | 36 ++ .../hapAppDcameraSample/hvigorfile.ts | 20 + .../hapAppDcameraSample/oh-package.json5 | 24 ++ .../hapAppDcameraSample/ohosTest.md | 18 + .../hapAppDcameraSample/screenshot/image.png | Bin 0 -> 22259 bytes .../hapAppDcameraSample/screenshot/image2.png | Bin 0 -> 34925 bytes .../hapAppDcameraSample/screenshot/image3.png | Bin 0 -> 45877 bytes .../hapAppDcameraSample/screenshot/image4.png | Bin 0 -> 90281 bytes .../hapAppDcameraSample/screenshot/image5.png | Bin 0 -> 6022 bytes 57 files changed, 2351 insertions(+) create mode 100644 DistributedAppDev/hapAppDcameraSample/.gitignore create mode 100644 DistributedAppDev/hapAppDcameraSample/AppScope/app.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/AppScope/resources/base/element/string.json create mode 100644 DistributedAppDev/hapAppDcameraSample/AppScope/resources/base/media/app_icon.png create mode 100644 DistributedAppDev/hapAppDcameraSample/Readme.md create mode 100644 DistributedAppDev/hapAppDcameraSample/build-profile.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/code-linter.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/.gitignore create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/build-profile.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/hvigorfile.ts create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/obfuscation-rules.txt create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/oh-package.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/DeviceDialog.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/TitleBarComponent.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entryability/EntryAbility.ts create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/RemoteDeviceModel.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/VideoRecorder.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/DateTimeUtils.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/Logger.ts create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/SaveCameraAsset.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/module.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/color.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/string.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/background.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/checked.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/equal.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/foreground.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop.svg create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop_normal.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop_normal1.svg create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/icon.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/layered_image.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/startIcon.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/uncheck.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/backup_config.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/main_pages.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/dark/element/color.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/TestRunner/OpenHarmonyTestRunner.ts create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/List.test.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/basicAbility.test.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/TestAbility.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/pages/Index.ets create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/module.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/element/color.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/element/string.json create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/media/icon.png create mode 100644 DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/profile/test_pages.json create mode 100644 DistributedAppDev/hapAppDcameraSample/hvigor/hvigor-config.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/hvigorfile.ts create mode 100644 DistributedAppDev/hapAppDcameraSample/oh-package.json5 create mode 100644 DistributedAppDev/hapAppDcameraSample/ohosTest.md create mode 100644 DistributedAppDev/hapAppDcameraSample/screenshot/image.png create mode 100644 DistributedAppDev/hapAppDcameraSample/screenshot/image2.png create mode 100644 DistributedAppDev/hapAppDcameraSample/screenshot/image3.png create mode 100644 DistributedAppDev/hapAppDcameraSample/screenshot/image4.png create mode 100644 DistributedAppDev/hapAppDcameraSample/screenshot/image5.png diff --git a/DistributedAppDev/hapAppDcameraSample/.gitignore b/DistributedAppDev/hapAppDcameraSample/.gitignore new file mode 100644 index 000000000..d2ff20141 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/.gitignore @@ -0,0 +1,12 @@ +/node_modules +/oh_modules +/local.properties +/.idea +**/build +/.hvigor +.cxx +/.clangd +/.clang-format +/.clang-tidy +**/.test +/.appanalyzer \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/AppScope/app.json5 b/DistributedAppDev/hapAppDcameraSample/AppScope/app.json5 new file mode 100644 index 000000000..d1020debf --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/AppScope/app.json5 @@ -0,0 +1,24 @@ +/* + * 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. + */ +{ + "app": { + "bundleName": "com.ohos.HapAppDcameraSample", + "vendor": "HapAppDcameraSample", + "versionCode": 1000000, + "versionName": "1.0.0", + "icon": "$media:app_icon", + "label": "$string:app_name" + } +} diff --git a/DistributedAppDev/hapAppDcameraSample/AppScope/resources/base/element/string.json b/DistributedAppDev/hapAppDcameraSample/AppScope/resources/base/element/string.json new file mode 100644 index 000000000..6bbca9782 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/AppScope/resources/base/element/string.json @@ -0,0 +1,8 @@ +{ + "string": [ + { + "name": "app_name", + "value": "HapAppDcameraSample" + } + ] +} diff --git a/DistributedAppDev/hapAppDcameraSample/AppScope/resources/base/media/app_icon.png b/DistributedAppDev/hapAppDcameraSample/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/DistributedAppDev/hapAppDcameraSample/Readme.md b/DistributedAppDev/hapAppDcameraSample/Readme.md new file mode 100644 index 000000000..15323e956 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/Readme.md @@ -0,0 +1,92 @@ +# 分布式相机示例代码工程化 + +### 介绍 + +本示例为开发指南中 **分布式相机开发** 章节示例代码的完整工程。该工程展示了如何发现并连接一个远端的分布式摄像头设备,并将远端的预览图像显示在本地屏幕上,最后通过本地操作来控制远端摄像头进行拍照。 + +本工程配套的开发指南文档,详细描述了相关的开发流程与核心代码,可查阅如下链接: +[分布式相机开发指南](https://gitcode.com/openharmony/docs/blob/master/zh-cn/application-dev/distributedservice/camera-distributed.md) + +### 效果预览 + +| 主界面 |权限申请| +|---|---| +| || +| 预览 |照片文件| +| | +### 使用说明 + +1. 启动应用,应用会弹出权限申请对话框,请点击同意。 +2. 确保两台设备已在同一个局域网下成功组网。 +3. 点击界面上的 **"Connect Remote"** 按钮,应用将开始初始化并连接远端的分布式摄像头。 +4. 连接成功后,远端摄像头的预览画面将实时显示在应用屏幕上。 +5. 点击屏幕下方的圆形白色拍照按钮,即可控制远端设备进行拍照。 +6. 拍摄的照片会自动保存到应用的沙箱目录中。 + > 参考路径: /data/app/el2/100/com.ohos.HapAppDcameraSample/haps/entry/files +7. 退出应用或应用进入后台时,会自动释放相机资源。 + +### 工程目录 +``` +entry/src/main/ets/ +|---common +| |---DeviceDialog.ets // 远端设备列表对话框 (可选,当前未直接使用) +| └---TitleBarComponent.ets // 顶部标题栏组件 +|---entryability +| └---EntryAbility.ts // 应用主入口与权限申请 +|---entrybackupability +| └---EntryBackupAbility.ets // 应用备份恢复能力 (可按需保留) +|---recorder +| |---RemoteDeviceModel.ets // 远端设备模型 +| └---VideoRecorder.ets // 核心业务页面 (UI与相机逻辑) +└---utils + |---DateTimeUtils.ets // 日期时间工具类 + |---Logger.ts // 日志工具类 + └---SaveCameraAsset.ets // 媒体文件保存工具类 +``` + +### 具体实现 + + * 本示例应用核心展示了分布式相机的连接、预览与拍照功能: + * **应用权限申请**: + 在 `EntryAbility.ts` 中,通过 `abilityAccessCtrl` 模块为应用申请相机、麦克风、媒体读写和分布式数据同步等必要的权限。 + * **远端相机初始化**: + 在 `VideoRecorder.ets` 的 `initCamera` 方法中,通过 `camera.getCameraManager()` 获取相机管理器,调用 `getSupportedCameras()` 遍历查找 `connectionType` 为 `CAMERA_CONNECTION_REMOTE` 的远端相机设备。 + * **创建输入与输出**: + 在 `VideoRecorder.ets` 中,分别为远端相机创建 `CameraInput` 对象;基于界面上的 XComponent 组件创建 `PreviewOutput` 以显示预览流;并创建 `ImageReceiver` 和 `PhotoOutput` 以接收拍照数据流。 + * **创建并运行会话**: + 在 `VideoRecorder.ets` 的 `createCaptureSession` 方法中,创建 `CaptureSession`,将上述输入和输出添加到会话中,配置完成后调用 `start()` 方法开启预览。 + * **拍照与资源释放**: + 在 `VideoRecorder.ets` 中,调用 `photoOutput.capture()` 执行拍照;在 `imageArrival` 回调中处理图像数据并保存到本地文件;在组件销毁时,调用 `releaseCamera()` 方法,依次停止和释放会话、输入、输出等所有占用的资源。 + * **错误码**: + 开发过程中遇到的错误码请参见 [相机服务子系统错误码] + +### 相关权限 + + - [ohos.permission.CAMERA] + - [ohos.permission.MICROPHONE] + - [ohos.permission.DISTRIBUTED_DATASYNC] + - [ohos.permission.MEDIA_LOCATION] + - [ohos.permission.READ_MEDIA] + - [ohos.permission.WRITE_MEDIA] + +### 依赖 + +不涉及 + +### 约束与限制 + +1. 本示例仅支持标准系统上运行。 +2. 本示例为Stage模型,支持API版本 **API Version 20 Beta5**,SDK版本号:**OpenHarmony SDK Ohos_sdk_public 6.0.0.47**。 +3. 本示例需要使用DevEco Studio **6.0.0 Beta5** 及以上版本才可编译运行。 + +### 下载 + +如需单独下载本工程,执行如下命令: + +``` +git init +git config core.sparsecheckout true +echo code/DocsSample/hapAppDcameraSample/ > .git/info/sparse-checkout // 请根据实际路径修改 +git remote add origin https://gitee.com/openharmony/applications_app_samples.git +git pull origin master +``` \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/build-profile.json5 b/DistributedAppDev/hapAppDcameraSample/build-profile.json5 new file mode 100644 index 000000000..9c49a21ef --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/build-profile.json5 @@ -0,0 +1,57 @@ +/* + * 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. + */ +{ + "app": { + "signingConfigs": [ + ], + "products": [ + { + "name": "default", + "signingConfig": "default", + "compatibleSdkVersion": "6.0.0(20)", + "runtimeOS": "HarmonyOS", + "buildOption": { + "strictMode": { + "caseSensitiveCheck": true, + "useNormalizedOHMUrl": true + } + }, + "targetSdkVersion": "6.0.0(20)" + } + ], + "buildModeSet": [ + { + "name": "debug", + }, + { + "name": "release" + } + ] + }, + "modules": [ + { + "name": "entry", + "srcPath": "./entry", + "targets": [ + { + "name": "default", + "applyToProducts": [ + "default" + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/code-linter.json5 b/DistributedAppDev/hapAppDcameraSample/code-linter.json5 new file mode 100644 index 000000000..44d503046 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/code-linter.json5 @@ -0,0 +1,34 @@ +/* + * 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. + */ +{ + "files": [ + "**/*.ets" + ], + "ignore": [ + "**/src/ohosTest/**/*", + "**/src/test/**/*", + "**/src/mock/**/*", + "**/node_modules/**/*", + "**/oh_modules/**/*", + "**/build/**/*", + "**/.preview/**/*" + ], + "ruleSet": [ + "plugin:@performance/recommended", + "plugin:@typescript-eslint/recommended" + ], + "rules": { + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/.gitignore b/DistributedAppDev/hapAppDcameraSample/entry/.gitignore new file mode 100644 index 000000000..e2713a277 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/.gitignore @@ -0,0 +1,6 @@ +/node_modules +/oh_modules +/.preview +/build +/.cxx +/.test \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/build-profile.json5 b/DistributedAppDev/hapAppDcameraSample/entry/build-profile.json5 new file mode 100644 index 000000000..384f7363a --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/build-profile.json5 @@ -0,0 +1,53 @@ +/* + * 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. + */ +{ + "apiType": "stageMode", + "buildOption": { + "externalNativeOptions": { + "path": "./src/main/cpp2/CMakeLists.txt", + "arguments": "", + "cppFlags": "" + } + }, + "buildOptionSet": [ + { + "name": "release", + "arkOptions": { + "obfuscation": { + "ruleOptions": { + "enable": false, + "files": [ + "./obfuscation-rules.txt" + ] + } + } + }, + "nativeLib": { + "debugSymbol": { + "strip": true, + "exclude": [] + } + } + }, + ], + "targets": [ + { + "name": "default" + }, + { + "name": "ohosTest", + } + ] +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/hvigorfile.ts b/DistributedAppDev/hapAppDcameraSample/entry/hvigorfile.ts new file mode 100644 index 000000000..877458847 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/hvigorfile.ts @@ -0,0 +1,20 @@ +/* + * 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 { 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/DistributedAppDev/hapAppDcameraSample/entry/obfuscation-rules.txt b/DistributedAppDev/hapAppDcameraSample/entry/obfuscation-rules.txt new file mode 100644 index 000000000..22e97bf9c --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/obfuscation-rules.txt @@ -0,0 +1,23 @@ +# Define project specific obfuscation rules here. +# You can include the obfuscation configuration files in the current module's build-profile.json5. +# +# For more details, see +# https://developer.huawei.com/consumer/cn/doc/OpenHarmony-guides-V5/source-obfuscation-V5 + +# Obfuscation options: +# -disable-obfuscation: disable all obfuscations +# -enable-property-obfuscation: obfuscate the property names +# -enable-toplevel-obfuscation: obfuscate the names in the global scope +# -compact: remove unnecessary blank spaces and all line feeds +# -remove-log: remove all console.* statements +# -print-namecache: print the name cache that contains the mapping from the old names to new names +# -apply-namecache: reuse the given cache file + +# Keep options: +# -keep-property-name: specifies property names that you want to keep +# -keep-global-name: specifies names that you want to keep in the global scope + +-enable-property-obfuscation +-enable-toplevel-obfuscation +-enable-filename-obfuscation +-enable-export-obfuscation \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/oh-package.json5 b/DistributedAppDev/hapAppDcameraSample/entry/oh-package.json5 new file mode 100644 index 000000000..ca5dba866 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/oh-package.json5 @@ -0,0 +1,24 @@ +/* + * 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. + */ +{ + "name": "entry", + "version": "1.0.0", + "description": "Please describe the basic information.", + "main": "", + "author": "", + "license": "", + "dependencies": { + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/DeviceDialog.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/DeviceDialog.ets new file mode 100644 index 000000000..f289354e4 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/DeviceDialog.ets @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2022-2025 Huawei 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 deviceManager from '@ohos.distributedDeviceManager'; +import Logger from '../utils/Logger'; + +const TAG: string = 'Sample_DeviceDialog'; + +@CustomDialog +export struct DeviceDialog { + controller?: CustomDialogController; + // Kept your original AppStorage and selectedIndex logic to ensure compatibility + @StorageLink('deviceList') deviceList: Array = AppStorage.get('deviceList')!; + private selectedIndex: number | undefined = 0; + private onSelectedIndexChange: (selectedIndex: number | undefined) => void = () => { + }; + + // --- UI Optimization --- + // @Builder for list item UI + @Builder + buildDeviceItem(item: deviceManager.DeviceBasicInfo, index: number | undefined) { + // *** FIX: The 'let isSelected' variable declaration was removed from here *** + // The logic is now placed directly inside the component attributes below. + Row() { + // 1. Selection indicator + Circle({ width: 20, height: 20 }) + .fill(this.selectedIndex === index ? '#007DFF' : '#F1F3F5') // Logic is here + .margin({ right: 15 }) + + // 2. Device name + Text(item.deviceName) + .fontSize(16) + .layoutWeight(1) + .fontColor(this.selectedIndex === index ? '#007DFF' : Color.Black) // Logic is here + } + .width('100%') + .padding({ top: 12, bottom: 12, left: 15, right: 15 }) + .backgroundColor(this.selectedIndex === index ? '#E8F1FF' : Color.Transparent) // Logic is here + .borderRadius(10) + .clip(true) + // 3. Press effect for better interaction + .stateStyles({ + pressed: { + .backgroundColor('#F1F3F5') + } + }) + .onClick(() => { + // 4. Smooth selection animation + animateTo({ duration: 200 }, () => { + Logger.info(TAG, `select device: ${item.deviceId}`); + if (index !== undefined) { + Logger.info(TAG, `onSelectedIndexChange: ${index}`); + this.selectedIndex = index; + this.onSelectedIndexChange(this.selectedIndex); + } + }); + }); + } + + build() { + Column() { + // Title + Text($r('app.string.choiceDevice')) + .fontSize(20) + .fontWeight(FontWeight.Bold) + .width('100%') + .textAlign(TextAlign.Start) + .margin({ bottom: 15 }) + + // List + List({ space: 10 }) { + ForEach(this.deviceList, (item: deviceManager.DeviceBasicInfo, index: number | undefined) => { + ListItem() { + // Call the @Builder function to construct the item + this.buildDeviceItem(item, index); + } + }, (item: deviceManager.DeviceBasicInfo) => item.deviceName); + } + .width('100%') + .layoutWeight(1) + + // Button + Button() { + Text($r('app.string.cancel')) + .fontSize(16) + .fontWeight(FontWeight.Medium) + } + .width('100%') + .height(44) + .type(ButtonType.Capsule) + .backgroundColor('#F1F3F5') + .fontColor(Color.Black) + .margin({ top: 20 }) + .onClick(() => { + if (this.controller !== undefined) { + this.controller.close(); + } + }); + } + // Overall dialog styling + .width('85%') + .padding(20) + .backgroundColor(Color.White) + .borderRadius(20) + .shadow({ radius: 10, color: '#1F000000', offsetX: 0, offsetY: 5 }); + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/TitleBarComponent.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/TitleBarComponent.ets new file mode 100644 index 000000000..f57536470 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/common/TitleBarComponent.ets @@ -0,0 +1,153 @@ +/* + * Copyright (c) 2022-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 deviceManager from '@ohos.distributedDeviceManager'; +import Logger from '../utils/Logger'; +import { DeviceDialog } from '../common/DeviceDialog'; +import { RemoteDeviceModel, BUNDLE_NAME } from '../recorder/RemoteDeviceModel'; +import common from '@ohos.app.ability.common'; +import Want from '@ohos.app.ability.Want'; +import { router } from '@kit.ArkUI'; + +const TAG: string = 'Sample_TitleBarComponent'; +const DATA_CHANGE: string = 'dataChange'; +const EXIT: string = 'exit'; +const DEVICE_DISCOVERY_RANGE: number = 1000; + +@Component +export struct TitleBarComponent { + @Prop isLand: boolean | null = null; + @State selectedIndex: number | undefined = 0; + @StorageLink('deviceList') deviceList: Array = []; + private isShow: boolean = false; + private startAbilityCallBack: (key: string) => void = () => { + }; + private dialogController: CustomDialogController | null = null; + private remoteDeviceModel: RemoteDeviceModel = new RemoteDeviceModel(); + onSelectedIndexChange = (index: number | undefined) => { + Logger.info(TAG, `selectedIndexChange`); + this.selectedIndex = index; + this.dialogController?.close(); + this.selectDevice(); + }; + + aboutToAppear() { + AppStorage.setOrCreate('deviceList', this.deviceList); + } + + clearSelectState() { + this.deviceList = []; + if (this.dialogController !== null) { + this.dialogController.close(); + } + Logger.info(TAG, `cancelDialog`); + if (this.remoteDeviceModel === undefined) { + return; + } + this.remoteDeviceModel.unregisterDeviceListCallback(); + } + + selectDevice() { + if (this.selectedIndex !== undefined && (this.remoteDeviceModel === null || this.remoteDeviceModel.discoverList.length <= 0)) { + Logger.info(TAG, `continue unauthed device: ${JSON.stringify(this.deviceList)}`); + this.clearSelectState(); + return; + } + Logger.info(TAG, `needAuth:`); + if (this.selectedIndex !== undefined) { + console.log(TAG, ',', this.deviceList.length, ',' , this.deviceList[this.selectedIndex].deviceName); + + this.remoteDeviceModel.authenticateDevice(this.deviceList[this.selectedIndex], () => { + Logger.info(TAG, `auth and online finished`); + if (this.remoteDeviceModel !== null && this.remoteDeviceModel.deviceList !== null && this.selectedIndex !== undefined) { + for (let i = 0; i < this.remoteDeviceModel.deviceList!.length; i++) { + if (this.remoteDeviceModel.deviceList![i].deviceName === this.deviceList[this.selectedIndex].deviceName) { + } + } + } + }); + } + this.clearSelectState(); + } + + showDiainfo() { + this.deviceList = []; + // 注册监听回调,发现设备或查找到已认证设备会弹窗显示 + this.remoteDeviceModel.registerDeviceListCallback(() => { + this.deviceList = []; + let context: common.UIAbilityContext | undefined = AppStorage.get('UIAbilityContext'); + if (context !== undefined) { + this.deviceList.push({ + deviceId: '0', + deviceName: context.resourceManager.getStringSync($r('app.string.localhost').id), + deviceType: '0', + networkId: '' + }); + } + let deviceTempList = this.remoteDeviceModel.discoverList.length > 0 ? this.remoteDeviceModel.discoverList : this.remoteDeviceModel.deviceList; + if (deviceTempList !== null) { + for (let i = 0; i < deviceTempList!.length; i++) { + Logger.info(TAG, `found device ${i}/${deviceTempList!.length} deviceId= ${deviceTempList![i].deviceId}, deviceName= ${deviceTempList![i].deviceName}, deviceType= ${deviceTempList![i].deviceType}`); + if (deviceTempList !== null) { + this.deviceList.push({ + deviceId: deviceTempList![i].deviceId, + deviceName: deviceTempList![i].deviceName, + deviceType: deviceTempList![i].deviceType, + networkId: deviceTempList![i].networkId, + }); + AppStorage.set('deviceList', this.deviceList); + } + } + } + }); + if (this.dialogController === null) { + this.dialogController = new CustomDialogController({ + builder: DeviceDialog({ + selectedIndex: this.selectedIndex, + onSelectedIndexChange: this.onSelectedIndexChange + }), + cancel: () => { + this.clearSelectState(); + }, + autoCancel: true, + alignment: this.isLand ? DialogAlignment.Center : DialogAlignment.Bottom, + customStyle: false + }); + } + if (this.dialogController !== null) { + this.dialogController.open(); + } + } + + build() { + Row() { + Blank().layoutWeight(1); + if (!this.isShow) { + Image($r('app.media.ic_hop_normal1')) + .id('selectDevice') + .margin({ right: 32 }) + .width('9%') + .margin({ right: '12%' }) + .objectFit(ImageFit.Contain) + .onClick(() => { + this.showDiainfo(); + }); + } + } + .width('100%') + .height(this.isLand ? '10%' : '6%') + .constraintSize({ minHeight: 50 }) + .alignItems(VerticalAlign.Center); + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entryability/EntryAbility.ts b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entryability/EntryAbility.ts new file mode 100644 index 000000000..ce7d1ed97 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entryability/EntryAbility.ts @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2023-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 { BusinessError } from '@kit.BasicServicesKit'; +import { abilityAccessCtrl, AbilityConstant, Permissions, + UIAbility, Want } from '@kit.AbilityKit'; +import { window } from '@kit.ArkUI'; + +/** + * Lift cycle management of Ability. + */ +// [Start request_permissions] +export default class EntryAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + console.info('Sample_VideoRecorder', 'Ability onCreate,requestPermissionsFromUser'); + let permissionNames: Array = ['ohos.permission.MEDIA_LOCATION', 'ohos.permission.READ_MEDIA', + 'ohos.permission.WRITE_MEDIA', 'ohos.permission.CAMERA', 'ohos.permission.MICROPHONE', 'ohos.permission.DISTRIBUTED_DATASYNC']; + abilityAccessCtrl.createAtManager().requestPermissionsFromUser(this.context, permissionNames).then((data)=> { + console.info('testTag', data); + }) + .catch((err : BusinessError) => { + console.error('testTag', err.message); + }); + } + // [StartExclude request_permissions] + onDestroy() { + console.info('Sample_VideoRecorder', 'Ability onDestroy'); + } + + async onWindowStageCreate(windowStage: window.WindowStage) { + // Main window is created, set main page for this ability + console.info('Sample_VideoRecorder', 'Ability onWindowStageCreate'); + windowStage.loadContent('recorder/VideoRecorder', (err, data) => { + if (err.code) { + console.error('Sample_VideoRecorder', 'Failed to load the content. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Sample_VideoRecorder', 'Succeeded in loading the content. Data: ' + JSON.stringify(data)); + windowStage.getMainWindow().then((win: window.Window) => { + win.setWindowKeepScreenOn(true); + }) + }); + } + + onWindowStageDestroy() { + // Main window is destroyed, release UI related resources + console.info('Sample_VideoRecorder', 'Ability onWindowStageDestroy'); + } + + onForeground() { + // Ability has brought to foreground + console.info('Sample_VideoRecorder', 'Ability onForeground'); + } + + onBackground() { + // Ability has back to background + console.info('Sample_VideoRecorder', 'Ability onBackground'); + } + // [EndExclude request_permissions] +} +// [End request_permissions] \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets new file mode 100644 index 000000000..69a47ce6b --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/entrybackupability/EntryBackupAbility.ets @@ -0,0 +1,26 @@ +/* + * 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 { BackupExtensionAbility, BundleVersion } from '@kit.CoreFileKit'; + +export default class EntryBackupAbility extends BackupExtensionAbility { + async onBackup() { + hilog.info(0x0000, 'testTag', 'onBackup ok'); + } + + async onRestore(bundleVersion: BundleVersion) { + hilog.info(0x0000, 'testTag', 'onRestore ok %{public}s', JSON.stringify(bundleVersion)); + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/RemoteDeviceModel.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/RemoteDeviceModel.ets new file mode 100644 index 000000000..25646d544 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/RemoteDeviceModel.ets @@ -0,0 +1,275 @@ +/* + * Copyright (c) 2022-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 deviceManager from '@ohos.distributedDeviceManager'; +import Logger from '../utils/Logger'; +import { Callback } from '@ohos.base'; + +interface deviceData { + device: deviceManager.DeviceBasicInfo; +} + +interface extraInfo { + bindType: number; + targetPkgName: string; + appName: string; +} + +const TAG: string = 'Sample_RemoteDeviceModel'; +let SUBSCRIBE_ID: number = 100; + +export const BUNDLE_NAME: string = 'com.samples.avrecorder'; + +export class RemoteDeviceModel { + public deviceList: Array | null = []; + public discoverList: Array = []; + private callback: () => void = () => { + }; + private authCallback: () => void = () => { + }; + private deviceManager: deviceManager.DeviceManager | undefined = undefined; + + registerDeviceListCallback(callback: Callback) { + Logger.info(TAG, `deviceManager type =${typeof (this.deviceManager)} ,${JSON.stringify(this.deviceManager)} ,${JSON.stringify(this.deviceManager) === '{}'}`); + if (typeof (this.deviceManager) !== 'undefined') { + this.registerDeviceListCallbackImplement(callback); + return; + } + Logger.info(TAG, 'deviceManager.createDeviceManager begin'); + try { + let dmInstance = deviceManager.createDeviceManager(BUNDLE_NAME); + this.deviceManager = dmInstance; + this.registerDeviceListCallbackImplement(callback); + Logger.info(TAG, `createDeviceManager callback returned, value= ${JSON.stringify(this.deviceManager)}`); + } catch (error) { + Logger.error(TAG, `createDeviceManager throw code:${error.code} message:${error.message}`); + } + Logger.info(TAG, 'deviceManager.createDeviceManager end'); + } + + changeStateOnline(device: deviceManager.DeviceBasicInfo) { + if (this.deviceList !== null && !this.deviceList.some((existDevice) => existDevice.deviceId === device.deviceId)) { + this.deviceList![this.deviceList!.length] = device; + } + Logger.info(TAG, `online, device list= ${JSON.stringify(this.deviceList)}`); + this.callback(); + if (this.authCallback !== null) { + this.authCallback(); + this.authCallback = () => { + }; + } + } + + changeStateOffline(device: deviceManager.DeviceBasicInfo) { + if (this.deviceList !== null && this.deviceList!.length > 0) { + let list: Array = []; + for (let j = 0; j < this.deviceList!.length; j++) { + if (this.deviceList![j].deviceId !== device.deviceId) { + list[j] = device; + } + } + this.deviceList = list; + } + Logger.info(TAG, `offline, updated device list=${JSON.stringify(device)}`); + this.callback(); + } + + changeState(device: deviceManager.DeviceBasicInfo, state: number) { + if (this.deviceList !== null && this.deviceList!.length <= 0) { + this.callback(); + return; + } + if (this.deviceList !== null && state === deviceManager.DeviceStateChange.AVAILABLE) { + let list: Array = new Array(); + for (let i = 0; i < this.deviceList!.length; i++) { + if (this.deviceList![i].deviceId !== device.deviceId) { + list[i] = device; + } + } + this.deviceList = list; + Logger.info(TAG, `ready, device list= ${JSON.stringify(device)}`); + this.callback(); + } else { + if (this.deviceList !== null) { + for (let j = 0; j < this.deviceList!.length; j++) { + if (this.deviceList![j].deviceId === device.deviceId) { + this.deviceList![j] = device; + break; + } + } + Logger.info(TAG, `offline, device list= ${JSON.stringify(this.deviceList)}`); + this.callback(); + } + } + } + + registerDeviceListCallbackImplement(callback: Callback) { + Logger.info(TAG, 'registerDeviceListCallback'); + this.callback = callback; + if (this.deviceManager === undefined) { + Logger.error(TAG, 'deviceManager has not initialized'); + this.callback(); + return; + } + Logger.info(TAG, 'getTrustedDeviceListSync begin'); + try { + let list = this.deviceManager !== undefined ? this.deviceManager.getAvailableDeviceListSync() : null; + Logger.info(TAG, `getTrustedDeviceListSync end, deviceList= ${JSON.stringify(list)}`); + if (typeof (list) !== 'undefined' && JSON.stringify(list) !== '[]') { + this.deviceList = list!; + } + Logger.info(TAG, `getTrustedDeviceListSync end, deviceList=${JSON.stringify(list)}`); + } catch (error) { + Logger.error(TAG, `getTrustedDeviceListSync throw code:${error.code} message:${error.message}`); + } + this.callback(); + Logger.info(TAG, 'callback finished'); + try { + if (this.deviceManager !== undefined) { + this.deviceManager.on('deviceStateChange', (data) => { + if (data === null) { + return; + } + Logger.info(TAG, `deviceStateChange data= ${JSON.stringify(data)}`); + switch (data.action) { + case deviceManager.DeviceStateChange.AVAILABLE: + this.changeState(data.device, deviceManager.DeviceStateChange.AVAILABLE); + break; + case deviceManager.DeviceStateChange.UNKNOWN: + this.changeStateOnline(data.device); + break; + case deviceManager.DeviceStateChange.UNAVAILABLE: + this.changeStateOffline(data.device); + break; + default: + break; + } + }); + } + if (this.deviceManager !== undefined) { + this.deviceManager.on('discoverSuccess', (data) => { + if (data === null) { + return; + } + this.discoverList = []; + Logger.info(TAG, `discoverSuccess data=${JSON.stringify(data)}`); + this.deviceFound(data.device); + }); + this.deviceManager.on('discoverFailure', (data) => { + Logger.info(TAG, `discoverFailure data= ${JSON.stringify(data)}`); + }); + this.deviceManager.on('serviceDie', () => { + Logger.error(TAG, 'serviceDie'); + }); + } + } catch (error) { + Logger.error(TAG, `on throw code:${error.code} message:${error.message}`); + } + this.startDeviceDiscovery(); + } + + deviceFound(data: deviceManager.DeviceBasicInfo) { + for (let i = 0; i < this.discoverList.length; i++) { + if (this.discoverList[i].deviceId === data.deviceId) { + Logger.info(TAG, 'device founded ignored'); + return; + } + } + this.discoverList[this.discoverList.length] = data; + Logger.info(TAG, `deviceFound self.discoverList= ${this.discoverList}`); + this.callback(); + } + + /** + * 通过SUBSCRIBE_ID搜索分布式组网内的设备 + */ + startDeviceDiscovery() { + let discoverParam: Record = { + 'discoverTargetType': 1 + }; + + let filterOptions: Record = { + 'availableStatus': 0, + }; + + Logger.info(TAG, `startDeviceDiscovery${SUBSCRIBE_ID}`); + try { + if (this.deviceManager !== undefined) { + this.deviceManager.startDiscovering(discoverParam, filterOptions); + } + } catch (error) { + Logger.error(TAG, `startDeviceDiscovery throw code:${error.code} message:${error.message}`); + } + } + + unregisterDeviceListCallback() { + Logger.info(TAG, `stopDeviceDiscovery ${SUBSCRIBE_ID}`); + if (this.deviceManager === undefined) { + return; + } + if (this.deviceManager !== undefined) { + try { + Logger.info(TAG, `stopDiscovering`); + this.deviceManager.stopDiscovering(); + } catch (error) { + Logger.error(TAG, `stopDeviceDiscovery throw code:${JSON.stringify(error.code)} message:${error.message}`); + } + try { + this.deviceManager.off('deviceStateChange'); + this.deviceManager.off('discoverSuccess'); + this.deviceManager.off('discoverFailure'); + this.deviceManager.off('serviceDie'); + } catch (error) { + Logger.error(TAG, `off throw code:${error.code} message:${error.message}`); + } + } + this.deviceList = []; + this.discoverList = []; + } + + authenticateDevice(device: deviceManager.DeviceBasicInfo, callBack: Callback) { + Logger.info(TAG, `authenticateDevice ${JSON.stringify(device)}`); + Logger.info(TAG, `authenticateDevice ${device.networkId}`); + for (let i = 0; i < this.discoverList.length; i++) { + if (this.discoverList[i].deviceId !== device.deviceId) { + continue; + } + if (this.deviceManager === undefined) { + return; + } + try { + if (this.deviceManager !== undefined) { + this.deviceManager.bindTarget(device.deviceId, { + bindLevel: 3, + bindType: 1, + targetPkgName: BUNDLE_NAME, + appName: 'Distributed distributecalc', + }, (err, data) => { + if (err) { + Logger.error(TAG, `authenticateDevice error: ${JSON.stringify(err)}`); + this.authCallback = () => { + }; + return; + } + Logger.info(TAG, `authenticateDevice succeed: ${JSON.stringify(data)}`); + this.authCallback = callBack; + }); + } + } catch (error) { + Logger.error(TAG, `authenticateDevice throw throw code:${error.code} message:${error.message}`); + } + } + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/VideoRecorder.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/VideoRecorder.ets new file mode 100644 index 000000000..126c9eca0 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/recorder/VideoRecorder.ets @@ -0,0 +1,376 @@ +/* + * Copyright (C) 2023-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 { camera } from '@kit.CameraKit'; +import { BusinessError } from '@kit.BasicServicesKit'; +import Logger from '../utils/Logger'; +import SaveCameraAsset from '../utils/SaveCameraAsset'; +import { RemoteDeviceModel } from './RemoteDeviceModel'; +import { TitleBarComponent } from '../common/TitleBarComponent'; +import { fileIo } from '@kit.CoreFileKit'; +import { image } from '@kit.ImageKit'; + +const TAG: string = 'Sample_PhotoTaker'; + +@Entry +@Component +struct PhotoTaker { + // --- UI State --- + @State isLand: boolean = false; + @State isShow: boolean = false; + // --- Core Camera Objects --- + private surfaceId: string = ''; + private xcomponentController: XComponentController = new XComponentController(); + private cameraManager?: camera.CameraManager; + private cameras?: Array; + private cameraInput?: camera.CameraInput; + private cameraSession?: camera.Session; + private previewOutput?: camera.PreviewOutput; + private photoReceiver?: image.ImageReceiver; + private photoOutput?: camera.PhotoOutput; + // --- Helper Objects --- + private mFileAssetId?: number = 0; + private cameraIndex: number = 0; + private cameraOutputCapability?: camera.CameraOutputCapability; + private remoteDeviceModel: RemoteDeviceModel = new RemoteDeviceModel(); + + // --- Lifecycle & Callbacks --- + aboutToAppear(): void { + Logger.info(TAG, 'aboutToAppear'); + } + + aboutToDisappear(): void { + Logger.info(TAG, 'aboutToDisappear called'); + this.releaseCamera(); + } + async failureCallback(error: BusinessError): Promise { + Logger.error(TAG, `Operation failed: ${error.code}, ${error.message}`); + } + + async catchCallback(error: BusinessError): Promise { + Logger.error(TAG, `Operation caught exception: ${error.message}`); + } + + // --- Camera Initialization --- + // [Start init_camera] + async initCamera(): Promise { + Logger.info(TAG, 'initCamera called'); + if (this.cameraManager) { + return; + } + this.cameraManager = camera.getCameraManager(globalThis.abilityContext); + this.cameras = this.cameraManager.getSupportedCameras(); + if (this.cameras) { + this.cameraIndex = + this.cameras.findIndex(cam => cam.connectionType === camera.ConnectionType.CAMERA_CONNECTION_REMOTE); + if (this.cameraIndex !== -1) { + this.cameraOutputCapability = this.cameraManager.getSupportedOutputCapability(this.cameras[this.cameraIndex], + camera.SceneMode.NORMAL_PHOTO); + } + } + } + // [End init_camera] + + // [Start camera_input] + async createCameraInput(): Promise { + if (!this.cameras || this.cameraIndex === -1 || !this.cameraManager) { + Logger.error(TAG, 'createCameraInput failed: prerequisites not met.'); + return; + } + const came = this.cameras[this.cameraIndex]; + this.cameraInput = this.cameraManager.createCameraInput(came); + + if (!this.cameraInput) { + Logger.error(TAG, 'createCameraInput failed: cameraManager.createCameraInput returned undefined.'); + return; + } + try { + await this.cameraInput.open(); + Logger.info(TAG, 'CameraInput opened successfully.'); + } catch (error) { + const err = error as BusinessError; + Logger.error(TAG, `cameraInput.open() failed with code: ${err.code}, message: ${err.message}`); + } + } + // [End camera_input] + + // [Start create_preview] + async createPreviewOutput(): Promise { + // Use optional chaining for a clean prerequisite check + if (this.cameraOutputCapability?.previewProfiles && this.cameraManager && this.surfaceId) { + // Select the first available preview profile + const previewProfile = this.cameraOutputCapability.previewProfiles[0]; + + this.previewOutput = this.cameraManager.createPreviewOutput(previewProfile, this.surfaceId); + + // Add a clear check to validate the result of the API call + if (!this.previewOutput) { + Logger.error(TAG, 'createPreviewOutput failed: cameraManager.createPreviewOutput returned undefined.'); + } else { + Logger.info(TAG, 'PreviewOutput created successfully.'); + } + } else { + Logger.error(TAG, 'createPreviewOutput failed: prerequisites not met (capability, manager, or surfaceId missing).'); + } + } + // [End create_preview] + + // [Start create_photo] + async createPhotoOutput() { + if (!this.cameraManager || this.photoReceiver) { + return; + } + + const photoProfile: camera.Profile = { + format: camera.CameraFormat.CAMERA_FORMAT_JPEG, + size: { 'width': 1280, 'height': 720 } + }; + + try { + this.photoReceiver = image.createImageReceiver(photoProfile.size, image.ImageFormat.JPEG, 8); + this.photoReceiver.on('imageArrival', () => { + (async () => { + if (!this.photoReceiver) { + Logger.error(TAG, 'photoReceiver is undefined in imageArrival callback.'); + return; + } + let receivedImage: image.Image | undefined = undefined; + try { + receivedImage = await this.photoReceiver.readNextImage(); + const component = await receivedImage.getComponent(image.ComponentType.JPEG); + await this.getImageFileFd(); + await fileIo.write(this.mFileAssetId, component.byteBuffer); + Logger.info(TAG, 'Photo saved successfully!'); + } catch (e) { + Logger.error(TAG, `Error processing image: ${JSON.stringify(e)}`); + } finally { + if (receivedImage) { + await receivedImage.release(); + } + await this.closeFd(); + } + })(); + }); + + const surfaceId = await this.photoReceiver.getReceivingSurfaceId(); + this.photoOutput = this.cameraManager.createPhotoOutput(photoProfile, surfaceId); + } catch (error) { + Logger.error(TAG, `createPhotoOutput failed: ${JSON.stringify(error)}`); + } + } + private mSaveCameraAsset: SaveCameraAsset = new SaveCameraAsset(TAG); + + async getImageFileFd(): Promise { + this.mFileAssetId = await this.mSaveCameraAsset.createImageFd(); + } + + async closeFd(): Promise { + if (this.mSaveCameraAsset) { + await this.mSaveCameraAsset.closeImageFile(); + } + this.mFileAssetId = undefined; + } + // [End create_photo] + + // [Start create_session] + async createSession(): Promise { + Logger.info(TAG, 'createSession called'); + if (!this.cameraManager) { + Logger.error(TAG, 'createSession failed: cameraManager is not initialized.'); + return; + } + this.cameraSession = this.cameraManager.createSession(camera.SceneMode.NORMAL_PHOTO); + if (!this.cameraSession) { + Logger.error(TAG, 'createSession failed: cameraManager.createSession returned undefined.'); + return; + } + + try { + Logger.info(TAG, 'cameraSession beginConfig'); + this.cameraSession.beginConfig(); + + if (this.cameraInput) { + Logger.info(TAG, 'cameraSession addInput: cameraInput'); + this.cameraSession.addInput(this.cameraInput); + } + if (this.previewOutput) { + Logger.info(TAG, 'cameraSession addOutput: previewOutput'); + this.cameraSession.addOutput(this.previewOutput); + } + if (this.photoOutput) { + Logger.info(TAG, 'cameraSession addOutput: photoOutput'); + this.cameraSession.addOutput(this.photoOutput); + } + + Logger.info(TAG, 'cameraSession commitConfig'); + await this.cameraSession.commitConfig(); + Logger.info(TAG, 'cameraSession commitConfig successfully.'); + + } catch (error) { + const err = error as BusinessError; + Logger.error(TAG, `cameraSession configuration failed with code: ${err.code}, message: ${err.message}`); + this.failureCallback(err); + } + } + // [End create_session] + + // [Start start_session] + async startSession(): Promise { + Logger.info(TAG, 'startSession called'); + if (!this.cameraSession) { + Logger.error(TAG, 'startSession failed: captureSession does not exist!'); + return; + } + + try { + await this.cameraSession.start(); + Logger.info(TAG, 'cameraSession started successfully.'); + } catch (error) { + const err = error as BusinessError; + Logger.error(TAG, `Failed to start session! Code: ${err.code}, Msg: ${err.message}`); + } + } + // [End start_session] + + // [Start release_camera] + async releaseCamera(): Promise { + Logger.info(TAG, '--- STARTING CAMERA RELEASE SEQUENCE ---'); + + try { + // Step 1: Stop and release the session + if (this.cameraSession) { + Logger.info(TAG, 'Stopping capture session...'); + await this.cameraSession.stop(); + Logger.info(TAG, 'Releasing capture session...'); + await this.cameraSession.release(); + this.cameraSession = undefined; + } + + // Step 2: Release the preview output + if (this.previewOutput) { + Logger.info(TAG, 'Releasing preview output...'); + await this.previewOutput.release(); + this.previewOutput = undefined; + } + + // Step 3: Release the photo output and receiver + if (this.photoOutput) { + Logger.info(TAG, 'Releasing photo output...'); + await this.photoOutput.release(); + this.photoOutput = undefined; + } + if (this.photoReceiver) { + Logger.info(TAG, 'Releasing photo receiver...'); + await this.photoReceiver.release(); + this.photoReceiver = undefined; + } + + // Step 4: Close the camera input + if (this.cameraInput) { + Logger.info(TAG, 'Closing camera input...'); + await this.cameraInput.close(); + this.cameraInput = undefined; + } + + Logger.info(TAG, 'All camera resources released.'); + + } catch (error) { + const err = error as BusinessError; + Logger.error(TAG, `Error during camera release! Code: ${err.code}, Msg: ${err.message}`); + } finally { + // Ensure core objects are cleared even if an error occurs + this.cameraManager = undefined; + this.cameras = undefined; + Logger.info(TAG, '--- CAMERA RELEASE SEQUENCE ENDED ---'); + } + } + // [End release_camera] + async enterInit(): Promise { + Logger.info(TAG, 'enterInit called'); + await this.initCamera(); + await this.createCameraInput(); + await this.createPreviewOutput(); + await this.createPhotoOutput(); + await this.createSession(); + await this.startSession(); + Logger.info(TAG, 'end enterInit'); + } + + // --- User Actions --- + async takePicture(): Promise { + if (!this.photoOutput) { + Logger.error(TAG, 'photoOutput is not ready!'); + return; + } + Logger.info(TAG, 'takePicture called'); + await this.photoOutput.capture(); + } + + build() { + Column() { + Row() { + Flex({ direction: FlexDirection.Row, justifyContent: FlexAlign.SpaceBetween }) { + TitleBarComponent({ + isLand: this.isLand, + startAbilityCallBack: () => { + }, + remoteDeviceModel: this.remoteDeviceModel, + isShow: this.isShow + }) + Button('Connect Remote') + .onClick(() => this.enterInit()) + } + } + + Stack({ alignContent: Alignment.Bottom }) { + XComponent({ + id: 'xcomponent1', + type: 'surface', + controller: this.xcomponentController + }) + .onLoad(() => { + this.xcomponentController.setXComponentSurfaceSize({ surfaceWidth: 1280, surfaceHeight: 720 }); + this.surfaceId = this.xcomponentController.getXComponentSurfaceId(); + }) + .width('100%').height('100%') + + // This is the new button, replacing the old one. + Row() { + Button() { + Text() + .width('240px') + .height('240px') + .borderRadius('120px') + // Using a fixed color as requested + .backgroundColor('#FFFFFF') + } + .border({ width: 3, color: 0xFFFFFF, radius: 70 }) + .width('300px') + .height('300px') + .margin({ left: 30, right: 30, bottom: 50 }) // Added bottom margin for spacing + .backgroundColor('rgba(255,255,255,0.20)') + .onClick(() => { + // Correctly calls the takePicture function + this.takePicture(); + }) + .id('takePictureButton') + } + .width('100%') + .justifyContent(FlexAlign.Center) + + }.width('100%').layoutWeight(1) + } + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/DateTimeUtils.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/DateTimeUtils.ets new file mode 100644 index 000000000..dab924e28 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/DateTimeUtils.ets @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2023-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. + */ + +export default class DateTimeUtil { + getTime(): string { + const DATETIME = new Date(); + return this.concatTime(DATETIME.getHours(), DATETIME.getMinutes(), DATETIME.getSeconds()); + } + + getDate(): string { + const DATETIME = new Date(); + return this.concatDate(DATETIME.getFullYear(), DATETIME.getMonth() + 1, DATETIME.getDate()); + } + + fill(value: number): string { + return (value > 9 ? '' : '0') + value; + } + + concatDate(year: number, month: number, date: number): string { + return `${year}${month}${date}`; + } + + concatTime(hour: number, minute: number, second: number): string { + return `${this.fill(hour)}${this.fill(minute)}${this.fill(second)}`; + } +} + +export function getShownTimer(ms: number): string { + let seconds: number = Math.round(ms / 1000); + let sec: number = seconds % 60; + let min: number = (seconds - sec) / 60; + if (sec < 10) { + sec = 0 + sec; + } + if (min < 10) { + min = 0 + min; + } + return min + ':' + sec; +} + +export function dateTime(t: number): string { + let minute: number = Math.floor(t / 60) % 60; + let m = minute < 10 ? '0' + minute : minute; + let second: number = t % 60; + let s = second < 10 ? '0' + second : second; + return m + ':' + s; +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/Logger.ts b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/Logger.ts new file mode 100644 index 000000000..eaa9d847c --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/Logger.ts @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2023-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 '@ohos.hilog'; + +class Logger { + private domain: number; + private prefix: string; + private format: string = '%{public}s, %{public}s'; + + constructor(prefix: string) { + this.prefix = prefix; + this.domain = 0xFF00; + } + + debug(...args: string[]): void { + hilog.debug(this.domain, this.prefix, this.format, args); + } + + info(...args: string[]): void { + hilog.info(this.domain, this.prefix, this.format, args); + } + + warn(...args: string[]): void { + hilog.warn(this.domain, this.prefix, this.format, args); + } + + error(...args: string[]): void { + hilog.error(this.domain, this.prefix, this.format, args); + } +} + +export default new Logger('AVRecorderSample'); \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/SaveCameraAsset.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/SaveCameraAsset.ets new file mode 100644 index 000000000..51c8b9d05 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/ets/utils/SaveCameraAsset.ets @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2023-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 { common } from '@kit.AbilityKit'; +import { fileIo as fs } from '@kit.CoreFileKit'; +import DateTimeUtil from './DateTimeUtils'; +import Logger from './Logger'; +import { photoAccessHelper } from '@kit.MediaLibraryKit'; +import { dataSharePredicates } from '@kit.ArkData'; + +export default class SaveCameraAsset { + private tag: string; + + constructor(tag: string) { + this.tag = tag; + } + + private context = getContext(this) as common.UIAbilityContext; + private lastSaveTime: string = ''; + private saveIndex: number = 0; + public VideoPrepareFile?: fs.File; + public AudioPrepareFile?: fs.File; + public ImagePrepareFile?: fs.File; + + public async createImageFd() { + Logger.info(this.tag, 'get Image File Fd'); + const mDateTimeUtil = new DateTimeUtil(); + const displayName = this.checkName(`REC_${mDateTimeUtil.getDate()}_${mDateTimeUtil.getTime()}`) + '.jpg'; + Logger.info(this.tag, 'get Image display name is: ' + displayName); + this.ImagePrepareFile = fs.openSync(this.context.filesDir + '/' + displayName, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); + let fdNumber: number = this.ImagePrepareFile.fd; + Logger.info(this.tag, 'get Image File fd is: ' + JSON.stringify(fdNumber)); + return fdNumber; + } + + public async closeImageFile() { + if (this.ImagePrepareFile) { + await fs.close(this.ImagePrepareFile); + Logger.info(this.tag, 'close Image File end'); + } + } + + public async createVideoFd() { + Logger.info(this.tag, 'get Recorder File Fd'); + const mDateTimeUtil = new DateTimeUtil(); + const displayName = this.checkName(`REC_${mDateTimeUtil.getDate()}_${mDateTimeUtil.getTime()}`) + '.mp4'; + Logger.info(this.tag, 'get Recorder display name is: ' + displayName); + this.VideoPrepareFile = fs.openSync(this.context.filesDir + '/' + displayName, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); + let fdNumber: number = this.VideoPrepareFile.fd; + Logger.info(this.tag, 'get Recorder File fd is: ' + JSON.stringify(fdNumber)); + return fdNumber; + } + + public async closeVideoFile() { + if (this.VideoPrepareFile) { + await fs.close(this.VideoPrepareFile); + Logger.info(this.tag, 'close Video File end'); + } + } + + public async createAudioFd() { + Logger.info(this.tag, 'get Recorder File Fd'); + const mDateTimeUtil = new DateTimeUtil(); + const displayName = this.checkName(`REC_${mDateTimeUtil.getDate()}_${mDateTimeUtil.getTime()}`) + '.wav'; + Logger.info(this.tag, 'get Recorder display name is: ' + displayName); + this.AudioPrepareFile = fs.openSync(this.context.filesDir + '/' + displayName, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); + let fdNumber: number = this.AudioPrepareFile.fd; + Logger.info(this.tag, 'get Recorder File fd is: ' + JSON.stringify(fdNumber)); + return fdNumber; + } + + public async closeAudioFile() { + if (this.AudioPrepareFile) { + await fs.close(this.AudioPrepareFile); + Logger.info(this.tag, 'close Audio File end'); + } + } + + private checkName(name: string): string { + if (this.lastSaveTime == name) { + this.saveIndex += 1; + return `${name}_${this.saveIndex}`; + } + this.lastSaveTime = name; + this.saveIndex = 0; + Logger.info(this.tag, 'get Recorder File name is: ' + name); + return name; + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/module.json5 b/DistributedAppDev/hapAppDcameraSample/entry/src/main/module.json5 new file mode 100644 index 000000000..75b6546c1 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/module.json5 @@ -0,0 +1,137 @@ +/* + * 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. + */ +{ + "module": { + "name": "entry", + "type": "entry", + "description": "$string:module_desc", + "mainElement": "EntryAbility", + "deviceTypes": [ + "phone", + "tablet", + "2in1" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:main_pages", + "abilities": [ + { + "name": "EntryAbility", + "srcEntry": "./ets/entryability/EntryAbility.ts", + "description": "$string:EntryAbility_desc", + "icon": "$media:layered_image", + "label": "$string:EntryAbility_label", + "startWindowIcon": "$media:startIcon", + "startWindowBackground": "$color:start_window_background", + "exported": true, + "skills": [ + { + "entities": [ + "entity.system.home" + ], + "actions": [ + "action.system.home" + ] + } + ] + } + ], + "requestPermissions": [ + { + "name": 'ohos.permission.DISTRIBUTED_DATASYNC', + "reason": "$string:reason", + "usedScene": { + "abilities": [ + "EntryAbility" + ], + "when": "inuse" + } + }, + { + "name": 'ohos.permission.USE_BLUETOOTH', + "reason": '$string:reason' + }, + { + "name": 'ohos.permission.DISCOVER_BLUETOOTH', + "reason": '$string:reason' + }, + { + "name": "ohos.permission.MEDIA_LOCATION", + "reason": "$string:reason", + "usedScene": { + "abilities": [ + "EntryAbility" + ], + "when": "inuse" + } + }, + { + "name": "ohos.permission.READ_MEDIA", + "reason": "$string:reason", + "usedScene": { + "abilities": [ + "EntryAbility" + ], + "when": "inuse" + } + }, + { + "name": "ohos.permission.WRITE_MEDIA", + "reason": "$string:reason", + "usedScene": { + "abilities": [ + "EntryAbility" + ], + "when": "inuse" + } + }, + { + "name": "ohos.permission.CAMERA", + "reason": "$string:reason", + "usedScene": { + "abilities": [ + "EntryAbility" + ], + "when": "inuse" + } + }, + { + "name": "ohos.permission.MICROPHONE", + "reason": "$string:reason", + "usedScene": { + "abilities": [ + "EntryAbility" + ], + "when": "inuse" + } + } + ], + "extensionAbilities": [ + { + "name": "EntryBackupAbility", + "srcEntry": "./ets/entrybackupability/EntryBackupAbility.ets", + "type": "backup", + "exported": false, + "metadata": [ + { + "name": "ohos.extension.backup", + "resource": "$profile:backup_config" + } + ], + } + ], + "deliveryWithInstall": true + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/color.json b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/color.json new file mode 100644 index 000000000..0d98b5c17 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/color.json @@ -0,0 +1,28 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#FFFFFF" + }, + { + "name": "button_background", + "value": "#FFFFFF" + }, + { + "name": "homepage_background", + "value": "#F1F3F5" + }, + { + "name": "title_color", + "value": "#000000" + }, + { + "name": "button_color", + "value": "#007DFF" + }, + { + "name": "divider_color", + "value": "#182431" + } + ] +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/string.json b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/string.json new file mode 100644 index 000000000..81a79fefa --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/element/string.json @@ -0,0 +1,84 @@ +{ + "string": [ + { + "name": "module_desc", + "value": "This module template implements List functions." + }, + { + "name": "ability_desc", + "value": "This ability loads ListPage" + }, + { + "name": "ability_label", + "value": "List Ability" + }, + { + "name": "page_title", + "value": "Title" + }, + { + "name": "page_title_video", + "value": "VideoRecorder" + }, + { + "name": "page_title_audio", + "value": "AudioRecorder" + }, + { + "name": "button_confirm", + "value": "confirm" + }, + { + "name": "button_cancel", + "value": "cancel" + }, + { + "name": "audio_parameter", + "value": "Select audio samplerate" + }, + { + "name": "audio_samplerate", + "value": "audio samplerate: " + }, + { + "name": "video_parameter", + "value": "Select video resolution" + }, + { + "name": "video_resolution", + "value": "video resolution: " + }, + { + "name": "reason", + "value": "Permission" + }, + { + "name": "choiceDevice", + "value": "Choice Device" + }, + { + "name": "cancel", + "value": "Cancel" + }, + { + "name": "distributed_calculator", + "value": "distributed calculator" + }, + { + "name": "distributed_permission", + "value": "Allow data exchange between different devices" + }, + { + "name": "localhost", + "value": "localhost" + }, + { + "name": "EntryAbility_desc", + "value": "EntryAbility" + }, + { + "name": "EntryAbility_label", + "value": "EntryAbility" + } + ] +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/background.png b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/background.png new file mode 100644 index 0000000000000000000000000000000000000000..f939c9fa8cc8914832e602198745f592a0dfa34d GIT binary patch literal 57364 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 A4*&oF literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/checked.png b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/checked.png new file mode 100644 index 0000000000000000000000000000000000000000..a77ded514ac884365ec515801bb34c68e6e5b7f8 GIT binary patch literal 8737 zcmcJ#Wmr^S)Hgi9IDj-rOP2~rxAf56EeH%qi@+e=DKVgwz|aaqr{plwCEYbB(p?Uc z5C8jl-~0Rf;r(#V-q&8|y7t=Zti9s5R-CT33ejV_#{d9;NKF;2|1b{x_uzpZ-j$|R z@P`4*OJ79+P&N8=2LNCOsDb4TKfFE&BJzGZleXzw4jJa}F*cze0Of?vaL_7%6z4yY zx(4H5K`Asx@goUC%xpAG=s97DLiQlM8j7)0B72mT8y74z6(2`}emHA^6a~ZsIXI|= z64CP*5#Tv&9v4-mKXT!*u<{-IwAcq_FTb8G-|a+r1tuk390p;6kAnO!Ua$D_u>{)! zZGm5vLTz3DXQIN)srpLF7Wg+zP80UQzXz`e7`G*t5K0*K;Ze#jDvd^bYytU2`+Pew z$OGyB(@NpfZK>r^oY0my?U7#M5w<={cK(de7F}8TOsO|X$$F&9v@}YzMVd6dJg(1^ z-<(@rgqT>^>3vxl4eA9>yt?u_T67&<{0raUdZvZ+AWIOYm;_h=viw`^NSHHd9z|Q* zbiYd!q=t?xj4^ZshJE{%Z2D2*;W#kAn!gKX&+kJ^m|FL(l!|04zNG2#ymx@a3 zD_pfV%?$c(2QR59iu-8!(a!^y9YgTRa)(e^0Ef9!*4@n|{7Vj@`ypn#^_tu}t!a?3 zSBQYT16_yIvbK=?u+1^84G-41&?nW1`(V<@#N(Ye)g!kj!4BvmN(y_rz*Lu*blnA6 zYLp;=fIe_i<7WV^oGe#@Pszp#eTllc*-Op=_adn=TGPzXTEda7aMenxgEM{);6$t7 z%^feanpOLzC;NO*0%k7#?j?QSKOm1?etoVZ2+NM}{L>NI+H#_;Dz{b_`TgjzVD0x~ zKG62>CJSCf?uD}v7RC=!RBeTM;idvJ3|=Fx@e~l^w&g)Us~UWyHnqUhxTn|gS*sx~ zTs(`>%vLU-B+*21;k2h$P0@J|pV%_%pOhExhYyYQ(Dp`{&zv8+JNB-~+Ur zt0@|fj25VQF|p9-d|8Ksc2YPi7i}rQx7~ca6=6!YzKtM@qn`~&5!je-K&CKrtkarq z7OBi-jnzD-!|Tp7y440J6oS}<=d^K2M!g#`9*62UHT5ZAaWFKZAoxv^%g3~&TPe!VU#n$v8hQ5O;cJL5((uE z(|qe3KH_x;)3j-0?b`^`#p8U{mEVtl6Zva>uA9384KkqC^uKe)n4(c}gpzS6uDL9J z-!y@M4XSH43T`_g87&RiKNo^;mon~;&OChpcYZaU@aFZw-|_@`J$?-x#G)h18#u3| zE@p={vidT@6TARCa5GgefWadvpLK|GMt^^dvfSU2Sy5MUYco-noeYU zkn#P1NKEqfgt;}Z)%VWHw9F2>ES)|HVYPHsMo_R}UFBCve~%a8nMv0K07oVMFY$Po z%MnbHeE>W;zq8e6B8}eCmDCD*Z8G*RH;I3f4|L^eRqgs$me`%<-T7k!kt-8BFMmo) zB>_&j$ZYSVA|YuXA!+}^~~%mYU!n`%<0k6KXh>Buj@#v)ffRrTw1Y! ztaDyHtX0k1%zs@MHus=VNrk$AdPfT;Vzuv7jYL|cQ=T)gZQxWo_ojo2mM_thFRTL< zyYMK;9>?`u0AwiinJiu{IY%aE8??^V00kH_6lqDjq(;0o2DL+^p4{>xgm<1Gm3!tQ zPQv&t&t1z|wrmyYAd-jK0OCn$(p`GxLL4y?zUren_myC!5|2A`%>1diyDnN^Vf&1C ztcjRd-h(-fNCh@7`Ufo56Obt91<5%6vl{6!TjWNmdHU#6HMsPkvfS z#YHj;;oBvI=H~Jk`K9pz<|>ZyLU2b%>~Rf|;=^&60LPCiQKTy|#IJX(-gHzMc~rP! zW1U?e7SM1}lK6%>s0QyY%=&%tiJuk$%6BpM_aMkTdXzpD8W+S7wVP|5%Mi(@wo{;H8+wY<=2ncWsh z+~IZ>Y_a9KgebSbHU{V7vFe8#Vxt*n(}H@o_g~px){)$|Rbj0G80Ss*cXo*tq?J8J-@PDjMQ>S2Dhu;5Xc`;?=QN=}aLlevddQPV&yTw=p|Wcj=(Y zwBtx&g_*CzyJfCKyd^c`l1lV)%#{^j#p|o(Y$@JPWeVRo&zMD3)jUb#Z?m`9HGfyC zvkff!%zPPxdQG~r1(~#dT)}0m>kAwS{KaLC{WJ?n1Ko+z#n+c0FsU~FvFpX}(d8;B zoitQ=y*z7+0zWy127?t#ZwQnf=O+0(!=lt5_6pWefp9qlzC?}{K-@(WQsb`KBlB=Y zRE=6+EX<09?`CPs2!|UwV}o>Bsn9?|m;JpelewQ@^f7gek&uA!gHb3i^fnTpKPftd zWz-qlmkIPn_l4U6QzgDzcQas?9`p$@9~*=htw3tzoVB1^9@9QV@r$7wHRu^0#UI__ z>5TxBB9r@Z95iS-PpM<{3MHS0iy!(B267MZ_o%eWkGs4yV^HY?1{S@wDEAJi%40@c z>4oQ!d{8)nIa)aGLPclin(-dkP*)%LG$r71I@DllL0SFSaPh$@fvNzs=uae%lD!sW zC5A$UTPkadUjjLC%o6)?N+clnV;!#5t?C5__+iWuI^l2Q=DRMZ)d{WY2|zM4wyWEa zfb`uSd2V_Aa@cM)J^0zHaE#Q3$fR&^PxbO#^w4wO^+i8< ze?veJF)g%`O~fp(_$H?zmITXg{Wy8q7K5z7p>zY{2cjcxv)f&d#C*gl_uje#N0w1y z@_mU|?c-2uFq8cIFwreGnM9^3cgPsFCZM(y;Z1O=V^?Sp=jrMbe;EK@sc&y>`eC8< zIbxl-kve6DXrkF{P6763v4F$yuhDeX`M)Yhi#gROyOv#2)lJ+Cim5NV=0^)JcCQ$| zt|NkC7n5TdwP`dohTFvABYi0*6=3HHh zA3=ycE$i}P15@h!r0d~T@g%}4h%~=^_$m$iCLeXZG-f+OWVS&HyG#m~%Cn2qQNq42 z>cKc-F62bg=-WTX1wT8q=uT850@B{F#2PNx44y^H&U%6a8@R)&Bx$E;msyC>%*%(6 z3ON%hME(0+=!asiNh!aGFq3{tEIhx3|pBix#XXG0h4o5?iyrDM`HtrjD3UfP9(ye49eJV zg&&r!w!elHyR+|aJ8G9QXxj~6d%Ec_RVl z3_Hp2+R6O+%uzDRq_}`CQFq4412-bbY>NoK;&qjfuQes74WqZtabtXSZ58SeC&`tw z1F47s*VT?U;AOUSp~EhnS-^a>xw(1n4UuaOtG9$ST_&EZzdBlO0n6UgP<&3?aQ56T zGvHlRu>qiHQ=IsPrCTEYhF$G*(#$+xoxilnYCi-*y`tT?-@RaTx}O>>IeI76LEQex zrV1<;G5T`BX+lO>6BcScw$9y{ngW;a^R}cahqU$%fAt_8j^Uv>RFOdHJ84`7gcS>9*=&@`j>bJo}_Uk{+7zqF|K2s7=k4*S%W9|W=6 zT>3^}Z*zf9cWH)5#`j_5l6bP3AMsL$T4Wu%^3>$wHE30Jmkc&*n2>^w=N+D&J1!1) z{?C`#R;F=%{vTrY>`=50;%<_P5Bf-jTY7RZTn-3%0!NC%F%(VN-d1 zA^b|>mkw2)$&tzT+|%rmyOiYM;GVriJM9j|(kOsfq$!G|VI6YW(W?I&Og!-CV8*R3 z7^2eANWl(EncrWSje!vN>8m-~JpTd9==|%6{NClCpOqrafDr)@u*<04iO*@ma1P&* zhcta&Ha2*X=KGB}F(mBE++)5G?CpBwTzaH;YTi@~y^N7mce( zWjU4A8#%u#H$)+m5^gnQ`tL=X%cX@L|ABuDUl+QkQ6?OAQo{@Wa^it3V2xo&Yg)gKqm(W>^{56T&q4N!dgn?b2be##RU z%ar^c|59zD35+ghzg1%SG(>q9AE#vUHfSv;h3=?rTJs@Zc&*xH4;UFpuS=(R1e^K$ zMzX3^m5m3ZO#e!X7da~NDbWF00~(pkX_j&zW4LnQqr?>xM84IPx--<)PlE#S7Z+Tcd}#8?aKF~kn39p@wF~Bx8GX{TlwQ|lacU3U>+W=q8%d#*bQe#c~p|$ zH@e#5^*bUgG%U#hR%AWpc~69jVGq*iZs7=;G5Go`+0SA_@fQ-b;Qcrmz%xWMm~c^2 z(O5C7_WAuXlYs77P?Wmt5(X{$ZSTT`I`$}b+S#LHQS2tB%a51bxvm-u-g#BRh~Cz{ zCetev=Z|hY@C@rNLCzD^8=@dkh7`vvu!#IN^cAA5L zmWEnOvd)T^9T~L_ugHXQe}p{RmQ}xEUTZ0IGcqePo>W{P1WI5hvoABaLEj8{Kh6dm zrfH^S9oiH>#dy%d&=WRSH5pnS>GQJ{f$ z@P6;jSuIRV`yU?8O; zHm=7v{+a$_#SscCoiwNE%15T=B8#cAj9uy9Mi9rIo`P6aVIDYyyL<~ydZ*RObb(XP zU*R98lDhei)${6c_L90GKJGq5XDVx7ii){7{X#2Je^aujp}k*tDO^SQ^Nk=ZaPA#jQw<;Vmu)Vi|6!WT~gW1=wx9_kn-@WxbpmQtblGuv>R zgZlcB({^91k@QO)jDJlkT&p8Dq<}|Xrr)G}vaQ;m17EH|_i{bfr zV8|_q=h;#VKuYh!0S_^jKS;(zG2}>$()fn#g0c>lMQ@42>U4*YZAv<>$fyOAAz9kY zsV^KtNv41|?Qbo%REbC)A~vy0YUZn|nzQsFtd7HBMmN_NrH_RCFq28(tGkk(a}(!LH;|h!9%Jo!u0vo0YUl6n`fPb z+7V;97>k@4{`%Qq zKT^O%eUK*Z%B85M$Us^4!{ z?r0G*`HpyIBEM?MdPh*Q-zce?Bz}bX!50C!zmw%Kw{-nuzQawyamKg1doQrWMgsT@ zeOj2a(~Qv7(we`T_PkWxJT_4jF5fZy_C6v*aDt>aS}15@`0Ek%@SJ3<0aVy;Si`82 zvX`@QNTqwFcBj>D?QK!_2jpVdoAII4+&gIF!BUA8EI9)3`fs17{djn-$ZcA-yA8JS z>!`875!I$|yZAGN6vewmYQI%FG?SmSk0i~2Mhxw8fia2R zTd7Pj{{?u7WX(if_%p@-@JEzyk8hNBBz#~xr;A(GU^4Q zf}$>^adPWCzna|E_6SsZ|KaW~=qTY#h7ONm1!e;AvHSXdF}3s_Qc}whMKPxtff+Dx zKFC}uH4HShWXy(%>P;345wZL03+e1U3lrI97DvDD~we1s}+ zQ^M)BDm$Y3Lb2<_G4SWwF8^n1>&n9qQbSKR2^A+Yh@D04{Rph5!A{IR%N323gN1R+ z^Yuu(&F10XSx_>skCoTF_Iu82NYVkYW*~r z4A|+AswEj!O(s5mFj%u&ylpK%?I11t4(|-iGZ}ayN46?JnDeTA`Kr=Xg=hX4Z^U|! zaqs%W(*zPAKQwc|+H&L^L6>Zvr;8_8YvyZtF`*mu>WS>6f5>lQyB`B&s+-Hftg+QS z#)Pxvz9MO71!To8KT#9W){LSe$P*|yjnrMgf8C!_b($K6 zOm&Nb*Nc;f7tbQ=Vu#mvjWmMyukYsbwiae}=tExgP#q?sG^q!itJkCW24)G73c;Fa>k)(J5Dew+W=7QG=d)Gy{M^dbarh#cwmuO z{d1Mm#(hP4CHay#q!^e*sH*XbP)6AiJo~WQ3+m99pC95o=SF_Hfuz*k`0$;VIJPn$_x=ZVn--y#bb)2CKMz?_ z1I`n)<}|3RDm&DGreUF;mp4k+M`G#S0~wrVpZ#rkFxP*Y0RzT$Poj_?fEnRa4XroJ zcQc%p5zhZ!Nax9J8_7i!)1^M_{mzJSdNKBxSZIaZ#2Z1>9G575a)DK!thrR?Xh9@F zO+Q(h`|L~7HD_pqGyM?4Lbhk)lvfXgG;%Y;5vc%XzGiw>wuHR(8?LX6pdZ+f)^vIs z9@*rHeuR}Ak&wM^i89a`8|;VJ!O8wv-raK!u8+eFjZ<*}fh-MJ*}9t5;lr4#=nx(5 z^oS*DCrcV#e(N}_ls?}VPnfR^$|~G#rr)pT^T?Y)zo@p}6?q{L&@Y&m;Dy(& zDgH#{qlkj5QKhmN!-EFI#bX;Upc2l?!jqial`Vn1BYE07_fEZV6-a zu&3DIZnyPvF`{Hsp0fDAr+yTN-zMSmn`ECZQmz>F?WbKd@a_>~I{Nv+dVg-5mXcW9W|9pls~5I61zY3Be@437?t)BH3gMCS_$$WP z#>%-iENjhL&sWKTdT_14lLLPD$uwVX!Wt}B2bkww9sh8%O+v@>HM<&;Eh_c#xKAs?-|4=x!)Ox{m+ozyIj_k>Tnl7>O>X}^ zOudp(JcDT6!kmx!p)X+Uzg~bq>~w+g1$(>F8B6Rwnr$w0XXk%FvhjviDbGWFI70M) z>%&beh(cq6LLbQGt;POoM)tdxF}CkDVNNz$RSf0|kb6tOi&LLB&$j2R%UBiu-#YW2 zhxWP|DTV!4fvoxRaY2+U1xk%sGLSPR`cC?c8vq9+So=c`J?1);8ttA?6q^^nI2f_~ zWdOb_s~8YGNp_eiW&OR`u1FRh%9WXD?YD3~MMgh9z0wQB7Yr0bic9$&=S<;Mq>|(S zY97I8!H{=me*y2YUiIb^m56HutxZUL#Rc`}!8;AMwdIj?urMjDQg>Z`+qp8%BXm*07f1 z!*`{5i9=SzOhwEIg8cD<%31vJX7l=t-P>)u_jKnVyU)7HGbWm_QdrWplRD5gTzI3V mS6LH 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 literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/foreground.png b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..4483ddad1f079e1089d685bd204ee1cfe1d01902 GIT binary patch literal 12430 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 cSLciz6 + + icon-hop + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop_normal.png b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop_normal.png new file mode 100644 index 0000000000000000000000000000000000000000..435ec58bbde7bc034fe558dc890af0b653ae2e2f GIT binary patch literal 550 zcmV+>0@?kEP)k8aA77<$9WO}Ig;iM6=$Kzn(G7gZew>KvyYMjf>vA~t=}k+< z_&F!A78M`B`HcNtRDTPLb9kQ`4W~uVnqc|{%`gy}GdCE)-V(%COqPfn4$YYaZ_r(W zIH=sGp&PHWhRf1q6k#Dor4c<;BEbYMWeo>|+}{vb!vkrGCZ)d4Ya-qsS|eFwCq6W0 z4III7<%R&p@E#qFj$={fj*>!o7?P?#n&+(Jo^+GGKM?N=?j6N1t>t(XfjcXR4+ZBX zdYT3I;I4GlF|!|h7X1-3B~?C4yl5ioI4t#Yk@V}ljkn=nCOz~OQTZrN$@$zg8@Ueb oinT^+A*qdzaSd0csrf(n3C?|Cjvr0^!vFvP07*qoM6N<$f{TUn0{{R3 literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop_normal1.svg b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop_normal1.svg new file mode 100644 index 000000000..e104151dd --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/ic_hop_normal1.svg @@ -0,0 +1,18 @@ + + + icon-hop + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/icon.png b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 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

c)ijgxDm}8EsRXFt3h@+Ufr7@DN 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 literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/uncheck.png b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/media/uncheck.png new file mode 100644 index 0000000000000000000000000000000000000000..cba71b7ec168e67e261151ee8cb9e950f53e7cbb GIT binary patch literal 6290 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 mnl{+T4&#qG_WyUv;kmIiwi`ZIBjVP53X|XrvPW literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/backup_config.json b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/backup_config.json new file mode 100644 index 000000000..78f40ae7c --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/backup_config.json @@ -0,0 +1,3 @@ +{ + "allowToBackupRestore": true +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/main_pages.json b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/main_pages.json new file mode 100644 index 000000000..0b109f5a6 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/base/profile/main_pages.json @@ -0,0 +1,5 @@ +{ + "src": [ + "recorder/VideoRecorder" + ] +} diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/dark/element/color.json b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/dark/element/color.json new file mode 100644 index 000000000..79b11c274 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/main/resources/dark/element/color.json @@ -0,0 +1,8 @@ +{ + "color": [ + { + "name": "start_window_background", + "value": "#000000" + } + ] +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/TestRunner/OpenHarmonyTestRunner.ts b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/TestRunner/OpenHarmonyTestRunner.ts new file mode 100644 index 000000000..41cbf0889 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/TestRunner/OpenHarmonyTestRunner.ts @@ -0,0 +1,65 @@ +/* +* 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 { TestRunner, abilityDelegatorRegistry } from '@kit.TestKit'; + +var abilityDelegator = undefined; +var abilityDelegatorArguments = undefined; + +const TAG = "DCameraTestRunner" + +async function onAbilityCreateCallback() { + hilog.info(0x0000, TAG, '%{public}s', 'onAbilityCreateCallback'); +} + +async function addAbilityMonitorCallback(err: any) { + hilog.info(0x0000, TAG, 'addAbilityMonitorCallback : %{public}s', JSON.stringify(err) ?? ''); +} + +export default class OpenHarmonyTestRunner implements TestRunner { + constructor() { + } + + onPrepare() { + hilog.info(0x0000, TAG, '%{public}s', 'OpenHarmonyTestRunner OnPrepare '); + } + + async onRun() { + hilog.info(0x0000, TAG, '%{public}s', 'OpenHarmonyTestRunner onRun run'); + abilityDelegatorArguments = abilityDelegatorRegistry.getArguments(); + abilityDelegator = abilityDelegatorRegistry.getAbilityDelegator(); + var testAbilityName = abilityDelegatorArguments.bundleName + '.TestAbility'; + let lMonitor = { + abilityName: testAbilityName, + onAbilityCreate: onAbilityCreateCallback, + }; + abilityDelegator.addAbilityMonitor(lMonitor, addAbilityMonitorCallback); + var cmd = 'aa start -d 0 -a TestAbility' + ' -b ' + abilityDelegatorArguments.bundleName; + var debug = abilityDelegatorArguments.parameters['-D']; + if (debug == 'true') + { + cmd += ' -D' + } + hilog.info(0x0000, TAG, 'cmd : %{public}s', cmd); + abilityDelegator.executeShellCommand(cmd, + (err: any, d: any) => { + hilog.info(0x0000, TAG, 'executeShellCommand : err : %{public}s', JSON.stringify(err) ?? ''); + hilog.info(0x0000, TAG, 'executeShellCommand : data : %{public}s', d.stdResult ?? ''); + hilog.info(0x0000, TAG, 'executeShellCommand : data : %{public}s', d.exitCode ?? ''); + }) + hilog.info(0x0000, TAG, '%{public}s', 'OpenHarmonyTestRunner onRun end'); + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/List.test.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/List.test.ets new file mode 100644 index 000000000..d74718092 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/List.test.ets @@ -0,0 +1,22 @@ +/* +* 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. +*/ + +// 1. 导入您要运行的第一个测试用例 +import DCameraSimpleTest from './basicAbility.test'; + +export default function testsuite() { + // 2. 在这里注册您的测试用例 + DCameraSimpleTest(); +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/basicAbility.test.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/basicAbility.test.ets new file mode 100644 index 000000000..0ed6011a4 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/test/basicAbility.test.ets @@ -0,0 +1,122 @@ +/* +* 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 { describe, it, expect, TestType, beforeAll, afterAll } from '@ohos/hypium'; +import { abilityDelegatorRegistry, Driver, ON, Component } from '@kit.TestKit'; +import { Want } from '@kit.AbilityKit'; + +const delegator: abilityDelegatorRegistry.AbilityDelegator = abilityDelegatorRegistry.getAbilityDelegator(); +const bundleName = "com.ohos.HapAppDcameraSample"; +const TAG = "DCameraNewTest"; +const PERMISSION_DIALOG_COUNT = 5; + +let countBefore = 0; +let driver: Driver; +let context: Context; +// ----------------- + +function sleep(time: number) { + return new Promise((resolve: (value: void) => void) => setTimeout(resolve, time)); +} + +/** + * 辅助函数:处理权限弹窗 (保持不变) + */ +async function handlePermissionDialogs(driver: Driver, count: number) { + console.info(`${TAG}: 正在等待 ${count} 个权限弹窗...`); + await sleep(2000); // 等待第一个弹窗 + + for (let i = 1; i <= count; i++) { + console.info(`${TAG}: 正在处理第 ${i}/${count} 个弹窗...`); + let allowButton: Component | null = null; + try { + console.info(`${TAG}: ...正在查找 "允许" ...`); + allowButton = await driver.findComponent(ON.text("允许")); + } catch (err) { + console.warn(`${TAG}: ...未找到 "允许", 尝试 "Allow"...`); + try { + allowButton = await driver.findComponent(ON.text("Allow")); + } catch (err2) { + console.error(`${TAG}: 既未找到 "允许" 也未找到 "Allow". 测试失败。`); + throw new Error(`找不到第 ${i} 个权限弹窗的 '允许'/'Allow' 按钮。`); + } + } + + expect(allowButton).not().assertNull(); + await allowButton.click(); + console.info(`${TAG}: ...已点击第 ${i}/${count} 个按钮。`); + await sleep(1000); // 等待下一个 + } + console.info(`${TAG}: 所有 ${count} 个弹窗处理完毕。`); +} + +export default function DCameraNewTest() { + describe('DCameraNewTest', () => { + + // 1. 使用 beforeAll 在所有测试前启动一次应用 + beforeAll(async () => { + console.info(`${TAG}: beforeAll: 启动应用...`); + const want: Want = { + bundleName: bundleName, + abilityName: 'EntryAbility' + }; + await delegator.startAbility(want); + driver = Driver.create(); + context = delegator.getAppContext(); + console.info(`${TAG}: beforeAll: 应用已启动,等待弹窗...`); + }); + + // 2. 使用 afterAll 在所有测试后清理一次 + afterAll(async () => { + console.info(`${TAG}: afterAll: 按返回键退出应用。`); + await driver.pressBack(); + console.info(`${TAG}: afterAll: 清理完毕。`); + }); + + /** + * @tc.number: DCameraNewTest_001 + * @tc.name: test01_HandlePermissions + * @tc.desc: 步骤 1: 处理所有 5 个权限弹窗 + * @tc.type: TestType.FUNCTION + */ + it('test01_HandlePermissions', TestType.FUNCTION, async (done: () => void) => { + console.info(`${TAG}: test01: 开始处理权限...`); + await handlePermissionDialogs(driver, PERMISSION_DIALOG_COUNT); + console.info(`${TAG}: test01: 权限处理完毕。`); + done(); + }); + + /** + * @tc.number: DCameraNewTest_002 + * @tc.name: test02_ClickConnectRemote + * @tc.desc: 步骤 2: 查找并点击 "Connect Remote" 按钮 + * @tc.type: TestType.FUNCTION + */ + it('test02_ClickConnectRemote', TestType.FUNCTION, async (done: () => void) => { + const buttonText = "Connect Remote"; + console.info(`${TAG}: test02: 正在查找 '${buttonText}'...`); + + // 等待权限弹窗完全消失,页面渲染出来 + await sleep(5000); + const connectBtn = await driver.findComponent(ON.text(buttonText)); + expect(connectBtn).not().assertNull(); + + await connectBtn.click(); + console.info(`${TAG}: test02: 已点击 '${buttonText}' (相机开始异步初始化)。`); + await sleep(5000); + done(); + }); + }); +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/TestAbility.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/TestAbility.ets new file mode 100644 index 000000000..6af22264c --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/TestAbility.ets @@ -0,0 +1,46 @@ +/* +* 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 { Hypium } from '@ohos/hypium'; +import testsuite from '../test/List.test'; +import { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; +import { window } from '@kit.ArkUI'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { abilityDelegatorRegistry } from '@kit.TestKit'; + +const TAG = 'DCameraTestAbility'; +export default class TestAbility extends UIAbility { + onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) { + hilog.info(0x0000, TAG, "TestAbility onCreate"); + hilog.info(0x0000, TAG, "want param:" + JSON.stringify(want)); + hilog.info(0x0000, TAG, "launchParam:" + JSON.stringify(launchParam)); + let abilityDelegator = abilityDelegatorRegistry.getAbilityDelegator(); + let abilityDelegatorArguments = abilityDelegatorRegistry.getArguments(); + hilog.info(0x0000, TAG, "start run testcase!!!"); + Hypium.hypiumTest(abilityDelegator, abilityDelegatorArguments, testsuite); + } + + onWindowStageCreate(windowStage: window.WindowStage) { + hilog.info(0x0000, TAG, '%{public}s', 'TestAbility onWindowStageCreate'); + windowStage.loadContent('testability/pages/Index', (err, data) => { + if (err.code) { + hilog.error(0x0000, TAG, 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); + return; + } + hilog.info(0x0000, TAG, 'Succeeded in loading the content. Data: %{public}s', + JSON.stringify(data) ?? ''); + }); + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/pages/Index.ets b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/pages/Index.ets new file mode 100644 index 000000000..81b4d8381 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/ets/testability/pages/Index.ets @@ -0,0 +1,32 @@ +/* +* 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. +*/ + +@Entry +@Component +struct Index { + @State message: string = 'Test Page' + + build() { + Row() { + Column() { + Text(this.message) + .fontSize(50) + .fontWeight(FontWeight.Bold) + } + .width('100%') + } + .height('100%') + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/module.json5 b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/module.json5 new file mode 100644 index 000000000..847e3b800 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/module.json5 @@ -0,0 +1,51 @@ +/* +* 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. +*/ + +{ + "module": { + "name": "entry_test", + "type": "feature", + "description": "$string:module_test_desc", + "mainElement": "TestAbility", + "deviceTypes": [ + "default" + ], + "deliveryWithInstall": true, + "installationFree": false, + "pages": "$profile:test_pages", + "abilities": [ + { + "name": "TestAbility", + "srcEntry": "./ets/testability/TestAbility.ets", + "description": "$string:TestAbility_desc", + "icon": "$media:icon", + "label": "$string:TestAbility_label", + "visible": true, + "startWindowIcon": "$media:icon", + "startWindowBackground": "$color:start_window_background", + "skills": [ + { + "actions": [ + "action.system.home" + ], + "entities": [ + "entity.system.home" + ] + } + ] + } + ] + } +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/element/color.json b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/element/color.json new file mode 100644 index 000000000..3c712962d --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/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/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/element/string.json b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/element/string.json new file mode 100644 index 000000000..0c2223e15 --- /dev/null +++ b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/element/string.json @@ -0,0 +1,16 @@ +{ + "string": [ + { + "name": "module_test_desc", + "value": "test ability description" + }, + { + "name": "TestAbility_desc", + "value": "the test ability" + }, + { + "name": "TestAbility_label", + "value": "DCamera Test" + } + ] +} \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/media/icon.png b/DistributedAppDev/hapAppDcameraSample/entry/src/ohosTest/resources/base/media/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ce307a8827bd75456441ceb57d530e4c8d45d36c GIT binary patch literal 6790 zcmX|G1ymHk)?T_}Vd;>R?p|tHQo6fg38|$UVM!6BLrPFWk?s;$LOP{GmJpBl$qoSA!PUg~PA65-S00{{S`XKG6NkG0RgjEntPrmV+?0|00mu7;+5 zrdpa{2QLqPJ4Y{j7=Mrl{BaxrkdY69+c~(w{Fv-v&aR%aEI&JYSeRTLWm!zbv;?)_ ziZB;fwGbbeL5Q}YLx`J$lp~A09KK8t_z}PZ=4ZzgdeKtgoc+o5EvN9A1K1_<>M?MBqb#!ASf&# zEX?<)!RH(7>1P+j=jqG(58}TVN-$psA6K}atCuI!KTJD&FMmH-78ZejBm)0qc{ESp z|LuG1{QnBUJRg_E=h1#XMWt2%fcoN@l7eAS!Es?Q+;XsRNPhiiE=@AqlLkJzF`O18 zbsbSmKN=aaq8k3NFYZfDWpKmM!coBU0(XnL8R{4=i|wi{!uWYM2je{U{B*K2PVdu&=E zTq*-XsEsJ$u5H4g6DIm2Y!DN`>^v|AqlwuCD;w45K0@eqauiqWf7l&o)+YLHm~|L~ z7$0v5mkobriU!H<@mVJHLlmQqzQ3d6Rh_-|%Yy2li*tHO>_vcnuZ7OR_xkAIuIU&x z-|8Y0wj|6|a6_I(v91y%k_kNw6pnkNdxjqG8!%Vz_d%c_!X+6-;1`GC9_FpjoHev5fEV7RhJ>r=mh-jp$fqbqRJ=obwdgLDVP5+s zy1=_DWG0Y-Jb3t^WXmkr(d9~08k-|#Ly zaNOmT(^9tIb&eb4%CzIT zAm3CUtWSr1t4?h1kk#NBi{U|pJslvME{q|_eS^3En>SOqSxyuN1x;Is@8~m?*>}** znrRFArP!K_52RpX*&JHMR<^lVdm8ypJ}0R(SD(51j;6@ni$6bQ+2XL+R^|NnSp5}(kzvMZ^(@4fD_{QVu$(&K6H|C37TG1Am9Re{<<3gd zh@`>;BqkXMW&p0T6rt|iB$)~CvFe(XC)F9WgAZn*0@t$oZo;!*}r@_`h?KKH&6A@3= zISXoQB+~`op>NP-buiA*^0n{@i{_?MRG)&k)c)k_F+-2Lud!S9pc+i`s74NpBCaGF zXN+pHkubw*msGBTY27BKHv)RRh3;nMg4&$fD_6X9Vt~;_4D+5XPH~#Kn-yjcy!$}1 zigv#FNY>TqMhtIBb@UoF!cE~Q8~;!Pek>SQQwHnHuWKoVBosAiOr}q>!>aE*Krc)V zBUMEcJ5NU0g8}-h6i1zpMY9>m4ne?=U2~`w7K7Q0gB_=p@$5K7p6}thw z-~3dMj?YNX2X$lZ+7ngQ$=s}3mizNN@kE%OtB)?c&i~2L55z8^=yz;xMHLmlY>&Q# zJj?!)M#q_SyfkQh)k?j8IfLtB)ZCp|*vf4_B zos?73yd^h-Ac+;?E4*bpf=o*^3x3-`TVjbY4n6!EN10K6o@fxdyps05Vo3PU)otB} z`3kR+2w7_C#8Z!q`J)p{Vh!+m9-UP!$STp+Hb}}#@#_u^SsUQg<}59< zTvH3%XS4G+6FF^(m6bVF&nSUIXcl;nw{=H$%fgeJ>CgDYiLdpDXr{;-AnG z8dvcrHYVMI&`R6;GWekI@Ir3!uo)oz4^{6q0m^}@f2tM9&=YHNi6-?rh0-{+k@cQm zdp`g#YdQn%MDVg2GR>wZ`n2<0l4)9nx1Wfr&!Dvz=bPwU!h2S?ez6MVc5APE4-xLB zi&W9Q8k2@0w!C53g?iAIQ}~p*3O(@zja6KQ=M3zfW*_6o5SwR-)6VBh~m7{^-=MC-owYH5-u40a}a0liho3QZZ5L{bS_xM1)4}19)zTU$$MY zq3eZML1WC{K%YFd`Be0M-rkO^l?h{kM{$2oK1*A@HVJ57*yhDkUF!2WZ&oA4Y-sK( zCY69%#`mBCi6>6uw(x4gbFaP0+FD*JKJ-q!F1E?vLJ+d35!I5d7@^eU?(CS|C^tmI5?lv@s{{*|1F zFg|OzNpZ0hxljdjaW%45O0MOttRrd(Z?h{HYbB-KFUx&9GfFL3b8NwZ$zNu)WbBD` zYkj$^UB5%3Pj1MDr>S2Ejr9pUcgA!;ZG!@{uAy12)vG=*^9-|dNQBc8&`oxBlU~#y zs!anJX&T?57Jdr^sb>e+V`MVfY>Y0ESg7MG<7W0g&bR-ZYzzZ%2H&Etcp zcd6QeXO1D!5A#zM0lx*GH}`M)2~ZFLE;sP^RSB5wVMNfiZXPd(cmO>j=OSA3`o5r& zna(|^jGXbdN7PK)U8b7^zYtYkkeb%<%F~=OqB~kXMQkq}ii|skh@WSRt>5za;cjP0 zZ~nD%6)wzedqE}BMLt~qKwlvTr33))#uP~xyw#*Eaa|DbMQ_%mG0U8numf8)0DX`r zRoG2bM;#g|p-8gWnwRV5SCW0tLjLO&9Z?K>FImeIxlGUgo0Zk`9Qzhj1eco~7XZy+hXc@YF&ZQ=? zn*^1O56yK^x{y}q`j7}blGCx%dydV!c7)g~tJzmHhV=W~jbWRRR{1<^oDK+1clprm zz$eCy7y9+?{E|YgkW~}}iB#I4XoJ*xr8R?i_Hv$=Cof5bo-Nj~f`-DLebH}&0% zfQj9@WGd4;N~Y?mzQsHJTJq6!Qzl^-vwol(+fMt#Pl=Wh#lI5Vmu@QM0=_r+1wHt` z+8WZ~c2}KQQ+q)~2Ki77QvV&`xb|xVcTms99&cD$Zz4+-^R4kvUBxG8gDk7Y`K*)JZ^2rL(+ZWV~%W(@6 z)0bPArG#BROa_PHs~&WplQ_UIrpd)1N1QGPfv!J(Z9jNT#i%H?CE6|pPZb9hJ1JW4 z^q;ft#!HRNV0YgPojzIYT`8LuET2rUe-J|c!9l4`^*;4WtY@Ew@pL>wkjmMgGfN7 ze}}GtmU0@<_#08~I-Suk=^*9GLW=H4xhsml;vAV{%hy5Eegl@!6qKqbG024%n2HHw zCc@ivW_$@5ZoHP70(7D+(`PvgjW1Pd`wsiuv-aCukMrafwDm)B!xXVy*j2opohhoU zcJz%ADmj>i3`-3-$7nQKBQQuGY;2Qt&+(L~C>vSGFj5{Mlv?T_^dql;{zkpe4R1}R z%XfZyQ}wr*sr>jrKgm*PWLjuVc%6&&`Kbf1SuFpHPN&>W)$GmqC;pIoBC`=4-hPY8 zT*>%I2fP}vGW;R=^!1be?ta2UQd2>alOFFbVl;(SQJ4Jk#)4Z0^wpWEVvY4=vyDk@ zqlModi@iVPMC+{?rm=4(n+<;|lmUO@UKYA>EPTS~AndtK^Wy^%#3<;(dQdk3WaUkRtzSMC9}7x2||CNpF#(3T4C)@ z$~RWs`BNABKX|{cmBt>Q=&gkXl&x!!NK_%5hW0LS)Z4PB>%sV?F-{Wyj#s7W%$F{D zXdK^Fp3wvy+48+GP6F_|^PCRx=ddcTO3sG;B23A49~Qaw31SZ0Rc~`r4qqt%#OGW{ zCA_(LG5^N>yzUn&kAgVmxb=EA8s&tBXC}S1CZ(KoW)(%^JjLTPo^fs`Va;`=YlVPgmB$!yB}<(4ym6OeZ3xAJJ#;)2+B%p3P1Wt+d$eo`vz`T zXfUP2))kBDPoscH;Jc7I3NU<({|@wM$&GaDt`n7WLgIY3IA7A6-_R?z8N3mz|}*i z(zl5ot--Oq@f2-nv{X(ujT2T(k1vY_qh93pK@>H-qc%2Xta)IP0Q%zt%bqYgI`o!wv!0QerB`nCN^1n|@$sVOQ!V0teVG!I z_fD%JvfDeT1cK#-{o6Gv7}& zY0#NWin~kVaf$aufV&;63Hbs|`QVZWpDX6IMk1Hj2G}fiH9e-^6u2zf^FIr^BwD<6zjw63+{yUe8PUFvk8v{sJ=R{d#`O!sz`Q13~< zPT$JS(w=yQfU2`zPCNfSw=&zup@DXc(98afjhv@1w_f!m2Z>rMJ19AB&dB%P#Ls3b z=lK7OILM+SQ&VEd=1GN6o&>YVVtIzoZ%=Z_SdqJN2}E43{bE`>w+A;=y->@^k{oCC z$F*WTY&?34;kfyFV?b*Xb1Pq`Z=%OgwEg)Rz)tx=`f%5#w_INP=x&z5!jI;#;N$ma zhO)+MDm;SxOEVL15; zGq(v2pL3&P1Sl)8P*;G-fd{l1QJsv@e@d8)1PK4w2m*M%V3j-V~L^$i|&C@b?D?9tfwE{B^}Z$k8e5FmQ>v7Xz)sG32g9t}YBt zyR$+*_00RmPx+0mW+vVG4mxd(n$(eQf3-w>JPl2UJpafrPaL5@2j}%{VE-) zBI%6Qpj*dsdH<;g!S!avA~bv^0E+ zfyJbSjPb+j;J52U)<|cIcntQBI2T#>2;tOxu{%D?kML476AErF(qN9hPva5Nkc@BF zC-tLF@3ZFb%Kpj)M<{)x*l|*Ia@ECeXo2E4h2f!aV=cHAhi_E_mfUth(sM4^hJq7B zQsGWqdZUm9S%F`$nQ*_#NcuD`&)Ek%_s{&^78{9Hm ztri&rYLOxgFdG>O@+XHy z9#;|&vBCPXH5Mon^I`jSuR$&~ZWtyB67ujzFSj!51>#C}C17~TffQ{c-!QFQkTQ%! zIR^b1`zHx|*1GU?tbBx23weFLz5H?y_Q%N&t$}k?w+``2A=aotj0;2v$~AL z{scF-cL{wsdrmPvf#a9OHyYLcwQD4Kcm)`LLwMh4WT~p29f7M!iafJSU`IV}QY5Wa z(n44-9oA}?J{a+ah*@31WTs#&J#o1`H98#6IQf;Wv0N_!);f&9g7o-k(lW5rWnDUR zQBFIRG+X=6NnsI@mxnwm;tf5;_Uxg?jZ8m-m0}&6+DA!qam(p$mN5R})yA_7m$q@| zFEd|dpS595rxQr-n#GjI5i-AhnUE>Cr;jpCqSrD~EwK_DqI^7%3#p5)%T_od!t3SOmH9MyXeeGO2(UQL;ax|x?Ncixmeo1=$ z{-);Au{*tfzOG?KQ~K|ak8-HQ?`Pekhe2WM(8s{xv-p>Zmu_6{G!-oE$7$mY`MOJorI=+mMx?H;`pr!;fVYz?5~yXBACruWB`Ph zZM}90_<^OBxIhyZ9BW$`>6JvO;%VFpqVr8|7t3~AmxYak6?`Pp#c;**_SYmi`&z23 z`p6_~ePvH)C6x-G9$hgL=eVALq`-AiamN>!3~Lxw&{H(b{B(7xSRm6<3<{%{yXiH# zos5Rv1L+8fUKJLo%P>4I&$}y2. 两台设备已成功组网 | 点击 "Connect Remote" 按钮 | 成功连接远端相机,预览区域开始实时显示远端画面 | 否 | Pass | +| 预览功能 | 已成功连接远端相机 | | 预览画面清晰、流畅,与远端设备摄像头所见场景一致 | 是 | Pass | +| 拍照功能 | 已成功连接远端相机并显示预览 | 点击界面下方的圆形拍照按钮 | 成功触发远端相机拍照,日志显示照片已保存成功 | 是 | Pass | +| **稳定性与资源管理** | | | | | | +| 断开连接/资源释放 | 应用正在运行并已连接相机 | 退出应用(如上滑关闭)或使应用进入后台 | 应用成功释放所有相机资源,日志显示"releaseCamera"序列完成 | 是 | Pass | +| 重复连接 | 已成功连接远端相机 | 再次点击 "Connect Remote" 按钮 | 应用无异常或崩溃,能够处理重复初始化的请求 | 是 | Pass | +| 无远端设备 | 1. 两台设备未组网
2. 局域网内无分布式设备 | 点击 "Connect Remote" 按钮 | 应用无异常崩溃,日志提示未找到远端设备 | 否 | Pass | \ No newline at end of file diff --git a/DistributedAppDev/hapAppDcameraSample/screenshot/image.png b/DistributedAppDev/hapAppDcameraSample/screenshot/image.png new file mode 100644 index 0000000000000000000000000000000000000000..c82a8c583baf7d48f7c13e99125173ea376f7981 GIT binary patch literal 22259 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 PizfF*NxDMvec=BAV{DC| literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/screenshot/image2.png b/DistributedAppDev/hapAppDcameraSample/screenshot/image2.png new file mode 100644 index 0000000000000000000000000000000000000000..c4ec4a9c1665b7ef9ccd6dafbb8c034c39cee18d GIT binary patch literal 34925 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 literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/screenshot/image3.png b/DistributedAppDev/hapAppDcameraSample/screenshot/image3.png new file mode 100644 index 0000000000000000000000000000000000000000..7b24ac9c0251f33add5c4f8d3413e5c575d8088f GIT binary patch literal 45877 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 IHC*`r08QP}=Kufz literal 0 HcmV?d00001 diff --git a/DistributedAppDev/hapAppDcameraSample/screenshot/image4.png b/DistributedAppDev/hapAppDcameraSample/screenshot/image4.png new file mode 100644 index 0000000000000000000000000000000000000000..e3d015a563de17e6422a95723eeaf7c2c41711e4 GIT binary patch literal 90281 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�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 W;+C-cOtg#$_~~fqtD{xzqyG=c*Hvi% literal 0 HcmV?d00001 -- Gitee