diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json index cfb01755ae7fbee3784831bdc6800546a81608b8..673178473c6654a145158d24159182784b62ad8b 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/config.json @@ -30,7 +30,7 @@ "description": "$string:description_mainability", "label": "$string:permissionmanager_MainAbility", "type": "page", - "launchType": "standard" + "launchType": "singleton" }, { "visible": true, 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 08b2d9c30825721867999283811c56891fcf4212..c0fc08c7521ac77c44c931347326874ba21522fb 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 @@ -60,8 +60,8 @@ export struct privacyDialog { Column() { Row() { Flex({ justifyContent: FlexAlign.Start }) { - Text("是否允许" + this.appName + "访问" + - this.grantGroups[this.count].groupName).fontSize(Constants.DIALOG_REQ_FONT_SIZE) + Text("是否允许" + this.appName + + this.grantGroups[this.count].label).fontSize(Constants.DIALOG_REQ_FONT_SIZE) .fontColor($r('app.color.secondary_font_color')) .margin({ top: Constants.DIALOG_REQ_MARGIN_TOP, @@ -71,11 +71,12 @@ export struct privacyDialog { } Row() { Flex({ justifyContent: FlexAlign.Start }) { - Text("用于" + this.grantGroups[this.count].description).fontSize(Constants.DIALOG_DESP_FONT_SIZE) + Text(this.grantGroups[this.count].description).fontSize(Constants.DIALOG_DESP_FONT_SIZE) .fontColor($r('app.color.secondary_font_color')) .margin({ top: Constants.DIALOG_DESP_MARGIN_TOP, - left: Constants.DIALOG_DESP_MARGIN_LEFT + left: Constants.DIALOG_DESP_MARGIN_LEFT, + right: Constants.DIALOG_DESP_MARGIN_RIGHT }) } } diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/model/permissionGroup.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/model/permissionGroup.ets index 2e8f3a3278c2b7b98912d95b03ac6235fbd6b20a..86420ef53a52e9abde3503f8c8846873706e1e70 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/model/permissionGroup.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/model/permissionGroup.ets @@ -178,8 +178,9 @@ export const permissionGroups: any[] = [ { "permissionName": "ohos.permission.DISTRIBUTED_DATASYNC", "groupName": "OTHER", - "label": "允许不同设备间数据交换", - "description": "允许应用与远程设备交换用户数据(如图片、音乐、视频、及应用数据等)。", + "icon": $r("app.media.ic_multi_device_vector"), + "label": "使用多设备协同", + "description": "发现并访问其他设备。", "groupId": 11 } ] @@ -189,7 +190,8 @@ export const groups: any[] = [ "name": "LOCATION", "groupName": "位置信息", "icon": $r('app.media.ic_public_gps'), - "description": "访问您的位置信息", + "label": "访问位置信息", + "description": "", "permissions": [ "ohos.permission.LOCATION_IN_BACKGROUND", "ohos.permission.LOCATION" @@ -199,7 +201,8 @@ export const groups: any[] = [ "name": "CAMERA", "groupName": "相机", "icon": $r('app.media.ic_public_camera'), - "description": "访问您的相机", + "label": "使用相机", + "description": "", "permissions": [ "ohos.permission.CAMERA" ] @@ -208,7 +211,8 @@ export const groups: any[] = [ "name": "MICROPHONE", "groupName": "麦克风", "icon": $r('app.media.ic_public_voice'), - "description": "访问您的麦克风", + "label": "使用麦克风", + "description": "", "permissions": [ "ohos.permission.MICROPHONE" ] @@ -217,7 +221,8 @@ export const groups: any[] = [ "name": "PHONE", "groupName": "电话", "icon": $r('app.media.ic_public_phone'), - "description": "拨打电话和管理通话", + "label": "使用拨打电话", + "description": "包括拨打电话等权限。", "permissions": [ "ohos.permission.ANSWER_CALL", "ohos.permission.MANAGE_VOICEMAIL" @@ -227,7 +232,8 @@ export const groups: any[] = [ "name": "SMS", "groupName": "信息", "icon": $r('app.media.ic_public_message'), - "description": "发送和查看短信", + "label": "访问信息", + "description": "包括读取短信/彩信、接受短信、发送短信等权限。", "permissions": [ "ohos.permission.READ_CELL_MESSAGES", "ohos.permission.READ_MESSAGES", @@ -241,7 +247,8 @@ export const groups: any[] = [ "name": "CONTACTS", "groupName": "通讯录", "icon": $r('app.media.ic_public_contacts_group'), - "description": "访问您的通讯录", + "label": "访问通讯录", + "description": "包括新建/修改/删除联系人、读取联系人等权限。", "permissions": [ "ohos.permission.READ_CONTACTS", "ohos.permission.WRITE_CONTACTS" @@ -251,7 +258,8 @@ export const groups: any[] = [ "name": "CALL_LOG", "groupName": "通话记录", "icon": $r('app.media.ic_call_logs'), - "description": "读取和写入手机通话记录", + "label": "访问通话记录", + "description": "包括读取通话记录、新建/修改/删除通话记录等权限。", "permissions": [ "ohos.permission.READ_CALL_LOG", "ohos.permission.WRITE_CALL_LOG" @@ -261,7 +269,8 @@ export const groups: any[] = [ "name": "MEDIA", "groupName": "媒体和文件", "icon": $r('app.media.ic_public_folder'), - "description": "访问您的媒体和文件", + "label": "访问媒体和文件", + "description": "", "permissions": [ "ohos.permission.MEDIA_LOCATION", "ohos.permission.READ_MEDIA", @@ -272,7 +281,8 @@ export const groups: any[] = [ "name": "CALENDAR", "groupName": "日历", "icon": $r('app.media.ic_public_calendar'), - "description": "访问日历和活动", + "label": "访问日历", + "description": "包括读取日历和新建/修改/删除日历。", "permissions": [ "ohos.permission.READ_CALENDAR", "ohos.permission.WRITE_CALENDAR" @@ -282,7 +292,8 @@ export const groups: any[] = [ "name": "SPORT", "groupName": "健身运动", "icon": $r('app.media.ic_sport'), - "description": "访问您的运动状态", + "label": "访问健身运动", + "description": "", "permissions": [ "ohos.permission.ACTIVITY_MOTION" ] @@ -291,7 +302,8 @@ export const groups: any[] = [ "name": "HEALTH", "groupName": "身体传感器", "icon": $r('app.media.ic_ssensor'), - "description": "访问您的健康数据", + "label": "使用身体传感器", + "description": "", "permissions": [ "ohos.permission.READ_HEALTH_DATA" ] @@ -300,7 +312,7 @@ export const groups: any[] = [ "name": "OTHER", "groupName": "其他权限", "icon": $r('app.media.ic_more'), - "description": "访问您的其他权限", + "description": "", "permissions": [ "ohos.permission.DISTRIBUTED_DATASYNC" ] 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 2042b6faa3905ba796661b5cb8927753ab106034..54eeee8f04afb4ca413e3083747eb1447cb12183 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 @@ -32,6 +32,7 @@ export default class Constants { static DIALOG_DESP_FONT_SIZE = 14; static DIALOG_DESP_MARGIN_TOP = 2; static DIALOG_DESP_MARGIN_LEFT = 24; + static DIALOG_DESP_MARGIN_RIGHT = 12; static BUTTON_FONT_SIZE = 16; static BUTTON_DIVIDER_FONT_SIZE = 30; diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/utils.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/utils.ets index c3610b74a7e9d122c7e5cfb434b113c1b2ecea58..4d289e9d902fa5cc358657479605a5871eacb98a 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/utils.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/GrantAbility/common/utils/utils.ets @@ -17,7 +17,20 @@ import { permissionGroups, groups } from "../model/permissionGroup.ets" export function getPermissionGroup(permission: string) { for (var i = 0; i < permissionGroups.length; i++) { if (permissionGroups[i].permissionName == permission) { - return groups[permissionGroups[i].groupId] + if(permissionGroups[i].groupName == 'OTHER') { + return { + "name": permissionGroups[i].groupName, + "groupName": permissionGroups[i].groupName, + "label": permissionGroups[i].label, + "icon": permissionGroups[i].icon, + "description": permissionGroups[i].description, + "permissions": [ + permissionGroups[i].permissionName + ] + } + }else { + return groups[permissionGroups[i].groupId] + } } } } \ No newline at end of file diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/model/permissionGroup.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/model/permissionGroup.ets index 77a0fdd33dfda1a7e2b8fe9a14e7360524c68834..2aa04d62c75c748769658ebaa11e1b5c4e0bd616 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/model/permissionGroup.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/common/model/permissionGroup.ets @@ -178,8 +178,8 @@ export const permissionGroups: any[] = [ { "permissionName": "ohos.permission.DISTRIBUTED_DATASYNC", "groupName": "OTHER", - "label": "允许不同设备间数据交换", - "description": "允许应用与远程设备交换用户数据(如图片、音乐、视频、及应用数据等)。", + "label": "多设备协同", + "description": "发现并访问其他设备。", "groupId": 11 } ]; @@ -447,5 +447,5 @@ export const orderGroup: string[] = [ ]; export const otherPermissionsLabel: object = { - "ohos.permission.DISTRIBUTED_DATASYNC": "允许不同设备间数据交换" + "ohos.permission.DISTRIBUTED_DATASYNC": "多设备协同" }; \ No newline at end of file diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-secondary.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-secondary.ets index baea56ee824a811e93de44bf8d5ee0e4831e6a18..82f2eaf4f832162ae7f64c5937582c416fe8cfeb 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-secondary.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-secondary.ets @@ -88,7 +88,8 @@ struct appNamePlusPage { routerData: this.routerData.bundleName, backTitle: item.groupName, permission: item.permission, - status: allowedStatus + status: allowedStatus, + tokenId: this.routerData.tokenId } }); } else { @@ -98,7 +99,8 @@ struct appNamePlusPage { routerData: this.routerData.bundleName, backTitle: item.groupName, permission: item.permission, - status: allowedStatus + status: allowedStatus, + tokenId: this.routerData.tokenId } }); } @@ -176,7 +178,7 @@ struct appNamePlusPage { * Lifecycle function, triggered once when this page is displayed */ onPageShow() { - console.log(TAG + 'onPageShow') + console.log(TAG + 'onPageShow application-secondary') this.initialPermissions(); } @@ -184,7 +186,7 @@ struct appNamePlusPage { * Lifecycle function, triggered once when this page disappears */ onPageHide() { - console.log(TAG + 'onPageHide') + console.log(TAG + 'onPageHide application-secondary') setTimeout(()=> { this.allowedListItem = []; this.bannedListItem = []; diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-tertiary.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-tertiary.ets index 8948b24626330a4ea395c872736d33a2798382f9..ae05b699f3e9291747c6ee6e1a68790a92a5a4ff 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-tertiary.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/application-tertiary.ets @@ -89,7 +89,7 @@ struct mediaDocumentPage { Column() { Row() { if(backTitle == "其他权限"){ - backBar({ title: JSON.stringify($r("app.string.othet_permission_label")) }) + backBar({ title: JSON.stringify($r("app.string.other_permission_label")) }) }else { backBar({ title: JSON.stringify(backTitle) }) } @@ -263,7 +263,7 @@ struct mediaDocumentItem { Flex({ justifyContent: FlexAlign.Start, alignItems: ItemAlign.Center }) { Row() { if (backTitle === "其他权限") { - Text($r("app.string.othet_permission_label_description")) + Text($r("app.string.other_permission_label_description")) .fontSize(Constants.TEXT_MIDDLE_FONT_SIZE) .textAlign(TextAlign.Start) } else { diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets index e84ee62531ab7b902035df61baf5ae7de0c2455e..28b8448d248e209085ed483e7da14994eaad445d 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/authority-management.ets @@ -520,7 +520,7 @@ struct applicationItem { .fontSize(Constants.TEXT_MIDDLE_FONT_SIZE) .fontColor($r('app.color.text_color')) .flexGrow(Constants.FLEX_GROW) - Text(item.permissions.length + '项权限') + Text(item.groupId.length + '项权限') .fontSize(Constants.TEXT_SMAL_FONT_SIZE) .fontColor($r('app.color.text_secondary_color')) .margin({ right: Constants.APPLICATION_TEXT_MARGIN_RIGHT }) diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/other-permissions.ets b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/other-permissions.ets index fa6ff1e8ac2c76bfa1b850510bc7b55a2942ac31..30aaef99375dcdb79a43434e69bc2ecd70e06192 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/other-permissions.ets +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/ets/MainAbility/pages/other-permissions.ets @@ -17,10 +17,12 @@ import { backBar } from "../common/components/backBar.ets"; import router from '@system.router'; import Constants from '../common/utils/constant.ets'; import { otherPermissionsLabel } from '../common/model/permissionGroup.ets' +import abilityAccessCtrl from '@ohos.abilityAccessCtrl' var TAG = 'PermissionManager_MainAbility:' let routerData = router.getParams().routerData; // Routing jump data +let tokenId = router.getParams().tokenId; // tokenId for verify permission let backTitle = router.getParams().backTitle; // return title name let status = router.getParams().status; // Status: Allowed, Forbidden let permissions = router.getParams().permission; // permissions name @@ -82,6 +84,22 @@ struct appNamePage { .opacity(Constants.MANAGEMENT_TRANSPARENCY) } } + +/** + * Lifecycle function, triggered once when this page is displayed + */ + onPageShow() { + console.log(TAG + 'onPageShow other-permissions') + let isGranted = true; + permissions.forEach(permission => { + abilityAccessCtrl.createAtManager().verifyAccessToken(tokenId, permission).then(res => { + status = res; + }) + .catch(err => { + console.error(TAG + 'verifyAccessToken occure error: ' + JSON.stringify(err)) + }) + }) + } } @Component diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json index 7d352989d98364e3a94638ce0ff99eae2adaf43c..0b97e458cf01aee6881223f0324a81ab1b3bcefe 100644 --- a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/element/string.json @@ -85,16 +85,12 @@ "value": "授权失败!" }, { - "name": "othet_permission_label", - "value": "允许不同设备间数据交换权限" + "name": "other_permission_label", + "value": "多设备协同" }, { - "name": "othet_permission_label_description", - "value": "允许不同设备间数据交换访问权限" - }, - { - "name": "othet_permission", - "value": "其他权限" + "name": "other_permission_label_description", + "value": "多设备协同访问权限" } ] } \ No newline at end of file diff --git a/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/media/ic_multi_device_vector.svg b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/media/ic_multi_device_vector.svg new file mode 100644 index 0000000000000000000000000000000000000000..00f9c08ea1f831da03143ffed5415f49d29a6128 --- /dev/null +++ b/frameworks/com.ohos.permissionmanager/permissionmanager/src/main/resources/base/media/ic_multi_device_vector.svg @@ -0,0 +1,7 @@ + + + HM/ic/24x24/Multi-device vector + + + + \ No newline at end of file