diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/pages/dialogPlus.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/pages/dialogPlus.ets index 49c285a8d50c0b37a2e2ee22ef0f578938a36dc4..8076ebb45788c8132eb0567e64894019f99e119a 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/pages/dialogPlus.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/pages/dialogPlus.ets @@ -16,6 +16,7 @@ import { privacyDialog } from "../common/components/dialog.ets" import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; import { Log } from '../common/utils/utils.ets' +import { showSubpermissionsGrop } from '../common/model/permissionGroup.ets' @Entry @Component @@ -33,7 +34,14 @@ struct dialogPlusPage { var acManager = abilityAccessCtrl.createAtManager() var num = 0 group.permissions.forEach(async permission => { - const result = await acManager.grantUserGrantedPermission(accessTokenId, permission, userFixedFlag) + let result + if(showSubpermissionsGrop.indexOf(group.groupName) == -1) { + result = await acManager.grantUserGrantedPermission(accessTokenId, permission, userFixedFlag) + }else { + if(permissionList.includes(permission)) { + result = await acManager.grantUserGrantedPermission(accessTokenId, permission, userFixedFlag) + } + } num ++ Log.info("grant permission result:" + result + "permission" + permission) if (result == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) { @@ -54,7 +62,14 @@ struct dialogPlusPage { async privacyCancel(group, accessTokenId, permissionList, userFixedFlag) { var acManager = abilityAccessCtrl.createAtManager() group.permissions.forEach(async permission => { - const result = await acManager.revokeUserGrantedPermission(accessTokenId, permission, userFixedFlag) + let result + if(showSubpermissionsGrop.indexOf(group.groupName) == -1) { + result = await acManager.revokeUserGrantedPermission(accessTokenId, permission, userFixedFlag) + }else { + if(permissionList.includes(permission)) { + result = await acManager.revokeUserGrantedPermission(accessTokenId, permission, userFixedFlag) + } + } Log.info("revoke permission result:" + result + "permission" + permission); }) this.count ++