From a6fda8669c2942713d111ed142c6d55c65cf63a1 Mon Sep 17 00:00:00 2001 From: niuhuan Date: Thu, 2 Dec 2021 09:22:04 +0800 Subject: [PATCH] fix always listen volume key --- lib/screens/ComicReaderScreen.dart | 2 -- lib/screens/DownloadReaderScreen.dart | 2 -- lib/screens/components/ImageReader.dart | 11 +++++++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/screens/ComicReaderScreen.dart b/lib/screens/ComicReaderScreen.dart index cb40321..2233abc 100644 --- a/lib/screens/ComicReaderScreen.dart +++ b/lib/screens/ComicReaderScreen.dart @@ -134,7 +134,6 @@ class _ComicReaderScreenState extends State { }); // INIT _future = _load(); - addVolumeListen(); super.initState(); } @@ -143,7 +142,6 @@ class _ComicReaderScreenState extends State { if (!_replacement) { switchFullScreenUI(); } - delVolumeListen(); super.dispose(); } diff --git a/lib/screens/DownloadReaderScreen.dart b/lib/screens/DownloadReaderScreen.dart index 2aea438..7362b3c 100644 --- a/lib/screens/DownloadReaderScreen.dart +++ b/lib/screens/DownloadReaderScreen.dart @@ -127,7 +127,6 @@ class _DownloadReaderScreenState extends State { }); // INIT _future = _load(); - addVolumeListen(); super.initState(); } @@ -136,7 +135,6 @@ class _DownloadReaderScreenState extends State { if (!_replacement) { switchFullScreenUI(); } - delVolumeListen(); super.dispose(); } diff --git a/lib/screens/components/ImageReader.dart b/lib/screens/components/ImageReader.dart index 87a6e53..51ffc09 100644 --- a/lib/screens/components/ImageReader.dart +++ b/lib/screens/components/ImageReader.dart @@ -16,6 +16,7 @@ import 'package:pikapika/basic/config/KeyboardController.dart'; import 'package:pikapika/basic/config/NoAnimation.dart'; import 'package:pikapika/basic/config/ReaderDirection.dart'; import 'package:pikapika/basic/config/ReaderType.dart'; +import 'package:pikapika/basic/config/VolumeController.dart'; import 'package:pikapika/basic/const.dart'; import 'package:scrollable_positioned_list/scrollable_positioned_list.dart'; import '../FilePhotoViewScreen.dart'; @@ -167,16 +168,25 @@ abstract class _ImageReaderState extends State { // 键盘, 音量键 等事件 void _needJumpTo(int index, bool animation); + late bool _listVolume; + @override void initState() { _initCurrent(); _readerControllerEvent.subscribe(_onPageControl); + _listVolume = volumeController; + if (_listVolume) { + addVolumeListen(); + } super.initState(); } @override void dispose() { _readerControllerEvent.unsubscribe(_onPageControl); + if (_listVolume) { + delVolumeListen(); + } super.dispose(); } @@ -790,6 +800,7 @@ class _GalleryReaderState extends _ImageReaderState { @override void initState() { super.initState(); + // 需要先初始化 super._startIndex 才能使用, 所以在上面 _pageController = PageController(initialPage: super._startIndex); }