diff --git a/BUILD.gn b/BUILD.gn index 8c00849bfb58b5f2e756d325dd0ac8af8e2cd07c..c681d2ab2f1976b97c67999d9ce3b90ed4dee95b 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -11,7 +11,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -group("atomicservice_ui_component") { +group("advanced_ui_component") { deps = [ "atomicservicenavigation/interfaces:atomicservicenavigation", "atomicservicetabs/interfaces:atomicservicetabs", diff --git a/atomicservice_config.gni b/atomicservice_config.gni new file mode 100644 index 0000000000000000000000000000000000000000..77087d83bb3456db266cd14f5682ca33b0c7bf21 --- /dev/null +++ b/atomicservice_config.gni @@ -0,0 +1,95 @@ +# Copyright (c) 2024 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("//build/config/clang/clang.gni") +import("//build/ohos.gni") +import("//build/test.gni") + +enable_dump_drawcmd = false +is_ohos_standard_system = is_standard_system && !is_arkui_x +use_mingw_win = "${current_os}_${current_cpu}" == "mingw_x86_64" +use_mac = "${current_os}_${current_cpu}" == "mac_x64" || + "${current_os}_${current_cpu}" == "mac_arm64" +use_ios = "${current_os}_${current_cpu}" == "ios_x64" || + "${current_os}_${current_cpu}" == "ios_arm64" +use_linux = "${current_os}_${current_cpu}" == "linux_x64" + +# Config toolchain +windows_buildtool = "//build/toolchain/mingw:mingw_x86_64" +objcopy_default = "//prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/bin/objcopy" +objcopy_mingw = "//prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/bin/objcopy" +objcopy_x86_64 = "${default_clang_base_path}/bin/llvm-objcopy" +if ("${current_os}_${current_cpu}" == "mac_arm64") { + mac_buildtool = "//build/toolchain/mac:clang_arm64" +} else if ("${current_os}_${current_cpu}" == "mac_x64") { + mac_buildtool = "//build/toolchain/mac:clang_x64" +} + +objcopy_clang = "$clang_base_path/bin/llvm-objcopy" + +if (is_ohos_standard_system) { + objcopy_default = "//prebuilts/clang/ohos/linux-x86_64/llvm/bin/llvm-objcopy" +} else if (is_arkui_x) { + if (host_os == "mac") { + objcopy_default = objcopy_clang + } +} + +use_hilog = is_mingw || is_mac || is_linux || is_ohos || is_ohos_standard_system + +# Config gen_obj +template("gen_obj") { + name = target_name + action("gen_obj_" + name) { + visibility = [ ":*" ] # Only targets in this file can depend on this. + + if (use_mingw_win) { + objcopy_tool = objcopy_mingw + script = "//foundation/arkui/ace_engine/build/tools/build_resource_to_bytecode.py" + } else if (use_mac || target_os == "ios") { + objcopy_tool = objcopy_clang + script = "//foundation/arkui/ace_engine/build/tools/build_resource_to_bytecode.py" + } else if (use_linux) { + objcopy_tool = objcopy_x86_64 + script = "//foundation/arkui/ace_engine/build/tools/build_resource_to_bytecode.py" + } else if (target_cpu == "x86_64") { + objcopy_tool = objcopy_x86_64 + script = "//foundation/arkui/ace_engine/build/tools/run_objcopy.py" + } else { + objcopy_tool = objcopy_default + script = "//foundation/arkui/ace_engine/build/tools/run_objcopy.py" + } + + args = [ + "--objcopy", + rebase_path(objcopy_tool), + "--input", + rebase_path(invoker.input), + "--output", + rebase_path(invoker.output), + "--arch", + current_cpu, + ] + + deps = [] + deps += invoker.snapshot_dep + + inputs = [ invoker.input ] + outputs = [ invoker.output ] + } + + source_set("gen_obj_src_" + name) { + sources = [ invoker.output ] + deps = [ ":gen_obj_" + name ] + } +} diff --git a/atomicservicenavigation/interfaces/BUILD.gn b/atomicservicenavigation/interfaces/BUILD.gn index 2c567617deb64d4231c372a2ac915f50ecf7050f..614b698ed91745bd3f14d00a0a7f7d5110981dac 100644 --- a/atomicservicenavigation/interfaces/BUILD.gn +++ b/atomicservicenavigation/interfaces/BUILD.gn @@ -13,9 +13,7 @@ import("//build/config/components/ets_frontend/es2abc_config.gni") import("//build/ohos.gni") -import("//foundation/arkui/ace_engine/ace_config.gni") -import("//foundation/arkui/ace_engine/adapter/preview/build/config.gni") -import("//foundation/arkui/ace_engine/build/ace_gen_obj.gni") +import("//foundation/arkui/advanced_ui_component/atomicservice_config.gni") es2abc_gen_abc("gen_atomicservicenavigation_abc") { src_js = rebase_path("atomicservicenavigation.js") @@ -55,5 +53,5 @@ ohos_shared_library("atomicservicenavigation") { relative_install_dir = "module/atomicservice" subsystem_name = "arkui" - part_name = "atomicservice_ui_component" + part_name = "advanced_ui_component" } diff --git a/atomicservicetabs/interfaces/BUILD.gn b/atomicservicetabs/interfaces/BUILD.gn index 2247ab285d2560f943be10d04e1bc93334705650..6fbe8cb67f5146d22b3d8a88b3005199e30354aa 100644 --- a/atomicservicetabs/interfaces/BUILD.gn +++ b/atomicservicetabs/interfaces/BUILD.gn @@ -13,9 +13,7 @@ import("//build/config/components/ets_frontend/es2abc_config.gni") import("//build/ohos.gni") -import("//foundation/arkui/ace_engine/ace_config.gni") -import("//foundation/arkui/ace_engine/adapter/preview/build/config.gni") -import("//foundation/arkui/ace_engine/build/ace_gen_obj.gni") +import("//foundation/arkui/advanced_ui_component/atomicservice_config.gni") es2abc_gen_abc("gen_atomicservicetabs_abc") { src_js = rebase_path("atomicservicetabs.js") @@ -55,5 +53,5 @@ ohos_shared_library("atomicservicetabs") { relative_install_dir = "module/atomicservice" subsystem_name = "arkui" - part_name = "atomicservice_ui_component" + part_name = "advanced_ui_component" } diff --git a/atomicserviceweb/interfaces/BUILD.gn b/atomicserviceweb/interfaces/BUILD.gn index f8b10fe962569aee23819056c1d24b0894c678b0..92718c9f43f0ec9e1f5b44c23428b39675273baa 100644 --- a/atomicserviceweb/interfaces/BUILD.gn +++ b/atomicserviceweb/interfaces/BUILD.gn @@ -13,9 +13,7 @@ import("//build/config/components/ets_frontend/es2abc_config.gni") import("//build/ohos.gni") -import("//foundation/arkui/ace_engine/ace_config.gni") -import("//foundation/arkui/ace_engine/adapter/preview/build/config.gni") -import("//foundation/arkui/ace_engine/build/ace_gen_obj.gni") +import("//foundation/arkui/advanced_ui_component/atomicservice_config.gni") es2abc_gen_abc("gen_atomicserviceweb_abc") { src_js = rebase_path("atomicserviceweb.js") @@ -60,5 +58,5 @@ ohos_shared_library("atomicserviceweb") { relative_install_dir = "module/atomicservice" subsystem_name = "arkui" - part_name = "atomicservice_ui_component" + part_name = "advanced_ui_component" } diff --git a/atomicserviceweb/interfaces/atomicserviceweb.js b/atomicserviceweb/interfaces/atomicserviceweb.js index 5cb35b2e3d5aa0421f93c23e25b00c0c6f426a2a..6bf2ff73e9df48e82a36c4c286bdaa229cd530f5 100644 --- a/atomicserviceweb/interfaces/atomicserviceweb.js +++ b/atomicserviceweb/interfaces/atomicserviceweb.js @@ -93,6 +93,7 @@ const UPLOAD_IMAGE_FILES_URI_REQUIRED_ERROR = new AsError(200012, 'Param uri of const UPLOAD_FILE_ERROR = new AsError(200013, 'Upload file error.'); const IMAGE_CAN_NOT_PREVIEW_ERROR = new AsError(200014, 'The filePath can not preview.'); const NETWORK_NO_ACTIVE_ERROR = new AsError(200015, 'The network is not active.'); +const PERMISSION_LOCATION_USER_REFUSED_ERROR = 200016; registerJsApi('router.pushUrl', 'pushUrl', '1.0.0', MAX_VERSION, ['url']); registerJsApi('router.replaceUrl', 'replaceUrl', '1.0.0', MAX_VERSION, ['url']); @@ -806,6 +807,12 @@ class AtomicService { p5.requestPermissionsFromUser(this.context, [j5]).then(t5 => { for (let u5 = 0; u5 < t5.authResults.length; u5++) { if (t5.authResults[u5] != 0) { + const error = { + name: '', + message: `RequestPermissionsFromUser error. authResult: ${t5.authResults[u5]}.`, + code: PERMISSION_LOCATION_USER_REFUSED_ERROR + }; + k5(error); return; } } diff --git a/atomicserviceweb/source/atomicserviceweb.ets b/atomicserviceweb/source/atomicserviceweb.ets index 46fa5b101cb97d2fb858e3bf03bcce738d0c27aa..625fc8603c55f26cdaa37d0ab9bf0ca9722a6357 100644 --- a/atomicserviceweb/source/atomicserviceweb.ets +++ b/atomicserviceweb/source/atomicserviceweb.ets @@ -85,6 +85,7 @@ const UPLOAD_IMAGE_FILES_URI_REQUIRED_ERROR: AsError = new AsError(200012, 'Para const UPLOAD_FILE_ERROR: AsError = new AsError(200013, 'Upload file error.'); const IMAGE_CAN_NOT_PREVIEW_ERROR: AsError = new AsError(200014, 'The filePath can not preview.'); const NETWORK_NO_ACTIVE_ERROR: AsError = new AsError(200015, 'The network is not active.'); +const PERMISSION_LOCATION_USER_REFUSED_ERROR: number = 200016; registerJsApi('router.pushUrl', 'pushUrl', '1.0.0', MAX_VERSION, ['url']); registerJsApi('router.replaceUrl', 'replaceUrl', '1.0.0', MAX_VERSION, ['url']); @@ -690,6 +691,12 @@ class AtomicService { atManager.requestPermissionsFromUser(this.context, [permissionName]).then(permissionRequestResult => { for (let i = 0; i < permissionRequestResult.authResults.length; i++) { if (permissionRequestResult.authResults[i] != 0) { + const error: BusinessError = { + name: '', + message: `RequestPermissionsFromUser error. authResult: ${permissionRequestResult.authResults[i]}.`, + code: PERMISSION_LOCATION_USER_REFUSED_ERROR + }; + grantCallback(error); return; } } diff --git a/bundle.json b/bundle.json index b622245295c2dcfe3341d92c4db51cfdd22a46f2..ca80fc0637ffa0f48a4c7f0c945dba0714254b9a 100644 --- a/bundle.json +++ b/bundle.json @@ -1,13 +1,13 @@ { "name": "@ohos/advanced_ui_component", "version": "1.0.0", - "description": "atomicservice_ui_component", + "description": "advanced_ui_component", "publishAs": "code-segment", "segment": { - "destPath": "foundation/arkui/arkui_advanced_ui_component" + "destPath": "foundation/arkui/advanced_ui_component" }, "component": { - "name": "atomicservice_ui_component", + "name": "advanced_ui_component", "subsystem": "arkui", "syscap": [], "features": [], @@ -25,11 +25,11 @@ }, "build": { "sub_component": [ - "//foundation/arkui/arkui_advanced_ui_component/atomicservicenavigation/interfaces:atomicservicenavigation", - "//foundation/arkui/arkui_advanced_ui_component/atomicservicetabs/interfaces:atomicservicetabs", - "//foundation/arkui/arkui_advanced_ui_component/atomicserviceweb/interfaces:atomicserviceweb", - "//foundation/arkui/arkui_advanced_ui_component/innerfullscreenlaunchcomponent/interfaces:innerfullscreenlaunchcomponent", - "//foundation/arkui/arkui_advanced_ui_component/interstitialdialogaction/interfaces:interstitialdialogaction" + "//foundation/arkui/advanced_ui_component/atomicservicenavigation/interfaces:atomicservicenavigation", + "//foundation/arkui/advanced_ui_component/atomicservicetabs/interfaces:atomicservicetabs", + "//foundation/arkui/advanced_ui_component/atomicserviceweb/interfaces:atomicserviceweb", + "//foundation/arkui/advanced_ui_component/innerfullscreenlaunchcomponent/interfaces:innerfullscreenlaunchcomponent", + "//foundation/arkui/advanced_ui_component/interstitialdialogaction/interfaces:interstitialdialogaction" ], "inner_kits": [], "test": [] diff --git a/innerfullscreenlaunchcomponent/interfaces/BUILD.gn b/innerfullscreenlaunchcomponent/interfaces/BUILD.gn index c77e449cd3cc657f2a0e19989992d1465f83a40e..7a0ad279b126fe301887e2b0aabfa7f97cdd5b09 100644 --- a/innerfullscreenlaunchcomponent/interfaces/BUILD.gn +++ b/innerfullscreenlaunchcomponent/interfaces/BUILD.gn @@ -57,5 +57,5 @@ ohos_shared_library("innerfullscreenlaunchcomponent") { relative_install_dir = "module/arkui/advanced" subsystem_name = "arkui" - part_name = "atomicservice_ui_component" + part_name = "advanced_ui_component" } diff --git a/interstitialdialogaction/interfaces/BUILD.gn b/interstitialdialogaction/interfaces/BUILD.gn index aab43e25617d807efe5945609f332509b8ee9d78..495c7cdb00833ee55783f0c50fe51161cd9c6ea1 100644 --- a/interstitialdialogaction/interfaces/BUILD.gn +++ b/interstitialdialogaction/interfaces/BUILD.gn @@ -13,9 +13,7 @@ import("//build/config/components/ets_frontend/es2abc_config.gni") import("//build/ohos.gni") -import("//foundation/arkui/ace_engine/ace_config.gni") -import("//foundation/arkui/ace_engine/adapter/preview/build/config.gni") -import("//foundation/arkui/ace_engine/build/ace_gen_obj.gni") +import("//foundation/arkui/advanced_ui_component/atomicservice_config.gni") es2abc_gen_abc("gen_interstitialdialogaction_abc") { src_js = rebase_path("interstitialdialogaction.js") @@ -55,5 +53,5 @@ ohos_shared_library("interstitialdialogaction") { relative_install_dir = "module/atomicservice" subsystem_name = "arkui" - part_name = "atomicservice_ui_component" + part_name = "advanced_ui_component" } diff --git a/navpushpathhelper/BUILD.gn b/navpushpathhelper/BUILD.gn index c540e9d176baf4620c4d367ecf5ff25f04c42894..dcbf22dced03b694f6a105fb0456017d449e83f5 100644 --- a/navpushpathhelper/BUILD.gn +++ b/navpushpathhelper/BUILD.gn @@ -11,11 +11,9 @@ # See the License for the specific language governing permissions and # limitations under the License. -import("//arkcompiler/ets_frontend/es2panda/es2abc_config.gni") +import("//build/config/components/ets_frontend/es2abc_config.gni") import("//build/ohos.gni") -import("//foundation/arkui/ace_engine/ace_config.gni") -import("//foundation/arkui/ace_engine/adapter/preview/build/config.gni") -import("//foundation/arkui/ace_engine/build/ace_gen_obj.gni") +import("//foundation/arkui/advanced_ui_component/atomicservice_config.gni") es2abc_gen_abc("gen_navpushpathhelper_abc") { src_js = rebase_path("navpushpathhelper.js") @@ -72,5 +70,5 @@ ohos_shared_library("navpushpathhelper") { relative_install_dir = "module/atomicservice" subsystem_name = "arkui" - part_name = "as_advanced_ui_component" + part_name = "advanced_ui_component" }