import events from"./../emby-apiclient/events.js";import{appStorage}from"./servicelocator.js";function getKey(name,userId){return name=userId?userId+"-"+name:name}function AppSettings(){}AppSettings.prototype.enableAutoLogin=function(val){return null!=val&&this.set("enableAutoLogin",val.toString()),"false"!==this.get("enableAutoLogin")},AppSettings.prototype.enableAutomaticBitrateDetection=function(isInNetwork,mediaType,val){var key="enableautobitratebitrate-"+mediaType+"-"+isInNetwork;return null!=val&&this.set(key,(val=isInNetwork&&"Audio"===mediaType?!0:val).toString()),!(!isInNetwork||"Audio"!==mediaType)||"false"!==this.get(key)},AppSettings.prototype.maxStreamingBitrate=function(isInNetwork,mediaType,val){var key="maxbitrate-"+mediaType+"-"+isInNetwork;return null==val||isInNetwork&&"Audio"===mediaType||this.set(key,val),isInNetwork&&"Audio"===mediaType?2e8:parseInt(this.get(key)||"0")||4000002},AppSettings.prototype.slideshowIntervalMs=function(val){void 0!==val&&this.set("slideshowIntervalMs",val);return parseInt(this.get("slideshowIntervalMs")||1e4.toString())||1e4},AppSettings.prototype.maxStaticMusicBitrate=function(val){null!=val&&this.set("maxStaticMusicBitrate",val);return parseInt(this.get("maxStaticMusicBitrate")||32e4.toString())||32e4},AppSettings.prototype.maxChromecastBitrate=function(val){return null!=val&&this.set("chromecastBitrate1",val),(val=this.get("chromecastBitrate1"))?parseInt(val):null},AppSettings.prototype.volume=function(val){void 0!==val&&this.set("mediavolume",val);return parseInt(this.get("mediavolume")||100..toString())||100},AppSettings.prototype.themeSongVolume=function(val){void 0!==val&&this.set("themeSongVolume",val);val=parseInt(this.get("themeSongVolume")||70..toString());return"number"==typeof val?val:70},AppSettings.prototype.introSkipDisplayCount=function(val){return null!=val&&this.set("introSkipDisplayCount",val),(val=this.get("introSkipDisplayCount"))?parseInt(val):0},AppSettings.prototype.enableLogging=function(val){return null!=val&&this.set("enableLogging",val.toString()),"true"===this.get("enableLogging")},AppSettings.prototype.syncOnlyOnWifi=function(val){return null!=val&&this.set("syncOnlyOnWifi",val.toString()),"false"!==this.get("syncOnlyOnWifi")},AppSettings.prototype.cameraUploadOnlyOnWifi=function(val){return null!=val&&this.set("cameraUploadOnlyOnWifi",val.toString()),"false"!==this.get("cameraUploadOnlyOnWifi")},AppSettings.prototype.syncWhenRoaming=function(val){return null!=val&&this.set("syncWhenRoaming",val.toString()),"false"!==this.get("syncWhenRoaming")},AppSettings.prototype.enableProfilePin=function(userId,val){if(userId)return null!=val&&this.set("enableProfilePin",val,userId),"true"===this.get("enableProfilePin",userId);throw new Error("userId required")},AppSettings.prototype.syncPath=function(val){return null!=val&&this.set("syncPath",val),this.get("syncPath")},AppSettings.prototype.cameraUploadFolders=function(val){return null!=val&&this.set("cameraUploadFolders",val.join("||")),(val=this.get("cameraUploadFolders"))?val.split("||"):[]},AppSettings.prototype.cameraUploadServers=function(val){return null!=val&&this.set("cameraUploadServers",val.join(",")),(val=this.get("cameraUploadServers"))?val.split(","):[]},AppSettings.prototype.runAtStartup=function(val){return null!=val&&this.set("runatstartup",val.toString()),"true"===this.get("runatstartup")},AppSettings.prototype.enableRefreshRateSwitching=function(val){return null!=val&&this.set("enableRefreshRateSwitching",val.toString()),"true"===this.get("enableRefreshRateSwitching")},AppSettings.prototype.enableResolutionSwitching=function(val){return null!=val&&this.set("enableResolutionSwitching",val.toString()),"true"===this.get("enableResolutionSwitching")},AppSettings.prototype.backgroundVideo=function(val){return null!=val&&this.set("backgroundVideo",val),this.get("backgroundVideo")},AppSettings.prototype.preferredVideoPlayer=function(val){return null!=val&&this.set("preferredVideoPlayer",val),this.get("preferredVideoPlayer")},AppSettings.prototype.set=function(name,value,userId){var currentValue=this.get(name,userId);appStorage.setItem(getKey(name,userId),value),currentValue!==value&&events.trigger(this,"change",[name,value])},AppSettings.prototype.get=function(name,userId){return appStorage.getItem(getKey(name,userId))},AppSettings.prototype.enableSystemExternalPlayers=function(val){return null!=val&&this.set("enableSystemExternalPlayers",val.toString()),"true"===this.get("enableSystemExternalPlayers")};export default new AppSettings;