From 7ada31fb834750b5ef93cec6dab33ee60757e892 Mon Sep 17 00:00:00 2001 From: zhangziye Date: Tue, 13 May 2025 15:49:05 +0800 Subject: [PATCH 01/16] =?UTF-8?q?[=E6=96=B0=E9=9C=80=E6=B1=82]:=20Cherry-p?= =?UTF-8?q?ick=20sdk=20to=200702?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue: https://gitee.com/openharmony/commonlibrary_ets_utils/issues/ICJXRY Signed-off-by: zhangziye --- base_sdk/BUILD.gn | 20 +++++ base_sdk/transfer/@ohos.transfer.ets | 88 +++++++++++++++++++ base_sdk/transfer/kitRegister/arkts.ets | 20 +++++ .../transfer/kitRegister/registerMain.ets | 19 ++++ base_sdk/transfer/register.ets | 71 +++++++++++++++ bundle.json | 1 + 6 files changed, 219 insertions(+) create mode 100644 base_sdk/transfer/@ohos.transfer.ets create mode 100644 base_sdk/transfer/kitRegister/arkts.ets create mode 100644 base_sdk/transfer/kitRegister/registerMain.ets create mode 100644 base_sdk/transfer/register.ets diff --git a/base_sdk/BUILD.gn b/base_sdk/BUILD.gn index df8ace62..b560b4d8 100644 --- a/base_sdk/BUILD.gn +++ b/base_sdk/BUILD.gn @@ -30,3 +30,23 @@ ohos_prebuilt_etc("base_sdk_ets") { subsystem_name = "commonlibrary" part_name = "ets_utils" } + +generate_static_abc("base_transfer") { + base_url = "./transfer" + files = [ + "./transfer/@ohos.transfer.ets", + "./transfer/register.ets", + "./transfer/kitRegister/arkts.ets", + "./transfer/kitRegister/registerMain.ets", + ] + is_boot_abc = "True" + device_dst_file = "/system/framework/base_transfer.abc" +} + +ohos_prebuilt_etc("base_transfer_ets") { + source = "$target_out_dir/base_transfer.abc" + module_install_dir = "framework" + subsystem_name = "commonlibrary" + part_name = "ets_utils" + deps = [ ":base_transfer" ] +} diff --git a/base_sdk/transfer/@ohos.transfer.ets b/base_sdk/transfer/@ohos.transfer.ets new file mode 100644 index 00000000..90c119a0 --- /dev/null +++ b/base_sdk/transfer/@ohos.transfer.ets @@ -0,0 +1,88 @@ +/* + * 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 { staticRegisterMap, dynamicRegisterMap, CallbackUrl } from './register.ets'; +import { BusinessError } from '@ohos.base'; +import { registerMain } from './kitRegister/registerMain.ets'; + +registerMain(); + +type Any = Object | undefined | null; +const transferErrorCodeId = 10200067; + +const staticCBCache = new Map(); +const dynamicCBCache = new Map(); +const staticRegisterMapRef = staticRegisterMap; +const dynamicRegisterMapRef = dynamicRegisterMap; + +export namespace transfer { + + export function transferStatic(input: Any, inputName: string): Object { + + if (!staticRegisterMapRef.has(inputName)) { + throw new BusinessError(transferErrorCodeId, + new Error(`Transfer Error. The input name is not supported!`)); + } + let cb: CallbackUrl = staticRegisterMapRef.get(inputName)!; + if (cb.filePath === '') { + return cb.staticMethod!(input); + } + + let method: Method | undefined; + if (staticCBCache.has(inputName)) { + method = staticCBCache.get(inputName); + } else { + method = getMethod(cb.filePath, cb.className, cb.methodName); + staticCBCache.set(inputName, method); + } + return method!.invoke(null, [input]) as Object; + } + + export function transferDynamic(input: Object, inputName: string): Any { + if (!dynamicRegisterMapRef.has(inputName)) { + throw new BusinessError(transferErrorCodeId, + new Error(`Transfer Error. The input name is not supported!`)); + } + let cb: CallbackUrl = dynamicRegisterMapRef.get(inputName)!; + if (cb.filePath === '') { + return cb.dynamicMethod!(input) ; + } + + let method: Method | undefined; + if (dynamicCBCache.has(inputName)) { + method = dynamicCBCache.get(inputName); + } else { + method = getMethod(cb.filePath, cb.className, cb.methodName); + dynamicCBCache.set(inputName, method); + } + return method!.invoke(null, [input]) as Any; + } + + function getMethod(filePath: string, className: string, methodName: string): Method { + className = filePath + '.' + className; + let linker = Class.ofCaller().getLinker(); + let classType: ClassType | undefined = linker.getType(className) as ClassType; + if (!classType) { + throw new BusinessError(transferErrorCodeId, + new Error(`Transfer Error. The class ${className} is not found!`)); + } + for (let i = 0; i < classType!.getMethodsNum(); i++) { + if (methodName === classType!.getMethod(i).getName()) { + return classType!.getMethod(i); + } + } + throw new BusinessError(transferErrorCodeId, + new Error(`Transfer Error. The method ${methodName} is not found!`)); + } +} diff --git a/base_sdk/transfer/kitRegister/arkts.ets b/base_sdk/transfer/kitRegister/arkts.ets new file mode 100644 index 00000000..9e492bf6 --- /dev/null +++ b/base_sdk/transfer/kitRegister/arkts.ets @@ -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 { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerArkTS() { + registerStaticCB('InteropTransferHelper', InteropTransferHelper.transferArrayBufferToStatic); + registerDynamicCB('InteropTransferHelper', InteropTransferHelper.transferArrayBufferToDynamic); +} diff --git a/base_sdk/transfer/kitRegister/registerMain.ets b/base_sdk/transfer/kitRegister/registerMain.ets new file mode 100644 index 00000000..ce29fcb3 --- /dev/null +++ b/base_sdk/transfer/kitRegister/registerMain.ets @@ -0,0 +1,19 @@ +/* + * 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 { registerArkTS } from './arkts.ets'; + +export function registerMain(){ + registerArkTS(); +} \ No newline at end of file diff --git a/base_sdk/transfer/register.ets b/base_sdk/transfer/register.ets new file mode 100644 index 00000000..45e90e9e --- /dev/null +++ b/base_sdk/transfer/register.ets @@ -0,0 +1,71 @@ +/* + * 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. + */ +type Any = Object | undefined | null; + +export interface CallbackUrl { + key: string; + filePath: string; + className: string; + methodName: string; + staticMethod?: (input: Any) => Object; + dynamicMethod?: (input: Object) => Any; +} + +export const staticRegisterMap = new Map(); +export const dynamicRegisterMap = new Map(); + +export function registerStaticCB(key: string, filePath: string, className: string, methodName: string) { + let callbackUrl: CallbackUrl = { + key: key, + filePath: filePath, + className: className, + methodName: methodName + }; + staticRegisterMap.set(key, callbackUrl); +} + +export function registerDynamicCB(key: string, filePath: string, className: string, methodName: string) { + let callbackUrl: CallbackUrl = { + key: key, + filePath: filePath, + className: className, + methodName: methodName + }; + dynamicRegisterMap.set(key, callbackUrl); +} + +export function registerStaticCB(key: string, staticMethod: (input: Any) => Object) { + let callbackUrl: CallbackUrl = { + key: key, + filePath: '', + className: '', + methodName: '', + staticMethod: staticMethod + }; + staticRegisterMap.set(key, callbackUrl); +} + +export function registerDynamicCB(key: string, dynamicMethod: (input: Object) => Any) { + let callbackUrl: CallbackUrl = { + key: key, + filePath: '', + className: '', + methodName: '', + dynamicMethod: dynamicMethod + }; + dynamicRegisterMap.set(key, callbackUrl); +} + + diff --git a/bundle.json b/bundle.json index 77f5f349..a113f587 100644 --- a/bundle.json +++ b/bundle.json @@ -73,6 +73,7 @@ "build": { "sub_component": [ "//commonlibrary/ets_utils/base_sdk:base_sdk_ets", + "//commonlibrary/ets_utils/base_sdk:base_transfer_ets", "//commonlibrary/ets_utils/js_api_module/uri:uri_packages", "//commonlibrary/ets_utils/js_api_module/url:url_packages", "//commonlibrary/ets_utils/js_api_module/convertxml:convertxml_packages", -- Gitee From 67448b3eb1171a288b0ff59da75a3abaf314c804 Mon Sep 17 00:00:00 2001 From: Robert Sipka Date: Tue, 17 Jun 2025 15:16:42 +0200 Subject: [PATCH 02/16] 'Any' keyword should not be used as identifier Issue: #ICFSPK Internal issue: 26477 Change-Id: If7e506077556d0d7943d6937fdceebd12abe85b7 Signed-off-by: Robert Sipka --- base_sdk/transfer/@ohos.transfer.ets | 1 - base_sdk/transfer/register.ets | 1 - 2 files changed, 2 deletions(-) diff --git a/base_sdk/transfer/@ohos.transfer.ets b/base_sdk/transfer/@ohos.transfer.ets index 90c119a0..6f7937c6 100644 --- a/base_sdk/transfer/@ohos.transfer.ets +++ b/base_sdk/transfer/@ohos.transfer.ets @@ -18,7 +18,6 @@ import { registerMain } from './kitRegister/registerMain.ets'; registerMain(); -type Any = Object | undefined | null; const transferErrorCodeId = 10200067; const staticCBCache = new Map(); diff --git a/base_sdk/transfer/register.ets b/base_sdk/transfer/register.ets index 45e90e9e..09ba267b 100644 --- a/base_sdk/transfer/register.ets +++ b/base_sdk/transfer/register.ets @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -type Any = Object | undefined | null; export interface CallbackUrl { key: string; -- Gitee From 1fd7c2d929acd4b9d0e2724eda6cf0b79e7b3c12 Mon Sep 17 00:00:00 2001 From: Denis Slynko Date: Thu, 29 May 2025 12:00:14 +0300 Subject: [PATCH 03/16] [ArkTS] Fix Class.ofCaller signature Issue: #ICAJX5 Signed-off-by: Denis Slynko --- base_sdk/transfer/@ohos.transfer.ets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_sdk/transfer/@ohos.transfer.ets b/base_sdk/transfer/@ohos.transfer.ets index 6f7937c6..2bd36cfb 100644 --- a/base_sdk/transfer/@ohos.transfer.ets +++ b/base_sdk/transfer/@ohos.transfer.ets @@ -70,7 +70,7 @@ export namespace transfer { function getMethod(filePath: string, className: string, methodName: string): Method { className = filePath + '.' + className; - let linker = Class.ofCaller().getLinker(); + let linker = Class.ofCaller()!.getLinker(); let classType: ClassType | undefined = linker.getType(className) as ClassType; if (!classType) { throw new BusinessError(transferErrorCodeId, -- Gitee From d275fa0ad337b10040a9da27d3831b3ef703e8eb Mon Sep 17 00:00:00 2001 From: cheerful_ricky Date: Sun, 29 Jun 2025 17:01:24 +0800 Subject: [PATCH 04/16] register transfer callback Signed-off-by: cheerful_ricky --- base_sdk/BUILD.gn | 1 + .../transfer/kitRegister/basicServicesKit.ets | 23 +++++++++++++++++++ .../transfer/kitRegister/registerMain.ets | 2 ++ 3 files changed, 26 insertions(+) create mode 100644 base_sdk/transfer/kitRegister/basicServicesKit.ets diff --git a/base_sdk/BUILD.gn b/base_sdk/BUILD.gn index b560b4d8..06c8bac6 100644 --- a/base_sdk/BUILD.gn +++ b/base_sdk/BUILD.gn @@ -38,6 +38,7 @@ generate_static_abc("base_transfer") { "./transfer/register.ets", "./transfer/kitRegister/arkts.ets", "./transfer/kitRegister/registerMain.ets", + "./transfer/kitRegister/basicServicesKit.ets", ] is_boot_abc = "True" device_dst_file = "/system/framework/base_transfer.abc" diff --git a/base_sdk/transfer/kitRegister/basicServicesKit.ets b/base_sdk/transfer/kitRegister/basicServicesKit.ets new file mode 100644 index 00000000..d589f846 --- /dev/null +++ b/base_sdk/transfer/kitRegister/basicServicesKit.ets @@ -0,0 +1,23 @@ +/* + * 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 { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerCommonEventManager() { + registerStaticCB('CommonEventManager.CommonEventSubscriber', 'commonEvent/commonEventSubscriber', 'CommonEventSubscriberInner', 'transferStatic'); + registerDynamicCB('CommonEventManager.CommonEventSubscriber', 'commonEvent/commonEventSubscriber', 'CommonEventSubscriberInner', 'transferDynamic'); + + registerStaticCB('StaticSubscriberExtensionContext', '@ohos.application.StaticSubscriberExtensionContext', 'StaticSubscriberExtensionContext', 'transferStatic'); + registerDynamicCB('StaticSubscriberExtensionContext', '@ohos.application.StaticSubscriberExtensionContext', 'StaticSubscriberExtensionContext', 'transferDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/registerMain.ets b/base_sdk/transfer/kitRegister/registerMain.ets index ce29fcb3..99e5ad50 100644 --- a/base_sdk/transfer/kitRegister/registerMain.ets +++ b/base_sdk/transfer/kitRegister/registerMain.ets @@ -13,7 +13,9 @@ * limitations under the License. */ import { registerArkTS } from './arkts.ets'; +import { registerCommonEventManager } from './basicServicesKit.ets' export function registerMain(){ registerArkTS(); + registerCommonEventManager(); } \ No newline at end of file -- Gitee From 8c7a579ba8ed1cb5697cb5860e720139e9c3c86b Mon Sep 17 00:00:00 2001 From: xiongjun_gitee11 Date: Tue, 15 Jul 2025 11:11:31 +0800 Subject: [PATCH 05/16] add arkweb transfer register Signed-off-by: xiongjun_gitee11 --- base_sdk/BUILD.gn | 1 + base_sdk/transfer/kitRegister/arkweb.ets | 32 +++++++++++++++++++ .../transfer/kitRegister/registerMain.ets | 2 ++ 3 files changed, 35 insertions(+) create mode 100644 base_sdk/transfer/kitRegister/arkweb.ets diff --git a/base_sdk/BUILD.gn b/base_sdk/BUILD.gn index 06c8bac6..a127a1cd 100644 --- a/base_sdk/BUILD.gn +++ b/base_sdk/BUILD.gn @@ -37,6 +37,7 @@ generate_static_abc("base_transfer") { "./transfer/@ohos.transfer.ets", "./transfer/register.ets", "./transfer/kitRegister/arkts.ets", + "./transfer/kitRegister/arkweb.ets", "./transfer/kitRegister/registerMain.ets", "./transfer/kitRegister/basicServicesKit.ets", ] diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets new file mode 100644 index 00000000..a7912c47 --- /dev/null +++ b/base_sdk/transfer/kitRegister/arkweb.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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerArkWeb() { + registerStaticCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamStatic'); + registerDynamicCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamDynamic'); + + registerStaticCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultStatic'); + registerDynamicCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultDynamic'); + + registerStaticCB('ArkWeb.FileSelectorResult', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorResultStatic'); + registerDynamicCB('ArkWeb.FileSelectorResult', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorResultDynamic'); + + registerStaticCB('ArkWeb.WebContextMenuParam', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuParamStatic'); + registerDynamicCB('ArkWeb.WebContextMenuParam', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuParamDynamic'); + + registerStaticCB('ArkWeb.WebContextMenuResult', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuResultStatic'); + registerDynamicCB('ArkWeb.WebContextMenuResult', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuResultDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/registerMain.ets b/base_sdk/transfer/kitRegister/registerMain.ets index 99e5ad50..7f588f63 100644 --- a/base_sdk/transfer/kitRegister/registerMain.ets +++ b/base_sdk/transfer/kitRegister/registerMain.ets @@ -13,9 +13,11 @@ * limitations under the License. */ import { registerArkTS } from './arkts.ets'; +import { registerArkWeb } from './arkweb.ets'; import { registerCommonEventManager } from './basicServicesKit.ets' export function registerMain(){ registerArkTS(); + registerArkWeb(); registerCommonEventManager(); } \ No newline at end of file -- Gitee From 39cbd5bedbe78f089cb3ae07c285d78035f4d76f Mon Sep 17 00:00:00 2001 From: oh_ci Date: Tue, 15 Jul 2025 12:28:27 +0000 Subject: [PATCH 06/16] update .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md. Signed-off-by: oh_ci --- .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md index 4d478ebc..25dbe4da 100644 --- a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md +++ b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md @@ -60,7 +60,7 @@ - 是否同步合入interface仓的相关d.ts(需求合入用同一个issue) - [ ] 已同步 - [ ] 不涉及 -### L0新增用例自检结果 -- [ ] 是,有新增L0用例,且完成自检 -- [ ] 否 +### 是否已执行L0用例 +- [ ] 已验证 +- [ ] 不涉及。如不涉及,请写明理由 ## 六:将上述测试的截图贴到下面 -- Gitee From 95f47eb05df127c501254c9da8ef281bb329f86d Mon Sep 17 00:00:00 2001 From: chenguanhao Date: Wed, 16 Jul 2025 19:11:45 +0800 Subject: [PATCH 07/16] arkweb transfer Signed-off-by: chenguanhao --- base_sdk/transfer/kitRegister/arkweb.ets | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets index a7912c47..b97ea7e9 100644 --- a/base_sdk/transfer/kitRegister/arkweb.ets +++ b/base_sdk/transfer/kitRegister/arkweb.ets @@ -29,4 +29,25 @@ export function registerArkWeb() { registerStaticCB('ArkWeb.WebContextMenuResult', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuResultStatic'); registerDynamicCB('ArkWeb.WebContextMenuResult', 'arkui.component.web', 'ArkWebTransfer', 'transferWebContextMenuResultDynamic'); + + registerStaticCB('ArkWeb.HttpAuthHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferHttpAuthHandlerToStatic'); + registerDynamicCB('ArkWeb.HttpAuthHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferHttpAuthHandlerToDynamic'); + + registerStaticCB('ArkWeb.WebResourceResponse', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceReponseToStatic'); + registerDynamicCB('ArkWeb.WebResourceResponse', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceReponseToDynamic'); + + registerStaticCB('ArkWeb.WebResourceRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceRequestToStatic'); + registerDynamicCB('ArkWeb.WebResourceRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferWebResourceRequestToDynamic'); + + registerStaticCB('ArkWeb.ConsoleMessage', 'arkui.component.web', 'ArkWebTransfer', 'transferConsoleMessageToStatic'); + registerDynamicCB('ArkWeb.ConsoleMessage', 'arkui.component.web', 'ArkWebTransfer', 'transferConsoleMessageToDynamic'); + + registerStaticCB('ArkWeb.DataResubmissionHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferDataResubmissionHandlerToStatic'); + registerDynamicCB('ArkWeb.DataResubmissionHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferDataResubmissionHandlerToDynamic'); + + registerStaticCB('ArkWeb.ClientAuthenticationHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferClientAuthenticationHandlerToStatic'); + registerDynamicCB('ArkWeb.ClientAuthenticationHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferClientAuthenticationHandlerToDynamic'); + + registerStaticCB('ArkWeb.SslErrorHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferSslErrorHandlerToStatic'); + registerDynamicCB('ArkWeb.SslErrorHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferSslErrorHandlerToDynamic'); } -- Gitee From 7e4c3138c4c7803cf13ba54d25a7a8dff10c7339 Mon Sep 17 00:00:00 2001 From: hxf233333 Date: Wed, 16 Jul 2025 19:46:15 +0800 Subject: [PATCH 08/16] feat: add transferJsGeolocation Signed-off-by: hxf233333 --- base_sdk/transfer/kitRegister/arkweb.ets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets index a7912c47..b34fc213 100644 --- a/base_sdk/transfer/kitRegister/arkweb.ets +++ b/base_sdk/transfer/kitRegister/arkweb.ets @@ -18,6 +18,9 @@ export function registerArkWeb() { registerStaticCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamStatic'); registerDynamicCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamDynamic'); + registerStaticCB('ArkWeb.JsGeolocation', 'arkui.component.web', 'ArkWebTransfer', 'transferJsGeolocationStatic'); + registerDynamicCB('ArkWeb.JsGeolocation', 'arkui.component.web', 'ArkWebTransfer', 'transferJsGeolocationDynamic'); + registerStaticCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultStatic'); registerDynamicCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultDynamic'); -- Gitee From 802bf4b15d13a21c8d9fbfe59b5882b9f2317168 Mon Sep 17 00:00:00 2001 From: zhaowenpu Date: Wed, 16 Jul 2025 11:57:22 +0000 Subject: [PATCH 09/16] 1 Signed-off-by: zhaowenpu --- base_sdk/transfer/kitRegister/arkweb.ets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets index a7912c47..83a42e50 100644 --- a/base_sdk/transfer/kitRegister/arkweb.ets +++ b/base_sdk/transfer/kitRegister/arkweb.ets @@ -15,6 +15,9 @@ import { registerStaticCB, registerDynamicCB } from '../register.ets'; export function registerArkWeb() { + registerStaticCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ScreenCaptureHandler', 'transferScreenCaptureHandlerStatic'); + registerDynamicCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ScreenCaptureHandler', 'transferScreenCaptureHandlerDynamic'); + registerStaticCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamStatic'); registerDynamicCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamDynamic'); -- Gitee From 4cb718a3ece93ad44b08256d0b972a59dc50d60b Mon Sep 17 00:00:00 2001 From: zhaowenpu Date: Wed, 16 Jul 2025 13:28:59 +0000 Subject: [PATCH 10/16] 2 Signed-off-by: zhaowenpu --- base_sdk/transfer/kitRegister/arkweb.ets | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets index 83a42e50..aefc36b3 100644 --- a/base_sdk/transfer/kitRegister/arkweb.ets +++ b/base_sdk/transfer/kitRegister/arkweb.ets @@ -15,8 +15,8 @@ import { registerStaticCB, registerDynamicCB } from '../register.ets'; export function registerArkWeb() { - registerStaticCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ScreenCaptureHandler', 'transferScreenCaptureHandlerStatic'); - registerDynamicCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ScreenCaptureHandler', 'transferScreenCaptureHandlerDynamic'); + registerStaticCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferScreenCaptureHandlerStatic'); + registerDynamicCB('ArkWeb.ScreenCaptureHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferScreenCaptureHandlerDynamic'); registerStaticCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamStatic'); registerDynamicCB('ArkWeb.FileSelectorParam', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorParamDynamic'); -- Gitee From 18feb4679da1101788494c554da6c36012b96430 Mon Sep 17 00:00:00 2001 From: liuxiao_310 Date: Thu, 17 Jul 2025 00:44:31 +0800 Subject: [PATCH 11/16] web transfer permission,controllerHandler,keyboardController add register Signed-off-by: liuxiao_310 --- base_sdk/transfer/kitRegister/arkweb.ets | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets index ae833b11..b63baecd 100644 --- a/base_sdk/transfer/kitRegister/arkweb.ets +++ b/base_sdk/transfer/kitRegister/arkweb.ets @@ -53,4 +53,13 @@ export function registerArkWeb() { registerStaticCB('ArkWeb.SslErrorHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferSslErrorHandlerToStatic'); registerDynamicCB('ArkWeb.SslErrorHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferSslErrorHandlerToDynamic'); + + registerStaticCB('ArkWeb.PermissionRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferPermissionRequestStatic'); + registerDynamicCB('ArkWeb.PermissionRequest', 'arkui.component.web', 'ArkWebTransfer', 'transferPermissionRequestDynamic'); + + registerStaticCB('ArkWeb.WebKeyboardController', 'arkui.component.web', 'ArkWebTransfer', 'transferWebKeyboardControllerStatic'); + registerDynamicCB('ArkWeb.WebKeyboardController', 'arkui.component.web', 'ArkWebTransfer', 'transferWebKeyboardControllerDynamic'); + + registerStaticCB('ArkWeb.ControllerHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferControllerHandlerStatic'); + registerDynamicCB('ArkWeb.ControllerHandler', 'arkui.component.web', 'ArkWebTransfer', 'transferControllerHandlerDynamic'); } -- Gitee From 8633186d4bc1d4d2fda82269948043b859232941 Mon Sep 17 00:00:00 2001 From: zhanzehui Date: Thu, 17 Jul 2025 01:14:36 +0800 Subject: [PATCH 12/16] eventresult transfer Signed-off-by: zhanzehui --- base_sdk/transfer/kitRegister/arkweb.ets | 3 +++ 1 file changed, 3 insertions(+) diff --git a/base_sdk/transfer/kitRegister/arkweb.ets b/base_sdk/transfer/kitRegister/arkweb.ets index ae833b11..c190f1bf 100644 --- a/base_sdk/transfer/kitRegister/arkweb.ets +++ b/base_sdk/transfer/kitRegister/arkweb.ets @@ -24,6 +24,9 @@ export function registerArkWeb() { registerStaticCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultStatic'); registerDynamicCB('ArkWeb.JsResult', 'arkui.component.web', 'ArkWebTransfer', 'transferJsResultDynamic'); + registerStaticCB('ArkWeb.EventResult', 'arkui.component.web', 'ArkWebTransfer', 'transferEventResultStatic'); + registerDynamicCB('ArkWeb.EventResult', 'arkui.component.web', 'ArkWebTransfer', 'transferEventResultDynamic'); + registerStaticCB('ArkWeb.FileSelectorResult', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorResultStatic'); registerDynamicCB('ArkWeb.FileSelectorResult', 'arkui.component.web', 'ArkWebTransfer', 'transferFileSelectorResultDynamic'); -- Gitee From fae36891f1bb316b38e800d63ddf471c1cff8a9a Mon Sep 17 00:00:00 2001 From: yangzk Date: Fri, 6 Jun 2025 16:59:12 +0800 Subject: [PATCH 13/16] Description: transfer UIAbilityContext IssueNo: Sig: SIG_ApplicationFramework Feature or Bugfix: Feature Binary Source: No Signed-off-by: yangzk Change-Id: I1894fe716cf1fe96ac7d804e82d78eaa7a24893c --- base_sdk/BUILD.gn | 1 + base_sdk/transfer/kitRegister/abilitykit.ets | 20 +++++++++++++++++++ .../transfer/kitRegister/registerMain.ets | 3 +++ 3 files changed, 24 insertions(+) create mode 100644 base_sdk/transfer/kitRegister/abilitykit.ets diff --git a/base_sdk/BUILD.gn b/base_sdk/BUILD.gn index a127a1cd..83674650 100644 --- a/base_sdk/BUILD.gn +++ b/base_sdk/BUILD.gn @@ -36,6 +36,7 @@ generate_static_abc("base_transfer") { files = [ "./transfer/@ohos.transfer.ets", "./transfer/register.ets", + "./transfer/kitRegister/abilitykit.ets", "./transfer/kitRegister/arkts.ets", "./transfer/kitRegister/arkweb.ets", "./transfer/kitRegister/registerMain.ets", diff --git a/base_sdk/transfer/kitRegister/abilitykit.ets b/base_sdk/transfer/kitRegister/abilitykit.ets new file mode 100644 index 00000000..e35eab21 --- /dev/null +++ b/base_sdk/transfer/kitRegister/abilitykit.ets @@ -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 { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerAbilityKit() { + registerStaticCB('AbilityKit.UIAbilityContext', 'application.UIAbilityContext', 'UIAbilityContext', 'transferStatic'); + registerDynamicCB('AbilityKit.UIAbilityContext', 'application.UIAbilityContext', 'UIAbilityContext', 'transferDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/registerMain.ets b/base_sdk/transfer/kitRegister/registerMain.ets index 7f588f63..81f2e2c5 100644 --- a/base_sdk/transfer/kitRegister/registerMain.ets +++ b/base_sdk/transfer/kitRegister/registerMain.ets @@ -12,12 +12,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + import { registerArkTS } from './arkts.ets'; +import { registerAbilityKit } from './abilitykit.ets'; import { registerArkWeb } from './arkweb.ets'; import { registerCommonEventManager } from './basicServicesKit.ets' export function registerMain(){ registerArkTS(); + registerAbilityKit(); registerArkWeb(); registerCommonEventManager(); } \ No newline at end of file -- Gitee From 303719a291df7de07c05eb2d116467101122ec25 Mon Sep 17 00:00:00 2001 From: "zhangyafei.echo" Date: Tue, 17 Jun 2025 10:46:06 +0800 Subject: [PATCH 14/16] Description:add applicationcontext abilitystagecontext and context transfer Sig:SIG_ApplicationFramework Feature or BugFix: Feature Binary Source: No Signed-off-by: zhangyafei.echo Change-Id: Ic0b565be8811352502f2335785ec3d4554ca8458 --- base_sdk/transfer/kitRegister/abilitykit.ets | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/base_sdk/transfer/kitRegister/abilitykit.ets b/base_sdk/transfer/kitRegister/abilitykit.ets index e35eab21..03550f35 100644 --- a/base_sdk/transfer/kitRegister/abilitykit.ets +++ b/base_sdk/transfer/kitRegister/abilitykit.ets @@ -17,4 +17,13 @@ import { registerStaticCB, registerDynamicCB } from '../register.ets'; export function registerAbilityKit() { registerStaticCB('AbilityKit.UIAbilityContext', 'application.UIAbilityContext', 'UIAbilityContext', 'transferStatic'); registerDynamicCB('AbilityKit.UIAbilityContext', 'application.UIAbilityContext', 'UIAbilityContext', 'transferDynamic'); + + registerStaticCB('AbilityKit.Context', 'application.Context', 'Context', 'transferStatic'); + registerDynamicCB('AbilityKit.Context', 'application.Context', 'Context', 'transferDynamic'); + + registerStaticCB('AbilityKit.ApplicationContext', 'application.ApplicationContext', 'ApplicationContext', 'transferStatic'); + registerDynamicCB('AbilityKit.ApplicationContext', 'application.ApplicationContext', 'ApplicationContext', 'transferDynamic'); + + registerStaticCB('AbilityKit.AbilityStageContext', 'application.AbilityStageContext', 'AbilityStageContext', 'transferStatic'); + registerDynamicCB('AbilityKit.AbilityStageContext', 'application.AbilityStageContext', 'AbilityStageContext', 'transferDynamic'); } -- Gitee From c8f489cf196ab161f1c40e1a32b90d6b7b931721 Mon Sep 17 00:00:00 2001 From: xuqian Date: Sat, 12 Jul 2025 12:09:18 +0800 Subject: [PATCH 15/16] os account transfer Signed-off-by: xuqian Change-Id: Ibaa79f2c9e0052ac8301259b1dbc50e594b8dfdc --- base_sdk/BUILD.gn | 1 + base_sdk/transfer/kitRegister/osAccount.ets | 20 +++++++++++++++++++ .../transfer/kitRegister/registerMain.ets | 2 ++ 3 files changed, 23 insertions(+) create mode 100644 base_sdk/transfer/kitRegister/osAccount.ets diff --git a/base_sdk/BUILD.gn b/base_sdk/BUILD.gn index 83674650..6d585e9a 100644 --- a/base_sdk/BUILD.gn +++ b/base_sdk/BUILD.gn @@ -41,6 +41,7 @@ generate_static_abc("base_transfer") { "./transfer/kitRegister/arkweb.ets", "./transfer/kitRegister/registerMain.ets", "./transfer/kitRegister/basicServicesKit.ets", + "./transfer/kitRegister/osAccount.ets", ] is_boot_abc = "True" device_dst_file = "/system/framework/base_transfer.abc" diff --git a/base_sdk/transfer/kitRegister/osAccount.ets b/base_sdk/transfer/kitRegister/osAccount.ets new file mode 100644 index 00000000..425aa0e3 --- /dev/null +++ b/base_sdk/transfer/kitRegister/osAccount.ets @@ -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 { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerOsAccount() { + registerStaticCB('BasicServicesKit.IInputData', '@ohos.account.transfer.osAccount', 'Transfer', 'iInputDataTransferStatic'); + registerDynamicCB('BasicServicesKit.IInputData', '@ohos.account.transfer.osAccount', 'Transfer', 'iInputDataTransferDynamic'); +} diff --git a/base_sdk/transfer/kitRegister/registerMain.ets b/base_sdk/transfer/kitRegister/registerMain.ets index 81f2e2c5..54503391 100644 --- a/base_sdk/transfer/kitRegister/registerMain.ets +++ b/base_sdk/transfer/kitRegister/registerMain.ets @@ -15,12 +15,14 @@ import { registerArkTS } from './arkts.ets'; import { registerAbilityKit } from './abilitykit.ets'; +import { registerOsAccount } from './osAccount.ets'; import { registerArkWeb } from './arkweb.ets'; import { registerCommonEventManager } from './basicServicesKit.ets' export function registerMain(){ registerArkTS(); registerAbilityKit(); + registerOsAccount(); registerArkWeb(); registerCommonEventManager(); } \ No newline at end of file -- Gitee From 98ba5ee6902d257b20549a7439d65accfc142717 Mon Sep 17 00:00:00 2001 From: zhouchaobo Date: Mon, 21 Jul 2025 10:04:26 +0800 Subject: [PATCH 16/16] event transfer Signed-off-by: zhouchaobo --- base_sdk/BUILD.gn | 1 + base_sdk/transfer/kitRegister/arkui.ets | 32 +++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 base_sdk/transfer/kitRegister/arkui.ets diff --git a/base_sdk/BUILD.gn b/base_sdk/BUILD.gn index 6d585e9a..f6394d77 100644 --- a/base_sdk/BUILD.gn +++ b/base_sdk/BUILD.gn @@ -38,6 +38,7 @@ generate_static_abc("base_transfer") { "./transfer/register.ets", "./transfer/kitRegister/abilitykit.ets", "./transfer/kitRegister/arkts.ets", + "./transfer/kitRegister/arkui.ets", "./transfer/kitRegister/arkweb.ets", "./transfer/kitRegister/registerMain.ets", "./transfer/kitRegister/basicServicesKit.ets", diff --git a/base_sdk/transfer/kitRegister/arkui.ets b/base_sdk/transfer/kitRegister/arkui.ets new file mode 100644 index 00000000..ced9decb --- /dev/null +++ b/base_sdk/transfer/kitRegister/arkui.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. + */ +import { registerStaticCB, registerDynamicCB } from '../register.ets'; + +export function registerArkTS() { + registerStaticCB('ArkUI.TouchEvent', "arkui.component.common", "TouchEventInternal", "transferStatic"); + registerDynamicCB('ArkUI.TouchEvent', "arkui.component.common", "TouchEventInternal", "transferDynamic"); + + registerStaticCB('ArkUI.MouseEvent', "arkui.component.common", "MouseEventInternal", "transferStatic"); + registerDynamicCB('ArkUI.MouseEvent', "arkui.component.common", "MouseEventInternal", "transferDynamic"); + + registerStaticCB('ArkUI.AxisEvent', "arkui.component.common", "AxisEventInternal", "transferStatic"); + registerDynamicCB('ArkUI.AxisEvent', "arkui.component.common", "AxisEventInternal", "transferDynamic"); + + registerStaticCB('ArkUI.ClickEvent', "arkui.component.common", "ClickEventInternal", "transferStatic"); + registerDynamicCB('ArkUI.ClickEvent', "arkui.component.common", "ClickEventInternal", "transferDynamic"); + + registerStaticCB('ArkUI.HoverEvent', "arkui.component.common", "HoverEventInternal", "transferStatic"); + registerDynamicCB('ArkUI.HoverEvent', "arkui.component.common", "HoverEventInternal", "transferDynamic"); +} -- Gitee