From d7462fc2204f6cc86b6494ae37780bd633f332fc Mon Sep 17 00:00:00 2001 From: fanchenxuan Date: Wed, 23 Mar 2022 16:39:00 +0800 Subject: [PATCH] permissionState. Signed-off-by: fanchenxuan --- .../GrantAbility/common/components/dialog.ets | 28 ++++++------------- .../GrantAbility/common/utils/constant.ets | 6 ++++ 2 files changed, 14 insertions(+), 20 deletions(-) diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/components/dialog.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/components/dialog.ets index c5475146e..8b816b481 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/components/dialog.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/components/dialog.ets @@ -163,18 +163,12 @@ export struct privacyDialog { }) } - getgrantGroups() { - var acManager = abilityAccessCtrl.createAtManager() - var num =0 - this.reqPerms.forEach(async (permission, idx) => { - var flag = await acManager.getPermissionFlags(this.accessTokenId, permission) - if(flag == this.userFixedFlag) { + getgrantGroups(stateGroup) { + this.reqPerms.forEach((permission, idx) => { + if(stateGroup[idx] == Constants.PASS_OPER) { console.log(TAG + "permission has been fixed:" + permission) - var ret = await acManager.verifyAccessToken(this.accessTokenId, permission) - if(ret == abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED) { - this.result[idx] = abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED; - } - }else { + this.result[idx] = abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED; + }else if(stateGroup[idx] == Constants.DYNAMIC_OPER) { var group = getPermissionGroup(permission) if(!group) { console.log(TAG + "permission not find:" + permission) @@ -185,15 +179,8 @@ export struct privacyDialog { } } } - num ++ - if(num == this.reqPerms.length) { - if(this.grantGroups.length == 0) { - this.initStatus = Constants.INIT_NEED_TO_TERMINATED - }else { - this.initStatus = Constants.INIT_NEED_TO_VERIFY - } - } }) + this.initStatus = Constants.INIT_NEED_TO_VERIFY } aboutToAppear() { @@ -214,8 +201,9 @@ export struct privacyDialog { return } console.log(TAG + "request permission=" + JSON.stringify(this.reqPerms) + ", tokenId = " + this.accessTokenId) + console.log(TAG + "permission state=" + JSON.stringify(want.parameters['ohos.user.grant.permission.state'])); this.result = new Array(this.reqPerms.length).fill(-1); - this.getgrantGroups(); + this.getgrantGroups(want.parameters['ohos.user.grant.permission.state']); this.getApplicationName(want.parameters['ohos.aafwk.param.callerUid']) }) } diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/constant.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/constant.ets index ca3480021..2042b6faa 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/constant.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/constant.ets @@ -48,4 +48,10 @@ export default class Constants { static RESULT_SUCCESS = 1 static RESULT_FAILURE = 0 + + // + static SETTING_OPER = -1 + static PASS_OPER = 0 + static DYNAMIC_OPER = 1 + static INVALID_OPER = 2 } \ No newline at end of file -- Gitee