fix decrease system brightness on android

Signed-off-by: dom <githubaccount56556@proton.me>
This commit is contained in:
dom
2026-05-01 20:13:04 +08:00
parent d27f5f315c
commit c4c5a75368
3 changed files with 43 additions and 26 deletions

View File

@@ -252,25 +252,27 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
Future.microtask(() async { Future.microtask(() async {
try { try {
_brightnessValue.value =
await ScreenBrightnessPlatform.instance.application;
void listener(double value) { void listener(double value) {
if (mounted) { if (mounted) {
_brightnessValue.value = value; _brightnessValue.value = value;
} }
} }
_brightnessListener = if (Platform.isIOS || plPlayerController.setSystemBrightness) {
Platform.isIOS || plPlayerController.setSystemBrightness _brightnessValue.value =
? ScreenBrightnessPlatform await ScreenBrightnessPlatform.instance.system;
.instance _brightnessListener = ScreenBrightnessPlatform
.onSystemScreenBrightnessChanged .instance
.listen(listener) .onSystemScreenBrightnessChanged
: ScreenBrightnessPlatform .listen(listener);
.instance } else {
.onApplicationScreenBrightnessChanged _brightnessValue.value =
.listen(listener); await ScreenBrightnessPlatform.instance.application;
_brightnessListener = ScreenBrightnessPlatform
.instance
.onApplicationScreenBrightnessChanged
.listen(listener);
}
} catch (_) {} } catch (_) {}
}); });
} }
@@ -1078,9 +1080,9 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
} else if (_gestureType == GestureType.left) { } else if (_gestureType == GestureType.left) {
// 左边区域 👈 // 左边区域 👈
final double level = maxHeight * 3; final double level = maxHeight * 3;
final double brightness = _brightnessValue.value - delta.dy / level; final double brightness = (_brightnessValue.value - delta.dy / level)
final double result = brightness.clamp(0.0, 1.0); .clamp(0.0, 1.0);
setBrightness(result); setBrightness(brightness);
} else if (_gestureType == GestureType.center) { } else if (_gestureType == GestureType.center) {
// 全屏 // 全屏
const double threshold = 2.5; // 滑动阈值 const double threshold = 2.5; // 滑动阈值
@@ -1126,6 +1128,11 @@ class _PLVideoPlayerState extends State<PLVideoPlayer>
} }
void _onInteractionEnd(ScaleEndDetails details) { void _onInteractionEnd(ScaleEndDetails details) {
if (Platform.isAndroid &&
_gestureType == .left &&
plPlayerController.setSystemBrightness) {
ScreenBrightnessPlatform.instance.restoreBrightnessMode();
}
if (plPlayerController.showSeekPreview) { if (plPlayerController.showSeekPreview) {
plPlayerController.showPreview.value = false; plPlayerController.showPreview.value = false;
} }

View File

@@ -1522,10 +1522,11 @@ packages:
screen_brightness_android: screen_brightness_android:
dependency: "direct overridden" dependency: "direct overridden"
description: description:
name: screen_brightness_android path: screen_brightness_android
sha256: d34f5321abd03bc3474f4c381f53d189117eba0b039eac1916aa92cca5fd0a96 ref: dev
url: "https://pub.dev" resolved-ref: "0696d1f3665511496bfeb842f02deada5cd57ff9"
source: hosted url: "https://github.com/bggRGjQaUbCoE/screen_brightness.git"
source: git
version: "2.1.3" version: "2.1.3"
screen_brightness_ios: screen_brightness_ios:
dependency: "direct overridden" dependency: "direct overridden"
@@ -1538,10 +1539,11 @@ packages:
screen_brightness_platform_interface: screen_brightness_platform_interface:
dependency: "direct main" dependency: "direct main"
description: description:
name: screen_brightness_platform_interface path: screen_brightness_platform_interface
sha256: "737bd47b57746bc4291cab1b8a5843ee881af499514881b0247ec77447ee769c" ref: dev
url: "https://pub.dev" resolved-ref: "0696d1f3665511496bfeb842f02deada5cd57ff9"
source: hosted url: "https://github.com/bggRGjQaUbCoE/screen_brightness.git"
source: git
version: "2.1.0" version: "2.1.0"
screen_retriever: screen_retriever:
dependency: "direct main" dependency: "direct main"

View File

@@ -254,8 +254,16 @@ dependencies:
dependency_overrides: dependency_overrides:
# screen_brightness: ^2.1. # screen_brightness: ^2.1.
screen_brightness_ios: ^2.1.2 screen_brightness_ios: ^2.1.2
screen_brightness_android: ^2.1.3 screen_brightness_android:
screen_brightness_platform_interface: ^2.1.0 git:
url: https://github.com/bggRGjQaUbCoE/screen_brightness.git
path: screen_brightness_android
ref: dev
screen_brightness_platform_interface:
git:
url: https://github.com/bggRGjQaUbCoE/screen_brightness.git
path: screen_brightness_platform_interface
ref: dev
path: ^1.9.1 path: ^1.9.1
mime: ^2.0.0 mime: ^2.0.0
rxdart: ^0.28.0 rxdart: ^0.28.0