class SettingsBackup { final int? theme; final String? accentColor; final bool? realDark; final bool? useWallpaperTheme; final bool? autoPlay; final bool? autoUpdate; final int? updateInterval; final bool? downloadUsingData; final int? cacheMax; final int? podcastLayout; final int? recentLayout; final int? favLayout; final int? downloadLayout; final bool? autoDownloadNetwork; final List? episodePopupMenu; final int? autoDelete; final bool? autoSleepTimer; final int? autoSleepTimerStart; final int? autoSleepTimerEnd; final int? defaultSleepTime; final int? autoSleepTimerMode; final bool? tapToOpenPopupMenu; final int? fastForwardSeconds; final int? rewindSeconds; final int? playerHeight; final String? locale; final bool? hideListened; final int? notificationLayout; final int? showNotesFont; final List? speedList; final bool? hidePodcastDiscovery; final bool? markListenedAfterSkip; final bool? deleteAfterPlayed; final bool? openPlaylistDefault; final bool? openAllPodcastDefault; SettingsBackup( {this.theme, this.accentColor, this.realDark, this.useWallpaperTheme, this.autoPlay, this.autoUpdate, this.updateInterval, this.downloadUsingData, this.cacheMax, this.podcastLayout, this.recentLayout, this.favLayout, this.downloadLayout, this.autoDownloadNetwork, this.episodePopupMenu, this.autoDelete, this.autoSleepTimer, this.autoSleepTimerStart, this.autoSleepTimerEnd, this.defaultSleepTime, this.autoSleepTimerMode, this.tapToOpenPopupMenu, this.fastForwardSeconds, this.rewindSeconds, this.playerHeight, this.locale, this.hideListened, this.notificationLayout, this.showNotesFont, this.speedList, this.hidePodcastDiscovery, this.markListenedAfterSkip, this.deleteAfterPlayed, this.openPlaylistDefault, this.openAllPodcastDefault}); Map toJson() { return { 'theme': theme, 'accentColor': accentColor, 'realDark': realDark, 'useWallpaperTheme': useWallpaperTheme, 'autoPlay': autoPlay, 'autoUpdate': autoUpdate, 'updateInterval': updateInterval, 'downloadUsingData': downloadUsingData, 'cacheMax': cacheMax, 'podcastLayout': podcastLayout, 'recentLayout': recentLayout, 'favLayout': favLayout, 'downloadLayout': downloadLayout, 'autoDownloadNetwork': autoDownloadNetwork, 'episodePopupMenu': episodePopupMenu, 'autoDelete': autoDelete, 'autoSleepTimer': autoSleepTimer, 'autoSleepTimerStart': autoSleepTimerStart, 'autoSleepTimerEnd': autoSleepTimerEnd, 'autoSleepTimerMode': autoSleepTimerMode, 'tapToOpenPopupMenu': tapToOpenPopupMenu, 'fastForwardSeconds': fastForwardSeconds, 'rewindSeconds': rewindSeconds, 'playerHeight': playerHeight, 'locale': locale, 'hideListened': hideListened, 'notificationLayout': notificationLayout, 'showNotesFont': showNotesFont, 'speedList': speedList, 'hidePodcastDiscovery': hidePodcastDiscovery, 'markListenedAfterSkip': markListenedAfterSkip, 'deleteAfterPlayed': deleteAfterPlayed, 'openPlaylistDefault': openPlaylistDefault, 'openAllPodcastDefault': openAllPodcastDefault }; } static SettingsBackup fromJson(Map json) { final menuList = List.from(json['episodePopupMenu'] as Iterable); final speedList = List.from(json['speedList'] as Iterable); return SettingsBackup( theme: json['theme'] as int?, accentColor: json['accentColor'] as String?, realDark: json['realDark'] as bool?, useWallpaperTheme: json['useWallpaperTheme'] as bool?, autoPlay: json['autoPlay'] as bool?, autoUpdate: json['autoUpdate'] as bool?, updateInterval: json['updateInterval'] as int?, downloadUsingData: json['downloadUsingData'] as bool?, cacheMax: json['cacheMax'] as int?, podcastLayout: json['podcastLayout'] as int?, recentLayout: json['recentLayout'] as int?, favLayout: json['favLayout'] as int?, downloadLayout: json['downloadLayout'] as int?, autoDownloadNetwork: json['autoDownloadNetwork'] as bool?, episodePopupMenu: menuList, autoDelete: json['autoDelete'] as int?, autoSleepTimer: json['autoSleepTimer'] as bool?, autoSleepTimerStart: json['autoSleepeTimerStart'] as int?, autoSleepTimerEnd: json['autoSleepTimerEnd'] as int?, autoSleepTimerMode: json['autoSleepTimerMode'] as int?, tapToOpenPopupMenu: json['tapToOpenPopupMenu'] as bool?, fastForwardSeconds: json['fastForwardSeconds'] as int?, rewindSeconds: json['rewindSeconds'] as int?, playerHeight: json['playerHeight'] as int?, locale: json['locale'] as String?, hideListened: json['hideListened'] as bool?, notificationLayout: json['notificationLayout'] as int?, showNotesFont: json['showNotesFont'] as int?, speedList: speedList, hidePodcastDiscovery: json['hidePodcastDiscovery'] as bool?, markListenedAfterSkip: json['markListenedAfterSkip'] as bool?, deleteAfterPlayed: json['deleteAfterPlayed'] as bool?, openPlaylistDefault: json['openPlaylistDefaullt'] as bool?, openAllPodcastDefault: json['openAllPodcastDefault'] as bool?); } }