From b973be886326975e3c1aefca7e7363adf6540129 Mon Sep 17 00:00:00 2001 From: tz_lws Date: Mon, 17 Oct 2022 16:44:51 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20bbb4e83=20from=20https://gitee.com/tz?= =?UTF-8?q?=5Flws/applications=5Fpermission=5Fmanager/pulls/24=20=E6=91=84?= =?UTF-8?q?=E5=83=8F=E5=A4=B4=E5=85=A8=E5=B1=80=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fanchenxuan --- .../src/main/ets/common/components/dialog.ets | 19 ++++++++---- .../main/ets/common/model/permissionGroup.ets | 3 +- .../main/ets/pages/authority-management.ets | 23 ++++++++++---- .../ets/pages/authority-tertiary-groups.ets | 16 +++++++--- .../src/main/ets/pages/globalSwitch.ets | 28 +++++++++++++++--- permissionmanager/src/main/module.json | 6 +++- signature/pm.p7b | Bin 4217 -> 4268 bytes 7 files changed, 74 insertions(+), 21 deletions(-) diff --git a/permissionmanager/src/main/ets/common/components/dialog.ets b/permissionmanager/src/main/ets/common/components/dialog.ets index 2a1770a..08c0fc4 100644 --- a/permissionmanager/src/main/ets/common/components/dialog.ets +++ b/permissionmanager/src/main/ets/common/components/dialog.ets @@ -15,6 +15,7 @@ import Constants from '../utils/constant'; import audio from '@ohos.multimedia.audio' +import camera from '@ohos.multimedia.camera' @Extend(Button) function customizeButton() { .backgroundColor($r('app.color.default_background_color')) @@ -97,11 +98,19 @@ export struct globalDialog { } confirm() { - var audioManager = audio.getAudioManager(); - audioManager.setMicrophoneMute(true).then(() => { - this.globalIsOn = false - this.controller.close() - }) + if(globalThis.currentPermissionGroup == 'CAMERA') { + camera.getCameraManager(globalThis.context).then(cameraManager => { + cameraManager.muteCamera(true) + this.globalIsOn = false + this.controller.close() + }) + }else { + var audioManager = audio.getAudioManager(); + audioManager.setMicrophoneMute(true).then(() => { + this.globalIsOn = false + this.controller.close() + }) + } } cancel() { diff --git a/permissionmanager/src/main/ets/common/model/permissionGroup.ets b/permissionmanager/src/main/ets/common/model/permissionGroup.ets index 6495a1e..006f807 100644 --- a/permissionmanager/src/main/ets/common/model/permissionGroup.ets +++ b/permissionmanager/src/main/ets/common/model/permissionGroup.ets @@ -568,5 +568,6 @@ export const polymorphismGroup: string[] = [ ] export const globalGroup: string[] = [ - "MICROPHONE" + "MICROPHONE", + "CAMERA" ] \ No newline at end of file diff --git a/permissionmanager/src/main/ets/pages/authority-management.ets b/permissionmanager/src/main/ets/pages/authority-management.ets index aceb2a8..d66c540 100644 --- a/permissionmanager/src/main/ets/pages/authority-management.ets +++ b/permissionmanager/src/main/ets/pages/authority-management.ets @@ -20,6 +20,7 @@ import router from '@system.router'; import bundle from "@ohos.bundle"; import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; import audio from '@ohos.multimedia.audio' +import camera from '@ohos.multimedia.camera' import { groups, userGrantPermissions, permissionGroupPermissions, noNeedDisplayApp, globalGroup } from "../common/model/permissionGroup"; import { permissionGroups, permissionGroupIds } from "../common/model/permissionGroup"; import { makePy } from "../common/utils/utils"; @@ -114,13 +115,23 @@ struct authorityManagementPage { params: { routerData: dataList, backTitle: item.groupName } }) }else { - var audioManager = audio.getAudioManager(); - audioManager.isMicrophoneMute().then(value => { - router.push({ - uri: 'pages/authority-tertiary-groups', - params: { routerData: dataList, backTitle: item.groupName, globalIsOn: !value } + if(item.group == 'MICROPHONE') { + var audioManager = audio.getAudioManager(); + audioManager.isMicrophoneMute().then(value => { + router.push({ + uri: 'pages/authority-tertiary-groups', + params: { routerData: dataList, backTitle: item.groupName, globalIsOn: !value } + }) }) - }) + }else { + camera.getCameraManager(globalThis.context).then(cameraManager => { + let mute = cameraManager.isCameraMuted() + router.push({ + uri: 'pages/authority-tertiary-groups', + params: { routerData: dataList, backTitle: item.groupName, globalIsOn: !mute } + }) + }) + } } } }) diff --git a/permissionmanager/src/main/ets/pages/authority-tertiary-groups.ets b/permissionmanager/src/main/ets/pages/authority-tertiary-groups.ets index 8aad7aa..49a3701 100644 --- a/permissionmanager/src/main/ets/pages/authority-tertiary-groups.ets +++ b/permissionmanager/src/main/ets/pages/authority-tertiary-groups.ets @@ -20,6 +20,7 @@ import router from '@system.router'; import bundle from "@ohos.bundle"; import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; import audio from '@ohos.multimedia.audio' +import camera from '@ohos.multimedia.camera' import { getAppLabel, getAppIcon, verifyAccessToken} from "../common/utils/utils"; import { makePy } from "../common/utils/utils"; import { authorizeDialog, globalDialog } from "../common/components/dialog"; @@ -455,10 +456,17 @@ struct applicationItem { .padding({ right: 0 }) .onChange((isOn: boolean) => { if(isOn) { - var audioManager = audio.getAudioManager(); - audioManager.setMicrophoneMute(false).then(() => { - this.globalIsOn = isOn - }) + if(globalThis.currentPermissionGroup == "CAMERA") { + camera.getCameraManager(globalThis.context).then(cameraManager => { + cameraManager.muteCamera(false) + this.globalIsOn = isOn + }) + }else { + var audioManager = audio.getAudioManager(); + audioManager.setMicrophoneMute(false).then(() => { + this.globalIsOn = isOn + }) + } } }) Row().onClick(() => { this.privacyDialogController.open() }) diff --git a/permissionmanager/src/main/ets/pages/globalSwitch.ets b/permissionmanager/src/main/ets/pages/globalSwitch.ets index 1a53b4d..980c968 100644 --- a/permissionmanager/src/main/ets/pages/globalSwitch.ets +++ b/permissionmanager/src/main/ets/pages/globalSwitch.ets @@ -15,8 +15,10 @@ import Constants from '../common/utils/constant'; import audio from '@ohos.multimedia.audio' +import camera from '@ohos.multimedia.camera'; import bundle from '@ohos.bundle'; import abilityAccessCtrl from '@ohos.abilityAccessCtrl'; +import { Log } from '../common/utils/utils' const MICROPHONE = 'microphone' const CAMERA = 'camera' @@ -98,13 +100,31 @@ struct globalDialog { } accept() { - var audioManager = audio.getAudioManager(); - audioManager.setMicrophoneMute(false).then(() => { - globalThis.globalContext.terminateSelf() - }) + Log.info('global accept') + if(globalThis.globalState == MICROPHONE) { + var audioManager = audio.getAudioManager(); + audioManager.setMicrophoneMute(false).then(() => { + globalThis.globalContext.terminateSelf() + }) + }else if(globalThis.globalState == CAMERA) { + camera.getCameraManager(globalThis.globalContext).then(cameraManager => { + cameraManager.muteCamera(false) + globalThis.globalContext.terminateSelf() + }) + }else { + camera.getCameraManager(globalThis.globalContext).then(cameraManager => { + cameraManager.muteCamera(false) + var audioManager = audio.getAudioManager(); + audioManager.setMicrophoneMute(false).then(() => { + globalThis.globalContext.terminateSelf() + }) + }) + } + } cancel() { + Log.info('global cancel') globalThis.globalContext.terminateSelf() } diff --git a/permissionmanager/src/main/module.json b/permissionmanager/src/main/module.json index eafff18..389e2e9 100644 --- a/permissionmanager/src/main/module.json +++ b/permissionmanager/src/main/module.json @@ -8,7 +8,8 @@ "description": "$string:permissionmanager_desc", "mainElement": "MainAbility", "deviceTypes": [ - "default" + "default", + "tablet" ], "deliveryWithInstall": true, "installationFree": false, @@ -66,6 +67,9 @@ }, { "name": "ohos.permission.MICROPHONE" + }, + { + "name": "ohos.permission.MANAGE_CAMERA_CONFIG" } ] } diff --git a/signature/pm.p7b b/signature/pm.p7b index ef906f0038120cfda28b9188f03c7b56e532738f..8940dfeeb4815d5f9a8da88d534be758577574a4 100644 GIT binary patch delta 251 zcmeyVutw3rph;i_8>d#AN85K^Ms}tJO#(B4LQ|O-84Y<2xY;-p+B_IjnOT?^4VpMS z5egX>G;vt5G;x@1bojtF`6H`5udkz@qq}Rov!kzTkmF_zc0LYPM}sCt+sW4a>*@{7 z4J?ezj7_5q^x@5qwPB{BRkWACV@1dP!ba(qam*WHydX{n+IbmGYb==K@*24 zLLuXVCJr{1CJv^J4jlYf9w@vEdJ-6rd=B&#HO1cjS&!4E*XTZhA0d&hbTNY*}77qhACPjvO zza&ny&Ah&U-X)U-VlS`EdnPw+;j=&!)6RLNvB!Tgz5^=h@8V_R4-4jwf3#Dwx9qB5 W5$94%$M*Mu4k2Qi<`*1J>;M2ztx!S$ -- Gitee