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