fix: resolve three reader bugs (confirm eaten, footnotes menu, phantom render)

1. Clear ignoreNextConfirmRelease after transferring state to child
   activity, so the next Confirm press isn't silently consumed.
2. Add conditional FOOTNOTES entry to reader menu when the current
   book has footnotes.
3. Guard clock-minute requestUpdate() with !isReaderActivity() to
   prevent full e-ink re-renders every minute while reading.

Made-with: Cursor
This commit is contained in:
cottongin
2026-03-08 05:56:10 -04:00
parent 1b628a9223
commit 422cad7bc5
3 changed files with 5 additions and 1 deletions

View File

@@ -447,6 +447,7 @@ void EpubReaderActivity::onReaderMenuConfirm(EpubReaderMenuActivity::MenuAction
: epub->getTocIndexForSpineIndex(currentSpineIndex);
const std::string path = epub->getPath();
const bool consumeRelease = ignoreNextConfirmRelease;
ignoreNextConfirmRelease = false;
startActivityForResult(
std::make_unique<EpubReaderChapterSelectionActivity>(renderer, mappedInput, epub, path, spineIdx, tocIdx,
consumeRelease),

View File

@@ -39,6 +39,9 @@ std::vector<EpubReaderMenuActivity::MenuItem> EpubReaderMenuActivity::buildMenuI
items.push_back({MenuAction::ADD_BOOKMARK, StrId::STR_ADD_BOOKMARK});
}
items.push_back({MenuAction::DICTIONARY, StrId::STR_DICTIONARY});
if (hasFootnotes) {
items.push_back({MenuAction::FOOTNOTES, StrId::STR_FOOTNOTES});
}
items.push_back({MenuAction::TOGGLE_ORIENTATION, StrId::STR_TOGGLE_ORIENTATION});
items.push_back({MenuAction::TOGGLE_FONT_SIZE, StrId::STR_TOGGLE_FONT_SIZE});
items.push_back({MenuAction::LETTERBOX_FILL, StrId::STR_OVERRIDE_LETTERBOX_FILL});