fix: 在2秒内切换全屏时,未取消定时旋转

This commit is contained in:
orz12
2024-09-08 21:22:23 +08:00
committed by bggRGjQaUbCoE
parent 75d30398ef
commit be8b301473
2 changed files with 10 additions and 1 deletions

View File

@@ -1169,6 +1169,7 @@ class PlPlayerController {
// 全屏
Future<void> triggerFullScreen({bool status = true}) async {
stopScreenTimer();
FullScreenMode mode = FullScreenModeCode.fromCode(
setting.get(SettingBoxKey.fullScreenMode, defaultValue: 0))!;
bool removeSafeArea = setting.get(SettingBoxKey.videoPlayerRemoveSafeArea,

View File

@@ -1,3 +1,4 @@
import 'dart:async';
import 'dart:io';
import 'package:device_info_plus/device_info_plus.dart';
@@ -7,6 +8,12 @@ import 'package:flutter/services.dart';
import '../../../utils/storage.dart';
Timer? screenTimer;
void stopScreenTimer() {
screenTimer?.cancel();
screenTimer = null;
}
//横屏
Future<void> landScape() async {
dynamic document;
@@ -32,8 +39,9 @@ Future<void> verticalScreenForTwoSeconds() async {
await SystemChrome.setPreferredOrientations([
DeviceOrientation.portraitUp,
]);
Future.delayed(const Duration(seconds: 2), () {
screenTimer = Timer(const Duration(seconds: 2), () {
autoScreen();
screenTimer = null;
});
}