From cf5d0248b37de66e656c97488e93af8f9b1c7b00 Mon Sep 17 00:00:00 2001 From: fanchenxuan Date: Thu, 20 Oct 2022 11:21:44 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=82=E9=85=8DreqPermissionDetail=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fanchenxuan --- .../main/ets/pages/application-tertiary.ets | 19 ++++++++------ .../src/main/ets/pages/dialogPlus.ets | 25 +++++++++++-------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/permissionmanager/src/main/ets/pages/application-tertiary.ets b/permissionmanager/src/main/ets/pages/application-tertiary.ets index c11abb7..b27315a 100644 --- a/permissionmanager/src/main/ets/pages/application-tertiary.ets +++ b/permissionmanager/src/main/ets/pages/application-tertiary.ets @@ -16,6 +16,7 @@ import { backBar } from "../common/components/backBar"; import router from '@system.router'; import bundle from "@ohos.bundle"; +import bundleManager from '@ohos.bundle.bundleManager'; import { getAppLabel, getAppIcon } from "../common/utils/utils"; import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; import { authorizeDialog } from "../common/components/dialog"; @@ -190,22 +191,24 @@ struct mediaDocumentItem { reason = '' } let hasReason = false - bundle.getBundleInfo(routerData, Constants.PARMETER_BUNDLE_FLAG).then(res => { - this.api = res.targetVersion - bundleInfo = res + bundleManager.getBundleInfo(routerData, Constants.PARMETER_BUNDLE_FLAG).then(info => { permissions.forEach(permission => { - res.reqPermissionDetails.forEach(reqPermissionDetail => { + info.reqPermissionDetails.forEach(reqPermissionDetail => { if(reqPermissionDetail.name == permission) { let context = globalThis.context.createBundleContext(routerData) context.resourceManager.getString(reqPermissionDetail.reasonId).then(value => { - if (value !== undefined && !hasReason) { - reason += value.slice(Constants.START_SUBSCRIPT, Constants.END_SUBSCRIPT) - hasReason = true - } + if (value !== undefined && !hasReason) { + reason += value.slice(Constants.START_SUBSCRIPT, Constants.END_SUBSCRIPT) + hasReason = true + } }) } }) }) + }) + bundle.getBundleInfo(routerData, Constants.PARMETER_BUNDLE_FLAG).then(res => { + this.api = res.targetVersion + bundleInfo = res var acManager = abilityAccessCtrl.createAtManager() acManager.verifyAccessToken(res.appInfo.accessTokenId, PRECISE_LOCATION_PERMISSION).then(accurateStatus => { accurateStatus == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED ? this.accurateIsOn = true : this.accurateIsOn = false diff --git a/permissionmanager/src/main/ets/pages/dialogPlus.ets b/permissionmanager/src/main/ets/pages/dialogPlus.ets index 2904b7e..153a3ee 100644 --- a/permissionmanager/src/main/ets/pages/dialogPlus.ets +++ b/permissionmanager/src/main/ets/pages/dialogPlus.ets @@ -15,6 +15,7 @@ import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; import bundle from '@ohos.bundle'; +import bundleManager from '@ohos.bundle.bundleManager'; import rpc from '@ohos.rpc'; import { Log, getPermissionGroup } from '../common/utils/utils' import Constants from '../common/utils/constant' @@ -345,17 +346,19 @@ struct PermissionDialog { Log.error("applicationInfo error :" + err) this.initStatus = Constants.INIT_NEED_TO_TERMINATED }) - this.grantGroups.forEach((group) => { - if(group.description) { - Promise.all([globalThis.extensionContext.resourceManager.getString($r("app.string.separator").id), - globalThis.extensionContext.resourceManager.getString($r("app.string.reason_suffix").id)]) - .then(values => { - group.description = group.description.join(values[0]) + values[1] - this.getReason(group, this.bundleInfo, bundleName) - }) - }else { - this.getReason(group, this.bundleInfo, bundleName) - } + bundleManager.getBundleInfo(bundleName, Constants.PARMETER_BUNDLE_FLAG).then(info => { + this.grantGroups.forEach((group) => { + if(group.description) { + Promise.all([globalThis.extensionContext.resourceManager.getString($r("app.string.separator").id), + globalThis.extensionContext.resourceManager.getString($r("app.string.reason_suffix").id)]) + .then(values => { + group.description = group.description.join(values[0]) + values[1] + this.getReason(group, info, bundleName) + }) + }else { + this.getReason(group, info, bundleName) + } + }) }) } -- Gitee