半模态全局弹窗返回值校正

Signed-off-by: fanchenxuan <fanchenxuan@huawei.com>
This commit is contained in:
fanchenxuan
2025-06-17 14:19:39 +08:00
parent 2dc7b20727
commit 3db359da37
2 changed files with 16 additions and 4 deletions
@@ -18,7 +18,7 @@ import { BusinessError } from '@ohos.base';
import audio from '@ohos.multimedia.audio';
import camera from '@ohos.multimedia.camera';
import { CustomContentDialog } from '@ohos.arkui.advanced.Dialog';
import { Log, PermissionDialogException, PermissionDialogReturn } from '../common/utils/utils';
import { Log, PermissionDialogException, PermissionDialogReturn, GlobalDialogReturn } from '../common/utils/utils';
import { GroupInfo, WantInfo } from '../common/model/typedef';
import { GlobalContext } from '../common/utils/globalContext';
import Constants from '../common/utils/constant';
@@ -62,7 +62,7 @@ struct GlobalSwitchSheetDialog {
bottomRight: 0
},
cancel: () => {
PermissionDialogReturn([Constants.ERR_GLOBAL_SWITCH_EXCEPTION], session);
GlobalDialogReturn(false, session);
this.context.terminateSelf();
this.dialogController?.close();
}
@@ -332,7 +332,7 @@ struct applicationItem {
if (this.currentGroup == 'CAMERA') {
let cameraManager = camera.getCameraManager(this.context);
cameraManager.muteCameraPersistent(false, camera.PolicyType.PRIVACY);
PermissionDialogReturn([Constants.PERMISSION_DIALOG_SUCCESS], session);
GlobalDialogReturn(true, session);
this.context.terminateSelf();
} else {
let audioManager = audio.getAudioManager();
@@ -340,7 +340,7 @@ struct applicationItem {
let groupId = audio.DEFAULT_VOLUME_GROUP_ID;
audioVolumeManager.getVolumeGroupManager(groupId).then(audioVolumeGroupManager => {
audioVolumeGroupManager.setMicMutePersistent(false, audio.PolicyType.PRIVACY);
PermissionDialogReturn([Constants.PERMISSION_DIALOG_SUCCESS], session);
GlobalDialogReturn(true, session);
this.context.terminateSelf();
})
}
@@ -243,6 +243,18 @@ export function PermissionDialogReturn(resultArray: Array<number>, session: UIEx
})
}
export function GlobalDialogReturn(result: boolean, session: UIExtensionContentSession): void {
session.terminateSelfWithResult({
resultCode: 0,
want: {
parameters: {
'ohos.user.setting.global_switch.result': result,
'ohos.user.setting.error_code': 0
}
}
})
}
// check if the permissions provided are in the same group
export function checkPermissionGroup(appPermissions: Permission[]): PermissionGroup | null {
if (appPermissions.length == 0) {