From 425f7402f1d1216f400f704a3c704001b987245f Mon Sep 17 00:00:00 2001 From: bggRGjQaUbCoE Date: Mon, 16 Sep 2024 11:05:31 +0800 Subject: [PATCH] mod: video brightness control --- lib/pages/setting/video_setting.dart | 2 +- lib/pages/video/detail/controller.dart | 8 -------- lib/pages/video/detail/view.dart | 15 ++++++++------- .../video/detail/widgets/header_control.dart | 5 +---- lib/plugin/pl_player/controller.dart | 4 ++-- 5 files changed, 12 insertions(+), 22 deletions(-) diff --git a/lib/pages/setting/video_setting.dart b/lib/pages/setting/video_setting.dart index e8916766..2fa3bca4 100644 --- a/lib/pages/setting/video_setting.dart +++ b/lib/pages/setting/video_setting.dart @@ -76,7 +76,7 @@ class _VideoSettingState extends State { subTitle: '返回时自动调整视频亮度', leading: Icon(Icons.brightness_6_outlined), setKey: SettingBoxKey.enableAutoBrightness, - defaultVal: false, + defaultVal: true, ), const SetSwitchItem( title: '免登录1080P', diff --git a/lib/pages/video/detail/controller.dart b/lib/pages/video/detail/controller.dart index 14369eae..88edc413 100644 --- a/lib/pages/video/detail/controller.dart +++ b/lib/pages/video/detail/controller.dart @@ -14,7 +14,6 @@ import 'package:PiliPalaX/plugin/pl_player/index.dart'; import 'package:PiliPalaX/utils/storage.dart'; import 'package:PiliPalaX/utils/utils.dart'; import 'package:PiliPalaX/utils/video_utils.dart'; -import 'package:screen_brightness/screen_brightness.dart'; import '../../../utils/id_utils.dart'; import 'widgets/header_control.dart'; @@ -235,13 +234,6 @@ class VideoDetailController extends GetxController duration, bool autoplay = true, }) async { - /// 设置/恢复 屏幕亮度 - if (brightness != null) { - ScreenBrightness().setScreenBrightness(brightness!); - } else if (setting.get(SettingBoxKey.enableAutoBrightness, - defaultValue: false) as bool) { - ScreenBrightness().resetScreenBrightness(); - } await plPlayerController.setDataSource( DataSource( videoSource: video ?? videoUrl, diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index 2c6a491e..1e39afe0 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -26,6 +26,7 @@ import 'package:PiliPalaX/plugin/pl_player/index.dart'; import 'package:PiliPalaX/plugin/pl_player/models/play_repeat.dart'; import 'package:PiliPalaX/services/service_locator.dart'; import 'package:PiliPalaX/utils/storage.dart'; +import 'package:screen_brightness/screen_brightness.dart'; import '../../../services/shutdown_timer_service.dart'; import 'widgets/header_control.dart'; @@ -277,6 +278,7 @@ class _VideoDetailPageState extends State @override void dispose() { + ScreenBrightness().resetScreenBrightness(); appbarStream.close(); floating.dispose(); videoDetailController.floating?.dispose(); @@ -305,8 +307,10 @@ class _VideoDetailPageState extends State void didPushNext() async { // _bufferedListener?.cancel(); + ScreenBrightness().resetScreenBrightness(); + /// 开启 - if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: false) + if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: true) as bool) { videoDetailController.brightness = plPlayerController!.brightness.value; } @@ -318,9 +322,6 @@ class _VideoDetailPageState extends State plPlayerController!.pause(); } isShowing = false; - if (mounted) { - setState(() => {}); - } super.didPushNext(); } @@ -328,15 +329,15 @@ class _VideoDetailPageState extends State // 返回当前页面时 void didPopNext() async { isShowing = true; - if (mounted) { - setState(() => {}); - } super.didPopNext(); videoDetailController.isFirstTime = false; final bool autoplay = autoPlayEnable; videoDetailController.autoPlay.value = !videoDetailController.isShowCover.value; await videoDetailController.playerInit(autoplay: autoplay); + if (mounted && videoDetailController.brightness != null) { + ScreenBrightness().setScreenBrightness(videoDetailController.brightness!); + } /// 未开启自动播放时,未播放跳转下一页返回/播放后跳转下一页返回 videoIntroController.isPaused = false; diff --git a/lib/pages/video/detail/widgets/header_control.dart b/lib/pages/video/detail/widgets/header_control.dart index b239e789..9df5a8ef 100644 --- a/lib/pages/video/detail/widgets/header_control.dart +++ b/lib/pages/video/detail/widgets/header_control.dart @@ -1453,10 +1453,7 @@ class _HeaderControlState extends State { onPressed: () async { // 销毁播放器实例 // await widget.controller!.dispose(type: 'all'); - if (mounted) { - Navigator.popUntil( - context, (Route route) => route.isFirst); - } + Get.until((route) => route.isFirst); }, )), if ((videoIntroController.videoDetail.value.title != null) && diff --git a/lib/plugin/pl_player/controller.dart b/lib/plugin/pl_player/controller.dart index 20b3cf88..65261750 100644 --- a/lib/plugin/pl_player/controller.dart +++ b/lib/plugin/pl_player/controller.dart @@ -904,7 +904,7 @@ class PlPlayerController { // Future.delayed(const Duration(milliseconds: 100), () { // getCurrentVolume(); - // if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: false) + // if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: true) // as bool) { // getCurrentBrightness(); // } @@ -1321,7 +1321,7 @@ class PlPlayerController { } _instance = null; // 关闭所有视频页面恢复亮度 - if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: false) + if (setting.get(SettingBoxKey.enableAutoBrightness, defaultValue: true) as bool) { resetBrightness(); }