diff --git a/lib/modules/anime/anime_player_view.dart b/lib/modules/anime/anime_player_view.dart index 76cf0196..001ae0d5 100644 --- a/lib/modules/anime/anime_player_view.dart +++ b/lib/modules/anime/anime_player_view.dart @@ -211,7 +211,7 @@ class _AnimeStreamPageState extends riv.ConsumerState if (debandingType == DebandingType.cpu) "vf": "gradfun=radius=12", if (debandingType == DebandingType.gpu) "deband": "yes", if (useYUV420P) "vf": "format=yuv420p", - "alang": audioPreferredLang, + if (audioPreferredLang.isNotEmpty) "alang": audioPreferredLang, if (enableAudioPitchCorrection) "audio-pitch-correction": "yes", "volume-max": "${volumeBoostCap + 100}", if (audioChannel != AudioChannel.reverseStereo) diff --git a/lib/modules/more/data_and_storage/create_backup.dart b/lib/modules/more/data_and_storage/create_backup.dart index a8fe6178..32582fb4 100644 --- a/lib/modules/more/data_and_storage/create_backup.dart +++ b/lib/modules/more/data_and_storage/create_backup.dart @@ -222,6 +222,7 @@ List<(String, int)> _getSettingsList(BuildContext context) { final l10n = context.l10n; return [ (l10n.app_settings, 6), + (l10n.custom_buttons, 10), (l10n.sources_settings, 7), (l10n.include_sensitive_settings, 8), ]; diff --git a/lib/modules/more/data_and_storage/providers/auto_backup.dart b/lib/modules/more/data_and_storage/providers/auto_backup.dart index 5bd93ea3..413e8bab 100644 --- a/lib/modules/more/data_and_storage/providers/auto_backup.dart +++ b/lib/modules/more/data_and_storage/providers/auto_backup.dart @@ -26,7 +26,7 @@ class BackupFrequencyOptionsState extends _$BackupFrequencyOptionsState { @override List build() { return isar.settings.getSync(227)!.backupListOptions ?? - [0, 1, 2, 3, 4, 5, 6, 7]; + [0, 1, 2, 3, 4, 5, 6, 7, 10]; } void set(List values) { diff --git a/lib/modules/more/data_and_storage/providers/auto_backup.g.dart b/lib/modules/more/data_and_storage/providers/auto_backup.g.dart index 2e4fe90a..3bfe8569 100644 --- a/lib/modules/more/data_and_storage/providers/auto_backup.g.dart +++ b/lib/modules/more/data_and_storage/providers/auto_backup.g.dart @@ -41,7 +41,7 @@ final backupFrequencyStateProvider = typedef _$BackupFrequencyState = AutoDisposeNotifier; String _$backupFrequencyOptionsStateHash() => - r'477541f3b59fe662ea3471400ff62066ea7e2196'; + r'9aa31bef65e0e2f20b306ed17ff058df2f24a635'; /// See also [BackupFrequencyOptionsState]. @ProviderFor(BackupFrequencyOptionsState) diff --git a/lib/modules/more/data_and_storage/providers/backup.dart b/lib/modules/more/data_and_storage/providers/backup.dart index 4d8eff07..296b474d 100644 --- a/lib/modules/more/data_and_storage/providers/backup.dart +++ b/lib/modules/more/data_and_storage/providers/backup.dart @@ -8,6 +8,7 @@ import 'package:mangayomi/eval/model/source_preference.dart'; import 'package:mangayomi/main.dart'; import 'package:mangayomi/models/category.dart'; import 'package:mangayomi/models/chapter.dart'; +import 'package:mangayomi/models/custom_button.dart'; import 'package:mangayomi/models/download.dart'; import 'package:mangayomi/models/history.dart'; import 'package:mangayomi/models/manga.dart'; @@ -131,6 +132,15 @@ Future doBackUp( .toList(); datas.addAll({"extensions": res}); } + if (list.contains(10)) { + final res = isar.customButtons + .filter() + .idIsNotNull() + .findAllSync() + .map((e) => e.toJson()) + .toList(); + datas.addAll({"customButtons": res}); + } final regExp = RegExp(r'[^a-zA-Z0-9 .()\-\s]'); final name = 'mangayomi_${DateTime.now().toString().replaceAll(regExp, '_').replaceAll(' ', '_')}'; diff --git a/lib/modules/more/data_and_storage/providers/backup.g.dart b/lib/modules/more/data_and_storage/providers/backup.g.dart index 1e5352d5..a1ba26b7 100644 --- a/lib/modules/more/data_and_storage/providers/backup.g.dart +++ b/lib/modules/more/data_and_storage/providers/backup.g.dart @@ -6,7 +6,7 @@ part of 'backup.dart'; // RiverpodGenerator // ************************************************************************** -String _$doBackUpHash() => r'ad907e7ff4cd9f05bb3fa2da0fd1a1f1d2c23258'; +String _$doBackUpHash() => r'a570fe00421ee352ea170440ce27b258cf9ddc15'; /// Copied from Dart SDK class _SystemHash { diff --git a/lib/modules/more/data_and_storage/providers/restore.dart b/lib/modules/more/data_and_storage/providers/restore.dart index e193279f..0559761c 100644 --- a/lib/modules/more/data_and_storage/providers/restore.dart +++ b/lib/modules/more/data_and_storage/providers/restore.dart @@ -9,6 +9,7 @@ import 'package:mangayomi/eval/model/source_preference.dart'; import 'package:mangayomi/main.dart'; import 'package:mangayomi/models/category.dart'; import 'package:mangayomi/models/chapter.dart'; +import 'package:mangayomi/models/custom_button.dart'; import 'package:mangayomi/models/download.dart'; import 'package:mangayomi/models/update.dart'; import 'package:mangayomi/models/history.dart'; @@ -155,6 +156,9 @@ void restoreBackup(Ref ref, Map backup, {bool full = true}) { final updates = (backup["updates"] as List?) ?.map((e) => Update.fromJson(e)) .toList(); + final customButtons = (backup["customButtons"] as List?) + ?.map((e) => CustomButton.fromJson(e)) + .toList(); isar.writeTxnSync(() { isar.mangas.clearSync(); @@ -245,6 +249,10 @@ void restoreBackup(Ref ref, Map backup, {bool full = true}) { if (settings != null) { isar.settings.putAllSync(settings); } + isar.customButtons.clearSync(); + if (customButtons != null) { + isar.customButtons.putAllSync(customButtons); + } _invalidateCommonState(ref); ref.read(routerCurrentLocationStateProvider.notifier).refresh(); } diff --git a/lib/modules/more/data_and_storage/providers/restore.g.dart b/lib/modules/more/data_and_storage/providers/restore.g.dart index 8917a896..aed202b8 100644 --- a/lib/modules/more/data_and_storage/providers/restore.g.dart +++ b/lib/modules/more/data_and_storage/providers/restore.g.dart @@ -173,7 +173,7 @@ class _DoRestoreProviderElement extends AutoDisposeProviderElement BuildContext get context => (origin as DoRestoreProvider).context; } -String _$restoreBackupHash() => r'2f440cfc5359e15bfd3887d27b38ecaf881404c6'; +String _$restoreBackupHash() => r'0dc4d911f0b84fd7fa30acf690799b196db4de6e'; /// See also [restoreBackup]. @ProviderFor(restoreBackup) diff --git a/lib/services/trackers/myanimelist.g.dart b/lib/services/trackers/myanimelist.g.dart index 7283560e..a3d8b6ee 100644 --- a/lib/services/trackers/myanimelist.g.dart +++ b/lib/services/trackers/myanimelist.g.dart @@ -6,7 +6,7 @@ part of 'myanimelist.dart'; // RiverpodGenerator // ************************************************************************** -String _$myAnimeListHash() => r'a612e9ce814268ac79dc86d810ca6bd3671812e6'; +String _$myAnimeListHash() => r'4391ad9446d14b1fb1ffdfbc5323ef04db5140f7'; /// Copied from Dart SDK class _SystemHash {