diff --git a/frameworks/ets/ani/BUILD.gn b/frameworks/ets/ani/BUILD.gn index f487ec8a1225f3956c9d5fa7ec48d2bfa9ee867f..427cb12b23075d966657009ec0c1ada7a786c393 100644 --- a/frameworks/ets/ani/BUILD.gn +++ b/frameworks/ets/ani/BUILD.gn @@ -24,7 +24,6 @@ group("ani_packages") { "${ability_runtime_path}/frameworks/ets/ani/form_extension_ability:form_extension_ability_etc", "${ability_runtime_path}/frameworks/ets/ani/insight_intent/insight_intent_driver:insight_intent_driver_ani_kit", "${ability_runtime_path}/frameworks/ets/ani/native_constructor:context_ani", - "${ability_runtime_path}/frameworks/ets/ani/uri_permission_manager:uri_permission_manager_abc_etc", "${ability_runtime_path}/frameworks/ets/ani/uri_permission_manager:uri_permission_manager_ani_kit", "${ability_runtime_path}/frameworks/ets/ani/wantagent:aniwantagent", "${ability_runtime_path}/frameworks/ets/ani/application:application_ani", diff --git a/frameworks/ets/ani/uri_permission_manager/BUILD.gn b/frameworks/ets/ani/uri_permission_manager/BUILD.gn index 45039ec05ed7f5b6dc3377d95a1ca637a48829d1..db4c22e2905d6954536192eaa98a7d9547744a97 100644 --- a/frameworks/ets/ani/uri_permission_manager/BUILD.gn +++ b/frameworks/ets/ani/uri_permission_manager/BUILD.gn @@ -82,24 +82,4 @@ ohos_shared_library("uri_permission_manager_ani_kit") { innerapi_tags = [ "platformsdk" ] subsystem_name = "ability" part_name = "ability_runtime" -} - -generate_static_abc("uri_permission_manager_abc") { - base_url = "./ets" - - files = [ "./ets/@ohos.application.uriPermissionManager.ets" ] - - dst_file = "$target_out_dir/uri_permission_manager.abc" - out_puts = [ "$target_out_dir/uri_permission_manager.abc" ] - - is_boot_abc = "True" - device_dst_file = "/system/framework/uri_permission_manager.abc" -} - -ohos_prebuilt_etc("uri_permission_manager_abc_etc") { - source = "$target_out_dir/uri_permission_manager.abc" - module_install_dir = "framework" - subsystem_name = "ability" - part_name = "ability_runtime" - deps = [ ":uri_permission_manager_abc" ] } \ No newline at end of file diff --git a/frameworks/ets/ani/uri_permission_manager/src/sts_uri_perm_mgr.cpp b/frameworks/ets/ani/uri_permission_manager/src/sts_uri_perm_mgr.cpp index 638650677fb2b7c6e57b637d2d2612bccad40551..a0e850698d08a30cc95cf7b500de7e6751115092 100644 --- a/frameworks/ets/ani/uri_permission_manager/src/sts_uri_perm_mgr.cpp +++ b/frameworks/ets/ani/uri_permission_manager/src/sts_uri_perm_mgr.cpp @@ -151,13 +151,13 @@ void StsUriPermissionManagerInit(ani_env *env) ani_native_function { "grantUriPermissionCallbackSync", "Lstd/core/String;L@ohos/app/ability/wantConstant/wantConstant/Flags;Lstd/core/String;D" - "L@ohos/application/uriPermissionManager/AsyncCallbackWrapper;:V", + "Lutils/AbilityUtils/AsyncCallbackWrapper;:V", reinterpret_cast(grantUriPermissionCallbackSync) }, ani_native_function { "revokeUriPermissionCallbackSync", "Lstd/core/String;Lstd/core/String;D" - "L@ohos/application/uriPermissionManager/AsyncCallbackWrapper;:V", + "Lutils/AbilityUtils/AsyncCallbackWrapper;:V", reinterpret_cast(revokeUriPermissionCallbackSync) }, }; diff --git a/frameworks/ets/ani/uri_permission_manager/ets/@ohos.application.uriPermissionManager.ets b/frameworks/ets/ets/@ohos.application.uriPermissionManager.ets similarity index 84% rename from frameworks/ets/ani/uri_permission_manager/ets/@ohos.application.uriPermissionManager.ets rename to frameworks/ets/ets/@ohos.application.uriPermissionManager.ets index c586a2cca3900d702063c47e1a321be6b1c72e6f..307c7bb96610c8952fc8e8806a79866f39bf86b8 100644 --- a/frameworks/ets/ani/uri_permission_manager/ets/@ohos.application.uriPermissionManager.ets +++ b/frameworks/ets/ets/@ohos.application.uriPermissionManager.ets @@ -15,18 +15,7 @@ import wantConstant from '@ohos.app.ability.wantConstant'; import { BusinessError, AsyncCallback } from '@ohos.base'; - -export class AsyncCallbackWrapper { - myFun_:AsyncCallback = (err: BusinessError, data: T) => {} - - constructor(myFun:AsyncCallback){ - this.myFun_ = myFun; - } - - invoke(err: BusinessError, data: T) : void { - this.myFun_(err, data); - } -} +import AsyncCallbackWrapper from './utils/AbilityUtils'; export default namespace uriPermissionManager { loadLibrary("uri_permission_manager_ani_kit.z"); @@ -38,9 +27,13 @@ export default namespace uriPermissionManager { export function grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: string): Promise { let p:Promise = new Promise((resolve: (data: number)=>void, reject:(err: BusinessError)=>void):void => { - let myCall = new AsyncCallbackWrapper((err: BusinessError, data: number)=>{ - if (err.code == 0) { - resolve(data); + let myCall = new AsyncCallbackWrapper((err: BusinessError | null, data: number | undefined)=>{ + if (err === null || err.code === 0) { + if (data === undefined) { + resolve(-1); + } else { + resolve(data); + } } else { reject(err); } @@ -55,8 +48,8 @@ export default namespace uriPermissionManager { export function grantUriPermission(uri: string, flag: wantConstant.Flags, targetBundleName: string, appCloneIndex: number): Promise { let p:Promise = new Promise((resolve: (data:undefined)=>void, reject:(err: BusinessError)=>void):void => { - let myCall = new AsyncCallbackWrapper((err: BusinessError, data: number)=>{ - if (err.code == 0) { + let myCall = new AsyncCallbackWrapper((err: BusinessError | null, data: number | undefined)=>{ + if (err === null || err.code === 0) { resolve(undefined); } else { reject(err); @@ -80,9 +73,13 @@ export default namespace uriPermissionManager { export function revokeUriPermission(uri: string, targetBundleName: string): Promise { let p:Promise = new Promise((resolve: (data: number)=>void, reject:(err: BusinessError)=>void):void => { - let myCall = new AsyncCallbackWrapper((err: BusinessError, data: number)=>{ - if (err.code == 0) { - resolve(data); + let myCall = new AsyncCallbackWrapper((err: BusinessError | null, data: number | undefined)=>{ + if (err === null || err.code === 0) { + if (data === undefined) { + resolve(-1); + } else { + resolve(data); + } } else { reject(err); } @@ -96,8 +93,8 @@ export default namespace uriPermissionManager { export function revokeUriPermission(uri: string, targetBundleName: string, appCloneIndex: number): Promise { let p:Promise = new Promise((resolve: (data:undefined)=>void, reject:(err: BusinessError)=>void):void => { - let myCall = new AsyncCallbackWrapper((err: BusinessError, data: number)=>{ - if (err.code == 0) { + let myCall = new AsyncCallbackWrapper((err: BusinessError | null, data: number | undefined)=>{ + if (err === null || err.code === 0) { resolve(undefined); } else { reject(err); diff --git a/frameworks/ets/ets/BUILD.gn b/frameworks/ets/ets/BUILD.gn index ae9a2fc41a8f842691e9361c2f8754eadd4a9fb2..2693748fbe64dc09a29aee9879b9a3606590602d 100644 --- a/frameworks/ets/ets/BUILD.gn +++ b/frameworks/ets/ets/BUILD.gn @@ -800,6 +800,26 @@ ohos_prebuilt_etc("ability_runtime_insight_intent_executor_abc_etc") { deps = [ ":ability_runtime_insight_intent_executor_abc" ] } +generate_static_abc("uri_permission_manager_abc") { + base_url = "./" + + files = [ "./@ohos.application.uriPermissionManager.ets" ] + + dst_file = "$target_out_dir/uri_permission_manager.abc" + out_puts = [ "$target_out_dir/uri_permission_manager.abc" ] + + is_boot_abc = "True" + device_dst_file = "/system/framework/uri_permission_manager.abc" +} + +ohos_prebuilt_etc("uri_permission_manager_abc_etc") { + source = "$target_out_dir/uri_permission_manager.abc" + module_install_dir = "framework" + subsystem_name = "ability" + part_name = "ability_runtime" + deps = [ ":uri_permission_manager_abc" ] +} + group("ets_packages") { deps = [ ":ability_ability_application_abc_etc", @@ -848,6 +868,7 @@ group("ets_packages") { ":ability_runtime_want_constant_abc_etc", ":service_extension_ability_abc_etc", ":ui_extension_ability_ani_etc", + ":uri_permission_manager_abc_etc", ":ability_runtime_OpenLink_Options_abc_etc", ] }