1import UIExtensionAbility from '@ohos.app.ability.UIExtensionAbility';
2import UIExtensionContentSession from '@ohos.app.ability.UIExtensionContentSession';
3import Want from '@ohos.app.ability.Want';
4import common from '@ohos.app.ability.common';
5
6import { Logger } from '../common/util/HiLogger'
7import { MusicApp } from '../common/global/globalmodel/GlobalModel';
8import { createOrGet, globalKeys } from '../common/global/GlobalThisHelper'
9
10const logger: Logger = new Logger('AudioPickerExtAbility')
11const app: MusicApp = createOrGet(MusicApp, globalKeys.app, ['phone']);
12
13/**
14 * AudioPicker模态弹框
15 */
16export default class AudioPickerUIExtensionAbility extends UIExtensionAbility {
17  onCreate() {
18    Logger.domain = 0xD004722
19    logger.info(`UIExtAbility onCreate`)
20    app.UIExtensionContext = this.context;
21    app.abilityContext = getContext(this) as common.UIAbilityContext
22  }
23
24  onSessionCreate(want: Want, session: UIExtensionContentSession) {
25    logger.info(`UIExtAbility onSessionCreate, want: ${JSON.stringify(want)}`)
26    let param: Record<string, UIExtensionContentSession | Want> = {
27      'session': session,
28      'want': want
29    }
30    let storage: LocalStorage = new LocalStorage(param);
31    try {
32      session.loadContent('pages/card/AudioPickerExtension', storage); // 提供方加载自己界面
33
34    } catch (e) {
35      logger.error(` error ${JSON.stringify(e)}`)
36    }
37  }
38
39  onSessionDestroy(session: UIExtensionContentSession) {
40    logger.info(`UIExtAbility onSessionDestroy`)
41  }
42
43  onForeground(): void {
44  }
45
46  onBackground(): void {
47  }
48
49  onDestroy(): void | Promise<void> {
50  }
51}