diff --git a/lib/pages/video/detail/view.dart b/lib/pages/video/detail/view.dart index f88bb237..34ae1977 100644 --- a/lib/pages/video/detail/view.dart +++ b/lib/pages/video/detail/view.dart @@ -898,8 +898,8 @@ class _VideoDetailPageState extends State ? null : Obx( () => PlDanmaku( - key: Key(videoDetailController.danmakuCid.value - .toString()), + // key: Key(videoDetailController.danmakuCid.value + // .toString()), cid: videoDetailController.danmakuCid.value, playerController: plPlayerController!, ), @@ -998,8 +998,8 @@ class _VideoDetailPageState extends State headerControl: videoDetailController.headerControl, danmuWidget: Obx( () => PlDanmaku( - key: Key(videoDetailController.danmakuCid.value - .toString()), + // key: Key(videoDetailController.danmakuCid.value + // .toString()), cid: videoDetailController.danmakuCid.value, playerController: plPlayerController!, ), diff --git a/lib/pages/video/detail/widgets/header_control.dart b/lib/pages/video/detail/widgets/header_control.dart index c55dac19..e8e7447a 100644 --- a/lib/pages/video/detail/widgets/header_control.dart +++ b/lib/pages/video/detail/widgets/header_control.dart @@ -56,21 +56,23 @@ class _HeaderControlState extends State { final Box localCache = GStorage.localCache; final Box videoStorage = GStorage.video; double buttonSpace = 8; - bool isFullScreen = false; + // bool isFullScreen = false; late String heroTag; late VideoIntroController videoIntroController; late VideoDetailData videoDetail; - late StreamSubscription fullScreenStatusListener; + // late StreamSubscription fullScreenStatusListener; late bool horizontalScreen; RxString now = ''.obs; late Timer clock; late String defaultCDNService; + bool get isFullScreen => widget.controller!.isFullScreen.value; + @override void initState() { super.initState(); videoInfo = widget.videoDetailCtr!.data; - listenFullScreenStatus(); + // listenFullScreenStatus(); heroTag = widget.heroTag; // if (Get.arguments != null && Get.arguments['heroTag'] != null) { // heroTag = Get.arguments['heroTag']; @@ -83,23 +85,23 @@ class _HeaderControlState extends State { startClock(); } - void listenFullScreenStatus() { - fullScreenStatusListener = widget - .videoDetailCtr!.plPlayerController.isFullScreen - .listen((bool status) { - isFullScreen = status; + // void listenFullScreenStatus() { + // fullScreenStatusListener = widget + // .videoDetailCtr!.plPlayerController.isFullScreen + // .listen((bool status) { + // isFullScreen = status; - /// TODO setState() called after dispose() - if (mounted) { - setState(() {}); - } - }); - } + // /// TODO setState() called after dispose() + // if (mounted) { + // setState(() {}); + // } + // }); + // } @override void dispose() { widget.floating?.dispose(); - fullScreenStatusListener.cancel(); + // fullScreenStatusListener.cancel(); clock.cancel(); super.dispose(); } @@ -1318,6 +1320,7 @@ class _HeaderControlState extends State { final _ = widget.controller!; // final bool isLandscape = // MediaQuery.of(context).orientation == Orientation.landscape; + bool equivalentFullScreen = !isFullScreen && !horizontalScreen && MediaQuery.of(context).orientation == Orientation.landscape; @@ -1344,7 +1347,7 @@ class _HeaderControlState extends State { color: Colors.white, ), onPressed: () { - if (widget.controller!.isFullScreen.value) { + if (isFullScreen) { widget.controller!.triggerFullScreen(status: false); } else if (MediaQuery.of(context).orientation == Orientation.landscape &&