diff --git a/README.md b/README.md index 556d0aa..6a98d77 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Tsacdop Banner][]][google play] -![github action][] +[![github action][]][github action link] [![Build Status - Cirrus][]][build status] [![GitHub Release][]][github release - recent] [![Github Downloads][]][github release - recent] @@ -167,6 +167,7 @@ For help getting started with Flutter, view our [tsacdop banner]: https://raw.githubusercontent.com/stonega/tsacdop/master/preview/banner.png [build status - cirrus]: https://circleci.com/gh/stonega/tsacdop/tree/master.svg?style=shield [github action]: https://github.com/stonega/tsacdop/workflows/Flutter%20Build/badge.svg +[github action link]: https://github.com/stonega/tsacdop/actions [build status ]: https://circleci.com/gh/stonega/tsacdop/tree/master [github release]: https://img.shields.io/github/v/release/stonega/tsacdop [github release - recent]: https://github.com/stonega/tsacdop/releases diff --git a/lib/generated/intl/messages_en.dart b/lib/generated/intl/messages_en.dart index 3fad975..0bc12d8 100644 --- a/lib/generated/intl/messages_en.dart +++ b/lib/generated/intl/messages_en.dart @@ -278,6 +278,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingsDefaultGridPodcast" : MessageLookupByLibrary.simpleMessage("Podcast page"), "settingsDefaultGridRecent" : MessageLookupByLibrary.simpleMessage("Recent tab"), "settingsDiscovery" : MessageLookupByLibrary.simpleMessage("Reenable \"Discover Features\""), + "settingsDownloadPosition" : MessageLookupByLibrary.simpleMessage("Download position"), "settingsEnableSyncing" : MessageLookupByLibrary.simpleMessage("Enable synchronisation"), "settingsEnableSyncingDes" : MessageLookupByLibrary.simpleMessage("Refresh all podcasts in the background to get latest episodes"), "settingsExportDes" : MessageLookupByLibrary.simpleMessage("Export and import app settings"), @@ -297,6 +298,8 @@ class MessageLookup extends MessageLookupByLibrary { "settingsLibrariesDes" : MessageLookupByLibrary.simpleMessage("Open source libraries used in this app"), "settingsManageDownload" : MessageLookupByLibrary.simpleMessage("Manage downloads"), "settingsManageDownloadDes" : MessageLookupByLibrary.simpleMessage("Manage downloaded audio files"), + "settingsMarkListenedSkip" : MessageLookupByLibrary.simpleMessage("Mark as listened when skipped"), + "settingsMarkListenedSkipDes" : MessageLookupByLibrary.simpleMessage("Auto mark episode as listened when it was skipped to next"), "settingsMenuAutoPlay" : MessageLookupByLibrary.simpleMessage("Auto play next"), "settingsNetworkCellular" : MessageLookupByLibrary.simpleMessage("Ask before using cellular data"), "settingsNetworkCellularAuto" : MessageLookupByLibrary.simpleMessage("Auto download using cellular data"), diff --git a/lib/generated/intl/messages_es.dart b/lib/generated/intl/messages_es.dart index 466cf28..29de54f 100644 --- a/lib/generated/intl/messages_es.dart +++ b/lib/generated/intl/messages_es.dart @@ -278,6 +278,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingsDefaultGridPodcast" : MessageLookupByLibrary.simpleMessage("Pagina de podcasts"), "settingsDefaultGridRecent" : MessageLookupByLibrary.simpleMessage("Pestaña de recientes"), "settingsDiscovery" : MessageLookupByLibrary.simpleMessage("Reiniciar tutorial"), + "settingsDownloadPosition" : MessageLookupByLibrary.simpleMessage("Download position"), "settingsEnableSyncing" : MessageLookupByLibrary.simpleMessage("Activar sincronización"), "settingsEnableSyncingDes" : MessageLookupByLibrary.simpleMessage("Actualizar todos los podcasts en el fondo para obtener episodios mas recientes"), "settingsExportDes" : MessageLookupByLibrary.simpleMessage("Exportar e importar ajustes de la app"), @@ -297,6 +298,8 @@ class MessageLookup extends MessageLookupByLibrary { "settingsLibrariesDes" : MessageLookupByLibrary.simpleMessage("Librerías de código abierto usadas en la app"), "settingsManageDownload" : MessageLookupByLibrary.simpleMessage("Administrar descargas"), "settingsManageDownloadDes" : MessageLookupByLibrary.simpleMessage("Administrar archivos de audio descargados"), + "settingsMarkListenedSkip" : MessageLookupByLibrary.simpleMessage("Mark as listened when skipped"), + "settingsMarkListenedSkipDes" : MessageLookupByLibrary.simpleMessage("Auto mark episode as listened when it was skipped to next"), "settingsMenuAutoPlay" : MessageLookupByLibrary.simpleMessage("Auto reproducir siguiente "), "settingsNetworkCellular" : MessageLookupByLibrary.simpleMessage("Preguntar antes de usar datos móviles "), "settingsNetworkCellularAuto" : MessageLookupByLibrary.simpleMessage("Auto descargar usando datos móviles"), diff --git a/lib/generated/intl/messages_fr.dart b/lib/generated/intl/messages_fr.dart index 3b10128..16c09ed 100644 --- a/lib/generated/intl/messages_fr.dart +++ b/lib/generated/intl/messages_fr.dart @@ -278,6 +278,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingsDefaultGridPodcast" : MessageLookupByLibrary.simpleMessage("Onglet podcasts"), "settingsDefaultGridRecent" : MessageLookupByLibrary.simpleMessage("Onglet Récents"), "settingsDiscovery" : MessageLookupByLibrary.simpleMessage("Revoir le tutoriel"), + "settingsDownloadPosition" : MessageLookupByLibrary.simpleMessage("Download position"), "settingsEnableSyncing" : MessageLookupByLibrary.simpleMessage("Activer la synchronisation"), "settingsEnableSyncingDes" : MessageLookupByLibrary.simpleMessage("Actualiser tous les podcasts en arrière-plan pour toujours afficher les derniers épisodes"), "settingsExportDes" : MessageLookupByLibrary.simpleMessage("Exporter et importer les paramètres de l\'application."), @@ -297,6 +298,8 @@ class MessageLookup extends MessageLookupByLibrary { "settingsLibrariesDes" : MessageLookupByLibrary.simpleMessage("Librairies opensource utilisées"), "settingsManageDownload" : MessageLookupByLibrary.simpleMessage("Gérer les téléchargements"), "settingsManageDownloadDes" : MessageLookupByLibrary.simpleMessage("Gestion des fichiers audio téléchargés"), + "settingsMarkListenedSkip" : MessageLookupByLibrary.simpleMessage("Mark as listened when skipped"), + "settingsMarkListenedSkipDes" : MessageLookupByLibrary.simpleMessage("Auto mark episode as listened when it was skipped to next"), "settingsMenuAutoPlay" : MessageLookupByLibrary.simpleMessage("Lecture automatique"), "settingsNetworkCellular" : MessageLookupByLibrary.simpleMessage("Utilisation du réseau mobile"), "settingsNetworkCellularAuto" : MessageLookupByLibrary.simpleMessage("Téléchargement automatique sur réseau mobile"), diff --git a/lib/generated/intl/messages_it.dart b/lib/generated/intl/messages_it.dart index 7c097c9..509ef91 100644 --- a/lib/generated/intl/messages_it.dart +++ b/lib/generated/intl/messages_it.dart @@ -259,7 +259,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingStorage" : MessageLookupByLibrary.simpleMessage("Spazio di archiviazione"), "settings" : MessageLookupByLibrary.simpleMessage("Impostazioni"), "settingsAccentColor" : MessageLookupByLibrary.simpleMessage("Accento"), - "settingsAccentColorDes" : MessageLookupByLibrary.simpleMessage("Includi il colore del tema"), + "settingsAccentColorDes" : MessageLookupByLibrary.simpleMessage("Scegli il colore del tema"), "settingsAppIntro" : MessageLookupByLibrary.simpleMessage("Intro dell\'app"), "settingsAppearance" : MessageLookupByLibrary.simpleMessage("Aspetto"), "settingsAppearanceDes" : MessageLookupByLibrary.simpleMessage("Colori e tema"), @@ -278,6 +278,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingsDefaultGridPodcast" : MessageLookupByLibrary.simpleMessage("Pagina del podcast"), "settingsDefaultGridRecent" : MessageLookupByLibrary.simpleMessage("Scheda Recenti"), "settingsDiscovery" : MessageLookupByLibrary.simpleMessage("Abilita nuovamente il tutorial"), + "settingsDownloadPosition" : MessageLookupByLibrary.simpleMessage("Download position"), "settingsEnableSyncing" : MessageLookupByLibrary.simpleMessage("Abilita sincronizzazione"), "settingsEnableSyncingDes" : MessageLookupByLibrary.simpleMessage("Ricarica tutti i podcast in background per ottenere gli ultimi episodi"), "settingsExportDes" : MessageLookupByLibrary.simpleMessage("Esporta e importa le impostazioni dell\'app"), @@ -297,6 +298,8 @@ class MessageLookup extends MessageLookupByLibrary { "settingsLibrariesDes" : MessageLookupByLibrary.simpleMessage("Librerie Open Source usate in questa app"), "settingsManageDownload" : MessageLookupByLibrary.simpleMessage("Gestisci i download"), "settingsManageDownloadDes" : MessageLookupByLibrary.simpleMessage("Gestisci i file audio scaricati"), + "settingsMarkListenedSkip" : MessageLookupByLibrary.simpleMessage("Mark as listened when skipped"), + "settingsMarkListenedSkipDes" : MessageLookupByLibrary.simpleMessage("Auto mark episode as listened when it was skipped to next"), "settingsMenuAutoPlay" : MessageLookupByLibrary.simpleMessage("Riproduci automaticamente"), "settingsNetworkCellular" : MessageLookupByLibrary.simpleMessage("Chiedi prima di usare i dati mobili"), "settingsNetworkCellularAuto" : MessageLookupByLibrary.simpleMessage("Scarica automaticamente usando i dati mobili"), @@ -309,7 +312,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingsPopupMenuDes" : MessageLookupByLibrary.simpleMessage("Cambia il menu a comparsa degli episodi"), "settingsPrefrence" : MessageLookupByLibrary.simpleMessage("Preferenze"), "settingsRealDark" : MessageLookupByLibrary.simpleMessage("Oscurità"), - "settingsRealDarkDes" : MessageLookupByLibrary.simpleMessage("Arriva se la versione notte non è abbastanza scura"), + "settingsRealDarkDes" : MessageLookupByLibrary.simpleMessage("Attiva se la versione notte non è abbastanza scura"), "settingsRewindSec" : MessageLookupByLibrary.simpleMessage("Riavvolgimento rapido"), "settingsRewindSecDes" : MessageLookupByLibrary.simpleMessage("Cambia i secondi di riavvolgimento nella riproduzione"), "settingsSTAuto" : MessageLookupByLibrary.simpleMessage("Abilita automaticamente il tempo di standby\n"), diff --git a/lib/generated/intl/messages_pt.dart b/lib/generated/intl/messages_pt.dart index 21b304f..7bbd85e 100644 --- a/lib/generated/intl/messages_pt.dart +++ b/lib/generated/intl/messages_pt.dart @@ -278,6 +278,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingsDefaultGridPodcast" : MessageLookupByLibrary.simpleMessage("Página de podcasts"), "settingsDefaultGridRecent" : MessageLookupByLibrary.simpleMessage("Aba de recentes"), "settingsDiscovery" : MessageLookupByLibrary.simpleMessage("Reiniciar tutorial"), + "settingsDownloadPosition" : MessageLookupByLibrary.simpleMessage("Download position"), "settingsEnableSyncing" : MessageLookupByLibrary.simpleMessage("Ativar sincronização"), "settingsEnableSyncingDes" : MessageLookupByLibrary.simpleMessage("Atualizar todos os podcasts em segundo plano para obter os episódios mais recentes"), "settingsExportDes" : MessageLookupByLibrary.simpleMessage("Exportar e importar definições da aplicação"), @@ -297,6 +298,8 @@ class MessageLookup extends MessageLookupByLibrary { "settingsLibrariesDes" : MessageLookupByLibrary.simpleMessage("Bibliotecas de código aberto usados nesta aplicação"), "settingsManageDownload" : MessageLookupByLibrary.simpleMessage("Gerir downloads"), "settingsManageDownloadDes" : MessageLookupByLibrary.simpleMessage("Gerir arquivos de aúdio descarregados"), + "settingsMarkListenedSkip" : MessageLookupByLibrary.simpleMessage("Mark as listened when skipped"), + "settingsMarkListenedSkipDes" : MessageLookupByLibrary.simpleMessage("Auto mark episode as listened when it was skipped to next"), "settingsMenuAutoPlay" : MessageLookupByLibrary.simpleMessage("Reproduzir seguinte automaticamente"), "settingsNetworkCellular" : MessageLookupByLibrary.simpleMessage("Perguntar antes de usar dados móveis"), "settingsNetworkCellularAuto" : MessageLookupByLibrary.simpleMessage("Descarregar automaticamente usando os dados móveis"), diff --git a/lib/generated/intl/messages_zh-Hans.dart b/lib/generated/intl/messages_zh-Hans.dart index 4285278..cc9b1a8 100644 --- a/lib/generated/intl/messages_zh-Hans.dart +++ b/lib/generated/intl/messages_zh-Hans.dart @@ -278,6 +278,7 @@ class MessageLookup extends MessageLookupByLibrary { "settingsDefaultGridPodcast" : MessageLookupByLibrary.simpleMessage("播客页"), "settingsDefaultGridRecent" : MessageLookupByLibrary.simpleMessage("最近页"), "settingsDiscovery" : MessageLookupByLibrary.simpleMessage("再次功能介绍"), + "settingsDownloadPosition" : MessageLookupByLibrary.simpleMessage("下载位置"), "settingsEnableSyncing" : MessageLookupByLibrary.simpleMessage("开启自动更新"), "settingsEnableSyncingDes" : MessageLookupByLibrary.simpleMessage("在后台更新所有订阅播客"), "settingsExportDes" : MessageLookupByLibrary.simpleMessage("导出及恢复所有设置项"), @@ -297,6 +298,8 @@ class MessageLookup extends MessageLookupByLibrary { "settingsLibrariesDes" : MessageLookupByLibrary.simpleMessage("开源项目使用"), "settingsManageDownload" : MessageLookupByLibrary.simpleMessage("下载管理"), "settingsManageDownloadDes" : MessageLookupByLibrary.simpleMessage("管理下载节目文件"), + "settingsMarkListenedSkip" : MessageLookupByLibrary.simpleMessage("跳过后标记为已收听"), + "settingsMarkListenedSkipDes" : MessageLookupByLibrary.simpleMessage("当节目被跳过时自动标记为已收听"), "settingsMenuAutoPlay" : MessageLookupByLibrary.simpleMessage("自动播放下一节目"), "settingsNetworkCellular" : MessageLookupByLibrary.simpleMessage("蜂窝数据确认"), "settingsNetworkCellularAuto" : MessageLookupByLibrary.simpleMessage("是否用蜂窝数据自动下载"), diff --git a/lib/generated/l10n.dart b/lib/generated/l10n.dart index 5f80e78..f87adea 100644 --- a/lib/generated/l10n.dart +++ b/lib/generated/l10n.dart @@ -2012,6 +2012,16 @@ class S { ); } + /// `Download position` + String get settingsDownloadPosition { + return Intl.message( + 'Download position', + name: 'settingsDownloadPosition', + desc: 'Choose folder for downloads.', + args: [], + ); + } + /// `Enable synchronisation` String get settingsEnableSyncing { return Intl.message( @@ -2202,6 +2212,26 @@ class S { ); } + /// `Mark as listened when skipped` + String get settingsMarkListenedSkip { + return Intl.message( + 'Mark as listened when skipped', + name: 'settingsMarkListenedSkip', + desc: 'Mark episode as listened when skipped to next.', + args: [], + ); + } + + /// `Auto mark episode as listened when it was skipped to next` + String get settingsMarkListenedSkipDes { + return Intl.message( + 'Auto mark episode as listened when it was skipped to next', + name: 'settingsMarkListenedSkipDes', + desc: '', + args: [], + ); + } + /// `Auto play next` String get settingsMenuAutoPlay { return Intl.message( diff --git a/lib/l10n/intl_en.arb b/lib/l10n/intl_en.arb index 8f29557..b89eaaa 100644 --- a/lib/l10n/intl_en.arb +++ b/lib/l10n/intl_en.arb @@ -487,6 +487,10 @@ "@settingsDiscovery": { "description": "Reset feature discovery state. User tap it and restart app, will see features tutorial again." }, + "settingsDownloadPosition": "Download position", + "@settingsDownloadPosition": { + "description": "Choose folder for downloads." + }, "settingsEnableSyncing": "Enable synchronisation", "@settingsEnableSyncing": {}, "settingsEnableSyncingDes": "Refresh all podcasts in the background to get latest episodes", @@ -525,6 +529,12 @@ "@settingsManageDownload": {}, "settingsManageDownloadDes": "Manage downloaded audio files", "@settingsManageDownloadDes": {}, + "settingsMarkListenedSkip": "Mark as listened when skipped", + "@settingsMarkListenedSkip": { + "description": "Mark episode as listened when skipped to next." + }, + "settingsMarkListenedSkipDes": "Auto mark episode as listened when it was skipped to next", + "@settingsMarkListenedSkipDes": {}, "settingsMenuAutoPlay": "Auto play next", "@settingsMenuAutoPlay": {}, "settingsNetworkCellular": "Ask before using cellular data", diff --git a/lib/l10n/intl_es.arb b/lib/l10n/intl_es.arb index eba676c..5cb25ad 100644 --- a/lib/l10n/intl_es.arb +++ b/lib/l10n/intl_es.arb @@ -487,6 +487,10 @@ "@settingsDiscovery": { "description": "Reset feature discovery state. User tap it and restart app, will see features tutorial again." }, + "settingsDownloadPosition": "Download position", + "@settingsDownloadPosition": { + "description": "Choose folder for downloads." + }, "settingsEnableSyncing": "Activar sincronización", "@settingsEnableSyncing": {}, "settingsEnableSyncingDes": "Actualizar todos los podcasts en el fondo para obtener episodios mas recientes", @@ -525,6 +529,12 @@ "@settingsManageDownload": {}, "settingsManageDownloadDes": "Administrar archivos de audio descargados", "@settingsManageDownloadDes": {}, + "settingsMarkListenedSkip": "Mark as listened when skipped", + "@settingsMarkListenedSkip": { + "description": "Mark episode as listened when skipped to next." + }, + "settingsMarkListenedSkipDes": "Auto mark episode as listened when it was skipped to next", + "@settingsMarkListenedSkipDes": {}, "settingsMenuAutoPlay": "Auto reproducir siguiente ", "@settingsMenuAutoPlay": {}, "settingsNetworkCellular": "Preguntar antes de usar datos móviles ", diff --git a/lib/l10n/intl_fr.arb b/lib/l10n/intl_fr.arb index 491a8f8..9be4e14 100644 --- a/lib/l10n/intl_fr.arb +++ b/lib/l10n/intl_fr.arb @@ -487,6 +487,10 @@ "@settingsDiscovery": { "description": "Reset feature discovery state. User tap it and restart app, will see features tutorial again." }, + "settingsDownloadPosition": "Download position", + "@settingsDownloadPosition": { + "description": "Choose folder for downloads." + }, "settingsEnableSyncing": "Activer la synchronisation", "@settingsEnableSyncing": {}, "settingsEnableSyncingDes": "Actualiser tous les podcasts en arrière-plan pour toujours afficher les derniers épisodes", @@ -525,6 +529,12 @@ "@settingsManageDownload": {}, "settingsManageDownloadDes": "Gestion des fichiers audio téléchargés", "@settingsManageDownloadDes": {}, + "settingsMarkListenedSkip": "Mark as listened when skipped", + "@settingsMarkListenedSkip": { + "description": "Mark episode as listened when skipped to next." + }, + "settingsMarkListenedSkipDes": "Auto mark episode as listened when it was skipped to next", + "@settingsMarkListenedSkipDes": {}, "settingsMenuAutoPlay": "Lecture automatique", "@settingsMenuAutoPlay": {}, "settingsNetworkCellular": "Utilisation du réseau mobile", diff --git a/lib/l10n/intl_it.arb b/lib/l10n/intl_it.arb index 8b444e5..9f76294 100644 --- a/lib/l10n/intl_it.arb +++ b/lib/l10n/intl_it.arb @@ -447,7 +447,7 @@ "@settings": {}, "settingsAccentColor": "Accento", "@settingsAccentColor": {}, - "settingsAccentColorDes": "Includi il colore del tema", + "settingsAccentColorDes": "Scegli il colore del tema", "@settingsAccentColorDes": {}, "settingsAppearance": "Aspetto", "@settingsAppearance": {}, @@ -487,6 +487,10 @@ "@settingsDiscovery": { "description": "Reset feature discovery state. User tap it and restart app, will see features tutorial again." }, + "settingsDownloadPosition": "Download position", + "@settingsDownloadPosition": { + "description": "Choose folder for downloads." + }, "settingsEnableSyncing": "Abilita sincronizzazione", "@settingsEnableSyncing": {}, "settingsEnableSyncingDes": "Ricarica tutti i podcast in background per ottenere gli ultimi episodi", @@ -525,6 +529,12 @@ "@settingsManageDownload": {}, "settingsManageDownloadDes": "Gestisci i file audio scaricati", "@settingsManageDownloadDes": {}, + "settingsMarkListenedSkip": "Mark as listened when skipped", + "@settingsMarkListenedSkip": { + "description": "Mark episode as listened when skipped to next." + }, + "settingsMarkListenedSkipDes": "Auto mark episode as listened when it was skipped to next", + "@settingsMarkListenedSkipDes": {}, "settingsMenuAutoPlay": "Riproduci automaticamente", "@settingsMenuAutoPlay": {}, "settingsNetworkCellular": "Chiedi prima di usare i dati mobili", @@ -549,7 +559,7 @@ "@settingsPrefrence": {}, "settingsRealDark": "Oscurità", "@settingsRealDark": {}, - "settingsRealDarkDes": "Arriva se la versione notte non è abbastanza scura", + "settingsRealDarkDes": "Attiva se la versione notte non è abbastanza scura", "@settingsRealDarkDes": {}, "settingsRewindSec": "Riavvolgimento rapido", "@settingsRewindSec": {}, diff --git a/lib/l10n/intl_pt.arb b/lib/l10n/intl_pt.arb index 6ad1341..92d4d18 100644 --- a/lib/l10n/intl_pt.arb +++ b/lib/l10n/intl_pt.arb @@ -487,6 +487,10 @@ "@settingsDiscovery": { "description": "Reset feature discovery state. User tap it and restart app, will see features tutorial again." }, + "settingsDownloadPosition": "Download position", + "@settingsDownloadPosition": { + "description": "Choose folder for downloads." + }, "settingsEnableSyncing": "Ativar sincronização", "@settingsEnableSyncing": {}, "settingsEnableSyncingDes": "Atualizar todos os podcasts em segundo plano para obter os episódios mais recentes", @@ -525,6 +529,12 @@ "@settingsManageDownload": {}, "settingsManageDownloadDes": "Gerir arquivos de aúdio descarregados", "@settingsManageDownloadDes": {}, + "settingsMarkListenedSkip": "Mark as listened when skipped", + "@settingsMarkListenedSkip": { + "description": "Mark episode as listened when skipped to next." + }, + "settingsMarkListenedSkipDes": "Auto mark episode as listened when it was skipped to next", + "@settingsMarkListenedSkipDes": {}, "settingsMenuAutoPlay": "Reproduzir seguinte automaticamente", "@settingsMenuAutoPlay": {}, "settingsNetworkCellular": "Perguntar antes de usar dados móveis", diff --git a/lib/l10n/intl_zh_Hans.arb b/lib/l10n/intl_zh_Hans.arb index 61d11ed..79b4efb 100644 --- a/lib/l10n/intl_zh_Hans.arb +++ b/lib/l10n/intl_zh_Hans.arb @@ -487,6 +487,10 @@ "@settingsDiscovery": { "description": "Reset feature discovery state. User tap it and restart app, will see features tutorial again." }, + "settingsDownloadPosition": "下载位置", + "@settingsDownloadPosition": { + "description": "Choose folder for downloads." + }, "settingsEnableSyncing": "开启自动更新", "@settingsEnableSyncing": {}, "settingsEnableSyncingDes": "在后台更新所有订阅播客", @@ -525,6 +529,12 @@ "@settingsManageDownload": {}, "settingsManageDownloadDes": "管理下载节目文件", "@settingsManageDownloadDes": {}, + "settingsMarkListenedSkip": "跳过后标记为已收听", + "@settingsMarkListenedSkip": { + "description": "Mark episode as listened when skipped to next." + }, + "settingsMarkListenedSkipDes": "当节目被跳过时自动标记为已收听", + "@settingsMarkListenedSkipDes": {}, "settingsMenuAutoPlay": "自动播放下一节目", "@settingsMenuAutoPlay": {}, "settingsNetworkCellular": "蜂窝数据确认", diff --git a/lib/settings/downloads_manage.dart b/lib/settings/downloads_manage.dart index d832af4..5ae4598 100644 --- a/lib/settings/downloads_manage.dart +++ b/lib/settings/downloads_manage.dart @@ -41,23 +41,25 @@ class _DownloadsManageState extends State { return await dbHelper.isListened(episode.enclosureUrl); } - _getStorageSize() async { + Future _getStorageSize() async { _size = 0; _fileNum = 0; - var dir = await getExternalStorageDirectory(); - dir.list().forEach((d) { - var fileDir = Directory(d.path); - fileDir.list().forEach((file) async { - await File(file.path).stat().then((value) { - _size += value.size; - _fileNum += 1; - if (mounted) setState(() {}); + final dirs = await getExternalStorageDirectories(); + for (var dir in dirs) { + dir.list().forEach((d) { + var fileDir = Directory(d.path); + fileDir.list().forEach((file) async { + await File(file.path).stat().then((value) { + _size += value.size; + _fileNum += 1; + if (mounted) setState(() {}); + }); }); }); - }); + } } - _delSelectedEpisodes() async { + Future _delSelectedEpisodes() async { setState(() => _clearing = true); // await Future.forEach(_selectedList, (EpisodeBrief episode) async for (var episode in _selectedList) { @@ -149,7 +151,7 @@ class _DownloadsManageState extends State { text: TextSpan( text: 'Total ', style: TextStyle( - color: Theme.of(context).accentColor, + color: context.accentColor, fontSize: 20, ), children: [ @@ -157,7 +159,7 @@ class _DownloadsManageState extends State { text: _fileNum.toString(), style: GoogleFonts.cairo( textStyle: TextStyle( - color: Theme.of(context).accentColor, + color: context.accentColor, fontSize: 40, )), ), @@ -166,7 +168,7 @@ class _DownloadsManageState extends State { ? ' episode' : ' episodes ', style: TextStyle( - color: Theme.of(context).accentColor, + color: context.accentColor, fontSize: 20, )), TextSpan( diff --git a/lib/settings/play_setting.dart b/lib/settings/play_setting.dart index f6d82cf..8b23348 100644 --- a/lib/settings/play_setting.dart +++ b/lib/settings/play_setting.dart @@ -293,8 +293,8 @@ class _PlaySettingState extends State { onTap: () => _saveMarkListenedSkip(!snapshot.data), contentPadding: EdgeInsets.only(left: 70.0, right: 20, bottom: 10), - title: Text('Mark listened when episode skipped'), - subtitle: Text('Mark as listened'), + title: Text(s.settingsMarkListenedSkip), + subtitle: Text(s.settingsManageDownloadDes), trailing: Transform.scale( scale: 0.9, child: Switch( diff --git a/lib/settings/storage.dart b/lib/settings/storage.dart index 349913e..5ae1bd3 100644 --- a/lib/settings/storage.dart +++ b/lib/settings/storage.dart @@ -201,13 +201,13 @@ class _StorageSettingState extends State initialData: 0, builder: (context, snapshot) { return ListTile( - contentPadding: EdgeInsets.only(left: 70.0, right: 20), - title: Text('Donwload position'), + contentPadding: EdgeInsets.fromLTRB(70, 10, 20, 10), + title: Text(s.settingsDownloadPosition), subtitle: Text(_dirs == null ? '' : _dirs[snapshot.data], maxLines: 2, overflow: TextOverflow.ellipsis), onTap: () => generalSheet( context, - title: 'Download position', + title: s.settingsDownloadPosition, child: Column(children: [ SizedBox( height: 10, @@ -303,19 +303,3 @@ class _StorageSettingState extends State ); } } - -class _DownloadPosition extends StatefulWidget { - _DownloadPosition({Key key}) : super(key: key); - - @override - __DownloadPositionState createState() => __DownloadPositionState(); -} - -class __DownloadPositionState extends State<_DownloadPosition> { - @override - Widget build(BuildContext context) { - return Column( - children: [], - ); - } -} diff --git a/pubspec.yaml b/pubspec.yaml index 7637e57..598a9ea 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -21,6 +21,7 @@ dependencies: connectivity: ^0.4.9 convert: ^2.1.1 crypto: ^2.1.5 + device_info: ^0.4.2+8 dio: ^3.0.10 dio_cookie_manager: ^1.0.0 extended_nested_scroll_view: ^1.0.1 @@ -55,9 +56,6 @@ dependencies: workmanager: ^0.2.3 wc_flutter_share: ^0.2.2 audio_service: ^0.15.1 - device_info: - git: - url: https://github.com/stonega/device_info.git just_audio: git: url: https://github.com/stonega/just_audio.git