diff --git a/src/activities/reader/TxtReaderActivity.cpp b/src/activities/reader/TxtReaderActivity.cpp index e830d35d..e57e3485 100644 --- a/src/activities/reader/TxtReaderActivity.cpp +++ b/src/activities/reader/TxtReaderActivity.cpp @@ -917,15 +917,22 @@ void TxtReaderActivity::onButtonAction(const CrossPointSettings::BUTTON_ACTION a } break; case BA::BTN_PAGE_FORWARD_10: + const int prevPage = currentPage; currentPage += 10; clampPage(); - globalReadingSessionTracker().onPageTurn(); + if (currentPage != prevPage) { + globalReadingSessionTracker().onPageTurn(); + } requestUpdate(); break; case BA::BTN_PAGE_BACK_10: + const int prevPage = currentPage; currentPage -= 10; clampPage(); - globalReadingSessionTracker().onPageTurn(); + if (currentPage != prevPage) { + globalReadingSessionTracker().onPageTurn(); + } + requestUpdate(); break; case BA::BTN_STAR_PAGE: diff --git a/src/activities/reader/XtcReaderActivity.cpp b/src/activities/reader/XtcReaderActivity.cpp index f9d36c66..e94eb8dd 100644 --- a/src/activities/reader/XtcReaderActivity.cpp +++ b/src/activities/reader/XtcReaderActivity.cpp @@ -535,13 +535,19 @@ void XtcReaderActivity::onButtonAction(const CrossPointSettings::BUTTON_ACTION a } break; case BA::BTN_PAGE_FORWARD_10: + const uint32_t prevPage = currentPage; currentPage = (currentPage + 10 < pageCount) ? currentPage + 10 : pageCount - 1; - globalReadingSessionTracker().onPageTurn(); + if (currentPage != prevPage) { + globalReadingSessionTracker().onPageTurn(); + } requestUpdate(); break; case BA::BTN_PAGE_BACK_10: + const uint32_t prevPage = currentPage; currentPage = (currentPage >= 10) ? currentPage - 10 : 0; - globalReadingSessionTracker().onPageTurn(); + if (currentPage != prevPage) { + globalReadingSessionTracker().onPageTurn(); + } requestUpdate(); break; case BA::BTN_NEXT_SECTION: