mirror of
https://github.com/kodjodevf/mangayomi.git
synced 2026-01-11 22:40:36 +00:00
+
This commit is contained in:
parent
9033f17de3
commit
d9bcdd726b
2 changed files with 35 additions and 27 deletions
|
|
@ -256,9 +256,11 @@ class _MangaChapterPageGalleryState
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
_processCropBorders();
|
||||
final backgroundColor = ref.watch(backgroundColorStateProvider);
|
||||
final cropBorders = ref.watch(cropBordersStateProvider);
|
||||
if (cropBorders) {
|
||||
_processCropBorders();
|
||||
}
|
||||
final usePageTapZones = ref.watch(usePageTapZonesStateProvider);
|
||||
final l10n = l10nLocalizations(context)!;
|
||||
return WillPopScope(
|
||||
|
|
@ -715,14 +717,17 @@ class _MangaChapterPageGalleryState
|
|||
|
||||
void _readProgressListener() {
|
||||
_currentIndex = _itemPositionsListener.itemPositions.value.first.index;
|
||||
_readerController.setPageIndex(
|
||||
_geCurrentIndex(_uChapDataPreload[_currentIndex!].index!), false);
|
||||
|
||||
int pagesLength = _pageMode == PageMode.doublePage
|
||||
? (_uChapDataPreload.length / 2).ceil() + 1
|
||||
: _uChapDataPreload.length;
|
||||
|
||||
if (_currentIndex! >= 0 && _currentIndex! < pagesLength) {
|
||||
if (_readerController.chapter.id !=
|
||||
_uChapDataPreload[_currentIndex!].chapter!.id) {
|
||||
_readerController.setPageIndex(
|
||||
_geCurrentIndex(_uChapDataPreload[_currentIndex! - 1].index!),
|
||||
false);
|
||||
if (mounted) {
|
||||
setState(() {
|
||||
_readerController = ref.read(readerControllerProvider(
|
||||
|
|
@ -735,30 +740,28 @@ class _MangaChapterPageGalleryState
|
|||
});
|
||||
}
|
||||
}
|
||||
if (_itemPositionsListener.itemPositions.value.last.index ==
|
||||
pagesLength - 1) {
|
||||
_isBookmarked = _readerController.getChapterBookmarked();
|
||||
try {
|
||||
bool hasNextChapter = _readerController.getChapterIndex().$1 != 0;
|
||||
|
||||
final chapter =
|
||||
hasNextChapter ? _readerController.getNextChapter() : null;
|
||||
if (chapter != null) {
|
||||
ref
|
||||
.watch(getChapterPagesProvider(
|
||||
chapter: chapter,
|
||||
).future)
|
||||
.then((value) => _preloadNextChapter(value, chapter));
|
||||
}
|
||||
} catch (_) {}
|
||||
}
|
||||
|
||||
ref.read(currentIndexProvider(chapter).notifier).setCurrentIndex(
|
||||
_uChapDataPreload[_currentIndex!].index!,
|
||||
);
|
||||
}
|
||||
if (_itemPositionsListener.itemPositions.value.last.index ==
|
||||
pagesLength - 1) {
|
||||
_isBookmarked = _readerController.getChapterBookmarked();
|
||||
try {
|
||||
bool hasNextChapter = _readerController.getChapterIndex().$1 != 0;
|
||||
|
||||
final chapter =
|
||||
hasNextChapter ? _readerController.getNextChapter() : null;
|
||||
if (chapter != null) {
|
||||
ref
|
||||
.watch(getChapterPagesProvider(
|
||||
chapter: chapter,
|
||||
).future)
|
||||
.then((value) {
|
||||
_preloadNextChapter(value, chapter);
|
||||
});
|
||||
}
|
||||
} catch (_) {}
|
||||
}
|
||||
}
|
||||
|
||||
void _preloadNextChapter(GetChapterPagesModel chapterData, Chapter chap) {
|
||||
|
|
@ -840,14 +843,19 @@ class _MangaChapterPageGalleryState
|
|||
}
|
||||
|
||||
void _onPageChanged(int index) {
|
||||
_processCropBordersByIndex(index);
|
||||
final cropBorders = ref.watch(cropBordersStateProvider);
|
||||
if (cropBorders) {
|
||||
_processCropBordersByIndex(index);
|
||||
}
|
||||
|
||||
for (var i = 1; i < pagePreloadAmount + 1; i++) {
|
||||
_precacheImages(index + i);
|
||||
_precacheImages(index - i);
|
||||
}
|
||||
_readerController.setPageIndex(
|
||||
_geCurrentIndex(_uChapDataPreload[_currentIndex!].index!), false);
|
||||
|
||||
if (_readerController.chapter.id != _uChapDataPreload[index].chapter!.id) {
|
||||
_readerController.setPageIndex(
|
||||
_geCurrentIndex(_uChapDataPreload[_currentIndex!].index!), false);
|
||||
if (mounted) {
|
||||
setState(() {
|
||||
_readerController = ref.read(readerControllerProvider(
|
||||
|
|
|
|||
|
|
@ -1115,10 +1115,10 @@ packages:
|
|||
dependency: "direct main"
|
||||
description:
|
||||
name: rinf
|
||||
sha256: "8f8e35995e024ea3c5693c4de0c20efb6bad3f37ac5fe510f3c41096e2549672"
|
||||
sha256: a76b3d53b9cf740ccff0e8edffc465b0fb81bcad090b83d8d1486dd70aadbd6a
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.19.0"
|
||||
version: "4.20.0"
|
||||
riverpod:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
|
|
|||
Loading…
Reference in a new issue