[TicketNo:]AR000JP17R

[Description:]音乐XX项目开发-音频管理--Audio Picker界面
[Binary Source:]NA

Signed-off-by: nWX1290789 <niuyuanyuan6@h-partners.com>
This commit is contained in:
niuyuanyuan
2024-06-19 17:50:22 +08:00
committed by nWX1290789
parent 983193e7b7
commit 4f26e5c88f
9 changed files with 14 additions and 78 deletions
@@ -1,12 +1,11 @@
import UIExtensionAbility from '@ohos.app.ability.UIExtensionAbility';
import UIExtensionContentSession from '@ohos.app.ability.UIExtensionContentSession';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import { Logger } from '../common/util/HiLogger'
import { MusicApp } from '../common/global/globalmodel/GlobalModel';
import { createOrGet, globalKeys } from '../common/global/GlobalThisHelper'
import { Constants } from '../constant/Constants';
import { common } from '@kit.AbilityKit';
const logger: Logger = new Logger('AudioPickerExtAbility')
const app: MusicApp = createOrGet(MusicApp, globalKeys.app, ['phone']);
@@ -1,7 +1,7 @@
/*
* Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
*/
import { BusinessError } from '@kit.BasicServicesKit'
import { BusinessError } from '@ohos.base'
import { Logger } from '../common/util/HiLogger'
import { MusicApp } from '../common/global/globalmodel/GlobalModel';
import { createOrGet, globalKeys } from '../common/global/GlobalThisHelper'
@@ -2,10 +2,8 @@
* Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
*/
import wantConstant from '@ohos.app.ability.wantConstant';
import userFileManager from '@ohos.filemanagement.userFileManager';
import fileShare from '@ohos.fileshare';
import { BusinessError } from '@ohos.base';
import { Context } from '@kit.AbilityKit';
import { Logger } from '../common/util/HiLogger'
import { LocalAudioFile } from './localaudio/LocalAudioFile'
@@ -1,7 +1,7 @@
/*
* Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
*/
import { image } from '@kit.ImageKit';
import image from '@ohos.multimedia.image';
export class LocalAudioFile {
// 文件uri
@@ -3,7 +3,7 @@
*/
import dataSharePredicates from '@ohos.data.dataSharePredicates';
import userFileManager from '@ohos.filemanagement.userFileManager';
import { image } from '@kit.ImageKit';
import image from '@ohos.multimedia.image';
import { Logger } from '../../common/util/HiLogger'
import { LocalAudioFile } from './LocalAudioFile'
@@ -3,7 +3,7 @@
*/
import UIExtensionContentSession from '@ohos.app.ability.UIExtensionContentSession';
import { common } from '@kit.AbilityKit';
import common from '@ohos.app.ability.common';
import Want from '@ohos.app.ability.Want';
import { Logger } from '../../common/util/HiLogger'
@@ -82,7 +82,6 @@ struct AudioPickerExtension {
},
onDisappear: () => {
if (this.session !== undefined) {
this.session.sendData({ 'isShowUIExtension': false })
this.session.terminateSelf()
}
logger.info('BindSheet onDisappear.') //半模态页面回退回调函数
@@ -2,9 +2,8 @@
* Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
*/
import UIExtensionContentSession from '@ohos.app.ability.UIExtensionContentSession'
import { CustomContentDialog } from '@ohos.arkui.advanced.Dialog';
import Want from '@ohos.app.ability.Want';
import { ability, Context } from '@kit.AbilityKit';
import ability from '@ohos.ability.ability';
import { Logger } from '../../common/util/HiLogger'
import { createOrGet, globalKeys } from '../../common/global/GlobalThisHelper'
@@ -15,6 +14,7 @@ import { AudioPickerViewData } from '../model/AudioPickerViewData';
import { AudioPickerViewModel } from '../viewmodel/AudioPickerViewModel';
import { AudioPickerPreference } from '../../audiopreference/AudioPickerPreference';
import { Constants } from '../../constant/Constants';
import { SafetyTipDialog } from '../dialog/SafetyTipDialog';
const logger: Logger = new Logger('AudioPickerView')
@@ -51,71 +51,13 @@ export struct AudioPickerView {
logger.info('isSafetyTip ' + this.isSafetyTip)
this.dialogController.close()
}
buildCustomDialog: () => void = () => {
this.safetyTipDialogBuilder()
}
dialogController = new CustomDialogController({
builder: CustomContentDialog({
contentBuilder: this.buildCustomDialog,
buttons: [{
value: $r('app.string.got_it'),
fontColor: $r('sys.color.ohos_id_text_color_active'),
action: this.dialogKnow
}]
dialogController: CustomDialogController = new CustomDialogController({
builder: SafetyTipDialog({
know: this.dialogKnow
}),
alignment: DialogAlignment.Center
})
@Builder
safetyTipDialogBuilder() {
Column() {
Stack() {
Image($r('app.media.ic_public_privacy_big'))
.height(28)
.fillColor($r('sys.color.ohos_id_color_component_activated'))
Image($r('app.media.img'))
.width(24)
.height(24)
.zIndex(99)
.borderRadius(5)
.position({
x: 24,
y: 24
})
}
.width(48)
.height(48)
.backgroundColor($r('sys.color.ohos_id_color_background'))
.borderRadius($r('sys.float.corner_radius_level6'))
.border({
width: '1px',
color: $r('sys.color.ohos_id_color_button_normal')
})
Text($r('app.string.secure_access_to_audio_library'))
.width(this.globalDeviceInfo.deviceType === DeviceTypes.PHONE ? 280 : 352)
.height(56)
.fontSize(20)
.fontWeight(FontWeight.Medium)
.fontFamily('HarmonyHeiTi')
.lineHeight(27)
.textAlign(TextAlign.Center)
Text($r('app.string.your_audio_will_be_displayed_here'))
.width(this.globalDeviceInfo.deviceType === DeviceTypes.PHONE ? 280 : 352)
.height(38)
.fontSize(14)
.fontWeight(FontWeight.Regular)
.fontFamily('HarmonyHeiTi')
.lineHeight(19)
.textAlign(this.globalDeviceInfo.deviceType === DeviceTypes.PHONE ? TextAlign.Start : TextAlign.Center)
}
.width(this.globalDeviceInfo.deviceType === DeviceTypes.PHONE ? '100%' : 400)
.margin({ left: 16, right: 16 })
.alignItems(HorizontalAlign.Center)
.justifyContent(FlexAlign.Center)
}
async aboutToAppear() {
this.audioPickerData = this.audioPickerViewModel.getDataSource()
logger.info('this.audioPickerData.getDataList(): ' + this.audioPickerData.getDataList())
@@ -157,9 +99,9 @@ export struct AudioPickerView {
* 返回赋予临时权限的uri列表回调
*/
async settingTerminateSelfWithResult() {
let uriArr = await this.localResourceManager.terminateSelfWithResult(this.isSelectedAudioPickerList)
logger.info('uriArr length: ' + uriArr.length)
if (this.session) {
let uriArr = await this.localResourceManager.terminateSelfWithResult(this.isSelectedAudioPickerList)
logger.info('uriArr length: ' + uriArr.length)
let abilityResult: ability.AbilityResult = {
resultCode: (uriArr === undefined) ? -1 : 0,
want: {
@@ -169,7 +111,7 @@ export struct AudioPickerView {
}
}
}
this.session?.terminateSelfWithResult(abilityResult, (err) => {
this.session.terminateSelfWithResult(abilityResult, (err) => {
logger.error('terminateSelfWithResult is called: ' + err)
})
} else {
@@ -377,7 +319,6 @@ export struct AudioPickerView {
.height(28)
.justifyContent(FlexAlign.SpaceBetween)
}
.backgroundColor($r('sys.color.ohos_id_blur_style_component_thick_color'))
.position({ x: 0, y: 576 })
.height(this.globalDeviceInfo.deviceType === DeviceTypes.PHONE ? 108 : 96)
.padding(this.globalDeviceInfo.deviceType === DeviceTypes.PHONE ?
@@ -10,7 +10,6 @@ import { AudioPickerViewData } from '../model/AudioPickerViewData'
import { LocalResourceManager } from '../../localresource/LocalResourceManager'
import { Constants } from '../../constant/Constants'
import { LocalAudioFile } from '../../localresource/localaudio/LocalAudioFile'
import { Context } from '@kit.AbilityKit'
const logger: Logger = new Logger('AudioPickerViewModel')
+1 -1
View File
@@ -4,7 +4,7 @@
{
"name": "default",
"signingConfig": "default",
"compileSdkVersion": 10,
"compileSdkVersion": 11,
"compatibleSdkVersion": 9
}
]