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