1/*
2 * Copyright (c) Huawei Technologies Co., Ltd. 2024-2024. All rights reserved.
3 */
4import { BusinessError } from '@ohos.base'
5import { Logger } from '../common/util/HiLogger'
6import { MusicApp } from '../common/global/globalmodel/GlobalModel';
7import { createOrGet, globalKeys } from '../common/global/GlobalThisHelper'
8import { PreferenceManager } from '../common/preference/PreferenceManager'
9
10const keyPermissionTipLog = 'Key_Permission_TipLog'
11const logger: Logger = new Logger('AudioPickerPreference')
12const app: MusicApp = createOrGet(MusicApp, globalKeys.app, ['phone']);
13
14export class AudioPickerPreference {
15  private preferenceManager: PreferenceManager = createOrGet(PreferenceManager,
16    globalKeys.preferenceManager, [app.abilityContext])
17
18  /**
19   * 保存安全提示状态
20   * @param isFirstStartUp
21   */
22  public saveSafetyTipStatus(isFirstStartUp: boolean): void {
23    this.preferenceManager.put(keyPermissionTipLog, isFirstStartUp, true,
24      this.preferenceManager.preferKeys.audioPicker).then((res) => {
25      logger.info(`saveSafetyTipStatus Success ? : ${res}`)
26    }).catch((err: BusinessError) => {
27      logger.error(`saveSafetyTipStatus Fail, err name:${err.name} , err message:${err.message}`)
28    })
29  }
30
31  /**
32   * 获取权限状态
33   *
34   * @returns boolean
35   */
36  public getSafetyTipStatus(): Promise<boolean> {
37    return new Promise((resolve) => {
38      this.preferenceManager.get(keyPermissionTipLog, false,
39        this.preferenceManager.preferKeys.audioPicker).then((res) => {
40        resolve(res as boolean)
41      }).catch((err: BusinessError) => {
42        logger.error(`getPrivacyStatus error, err name:${err.name}, err message:${err.message}`)
43        resolve(false)
44      })
45    })
46  }
47}
48
49