From e1c7a74e1be2226527f5b1eafd7ffec07a59ed88 Mon Sep 17 00:00:00 2001 From: guozhigq Date: Sat, 23 Nov 2024 01:15:32 +0800 Subject: [PATCH] feat: SponsorBlock switch --- lib/pages/setting/extra_setting.dart | 9 +++++++++ lib/pages/video/detail/controller.dart | 3 ++- lib/utils/global_data_cache.dart | 4 ++++ lib/utils/storage.dart | 3 ++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/pages/setting/extra_setting.dart b/lib/pages/setting/extra_setting.dart index 004f3e9c..f4b56508 100644 --- a/lib/pages/setting/extra_setting.dart +++ b/lib/pages/setting/extra_setting.dart @@ -199,6 +199,15 @@ class _ExtraSettingState extends State { GlobalDataCache.enableDlna = val; }, ), + SetSwitchItem( + title: 'Sponsor Block', + subTitle: '自动跳过视频中赞助片段', + setKey: SettingBoxKey.enableSponsorBlock, + defaultVal: false, + callFn: (bool val) { + GlobalDataCache.enableSponsorBlock = val; + }, + ), ListTile( dense: false, title: Text('评论展示', style: titleStyle), diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index da3b0cbc..cb2e324c 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -21,6 +21,7 @@ import 'package:pilipala/models/video/play/url.dart'; import 'package:pilipala/models/video/reply/item.dart'; import 'package:pilipala/pages/video/detail/reply_reply/index.dart'; import 'package:pilipala/plugin/pl_player/index.dart'; +import 'package:pilipala/utils/global_data_cache.dart'; import 'package:pilipala/utils/storage.dart'; import 'package:pilipala/utils/utils.dart'; import 'package:pilipala/utils/video_utils.dart'; @@ -198,7 +199,7 @@ class VideoDetailController extends GetxController }); /// 仅投稿视频skip - if (videoType == SearchType.video) { + if (videoType == SearchType.video && GlobalDataCache.enableSponsorBlock) { querySkipSegments(); } } diff --git a/lib/utils/global_data_cache.dart b/lib/utils/global_data_cache.dart index a421f829..90b42795 100644 --- a/lib/utils/global_data_cache.dart +++ b/lib/utils/global_data_cache.dart @@ -55,6 +55,8 @@ class GlobalDataCache { static late bool enableDynamicSwitch; // 投屏开关 static bool enableDlna = false; + // sponsorBlock开关 + static bool enableSponsorBlock = false; // 私有构造函数 GlobalDataCache._(); @@ -123,5 +125,7 @@ class GlobalDataCache { enableDynamicSwitch = setting.get(SettingBoxKey.enableDynamicSwitch, defaultValue: true); enableDlna = setting.get(SettingBoxKey.enableDlna, defaultValue: false); + enableSponsorBlock = + setting.get(SettingBoxKey.enableSponsorBlock, defaultValue: false); } } diff --git a/lib/utils/storage.dart b/lib/utils/storage.dart index 49a5c734..9133314c 100644 --- a/lib/utils/storage.dart +++ b/lib/utils/storage.dart @@ -116,7 +116,8 @@ class SettingBoxKey { enableAutoExpand = 'enableAutoExpand', defaultHomePage = 'defaultHomePage', enableRelatedVideo = 'enableRelatedVideo', - enableDlna = 'enableDlna'; + enableDlna = 'enableDlna', + enableSponsorBlock = 'enableSponsorBlock'; /// 外观 static const String themeMode = 'themeMode',