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