diff --git a/lib/modules/manga/reader/providers/reader_controller_provider.dart b/lib/modules/manga/reader/providers/reader_controller_provider.dart index 8b116bfc..63fdb7d0 100644 --- a/lib/modules/manga/reader/providers/reader_controller_provider.dart +++ b/lib/modules/manga/reader/providers/reader_controller_provider.dart @@ -214,25 +214,27 @@ class ReaderController { } void setPageIndex(int newIndex) { - if (!incognitoMode) { - List? chapterPageIndexs = []; - for (var chapterPageIndex - in getIsarSetting().chapterPageIndexList ?? []) { - if (chapterPageIndex.chapterId != chapter.id) { - chapterPageIndexs.add(chapterPageIndex); + if (!chapter.isRead!) { + if (!incognitoMode) { + List? chapterPageIndexs = []; + for (var chapterPageIndex + in getIsarSetting().chapterPageIndexList ?? []) { + if (chapterPageIndex.chapterId != chapter.id) { + chapterPageIndexs.add(chapterPageIndex); + } } + chapterPageIndexs.add(ChapterPageIndex() + ..chapterId = chapter.id + ..index = newIndex); + final chap = chapter; + isar.writeTxnSync(() { + isar.settings.putSync( + getIsarSetting()..chapterPageIndexList = chapterPageIndexs); + chap.isRead = (newIndex + 1) == getPageLength([]); + chap.lastPageRead = (newIndex + 1).toString(); + isar.chapters.putSync(chap); + }); } - chapterPageIndexs.add(ChapterPageIndex() - ..chapterId = chapter.id - ..index = newIndex); - final chap = chapter; - isar.writeTxnSync(() { - isar.settings.putSync( - getIsarSetting()..chapterPageIndexList = chapterPageIndexs); - chap.isRead = (newIndex + 1) == getPageLength([]); - chap.lastPageRead = (newIndex + 1).toString(); - isar.chapters.putSync(chap); - }); } } diff --git a/lib/modules/manga/reader/reader_view.dart b/lib/modules/manga/reader/reader_view.dart index b4296978..2a5e0e50 100644 --- a/lib/modules/manga/reader/reader_view.dart +++ b/lib/modules/manga/reader/reader_view.dart @@ -1175,6 +1175,9 @@ class _MangaChapterPageGalleryState child: NotificationListener( onNotification: (notification) { if (notification.direction == ScrollDirection.idle) { + if (_isView) { + _isViewFunction(); + } _readerController.setMangaHistoryUpdate(); _readerController .setPageIndex(_uChapDataPreload[_currentIndex!].index!); diff --git a/pubspec.lock b/pubspec.lock index bef0e04c..c020eb7c 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -60,11 +60,10 @@ packages: background_downloader: dependency: "direct main" description: - path: "." - ref: dev - resolved-ref: "691b38d2ecc9ae76ca1ab3a05f16cb59062f3e5a" - url: "https://github.com/781flyingdutchman/background_downloader.git" - source: git + name: background_downloader + sha256: "3a2ddf08eeaa20723b5ddbb6a85c2568a9ba641e34cae5fc6a0300808a28581e" + url: "https://pub.dev" + source: hosted version: "7.9.2" boolean_selector: dependency: transitive diff --git a/pubspec.yaml b/pubspec.yaml index 73ce0e9f..8decc4a6 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -30,10 +30,7 @@ dependencies: google_fonts: ^5.1.0 url_launcher: ^6.1.12 package_info_plus: ^4.1.0 - background_downloader: - git: - url: https://github.com/781flyingdutchman/background_downloader.git - ref: dev + background_downloader: ^7.9.2 permission_handler: ^10.4.3 flutter_inappwebview: ^5.7.2+3 draggable_menu: ^4.1.3