feat: holding back button while booting, boots to home screen as a mean of escaping boot loop (#587)
## Summary * **What is the goal of this PR?** (e.g., Implements the new feature for file uploading.) - Allows back button to be held to escape boot loops when reader activity crashes and device attempts to boot to previous state - Reduces the need of removing SD card and access to another device to delete the `/.crosspoint/state.bin` * **What changes are included?** - Back button can be held while booting to boot to home screen - Update of User Guide section to include this feature ## Additional Context * Add any other information that might be helpful for the reviewer (e.g., performance implications, potential risks, specific areas to focus on). --- ### AI Usage While CrossPoint doesn't have restrictions on AI tools in contributing, please be transparent about their usage as it helps set the right context for reviewers. Did you use AI tools to help write this code? _**NO**_ --------- Co-authored-by: Arthur Tazhitdinov <lisnake@gmail.com>
This commit is contained in:
@@ -331,12 +331,15 @@ void setup() {
|
||||
APP_STATE.loadFromFile();
|
||||
RECENT_BOOKS.loadFromFile();
|
||||
|
||||
if (APP_STATE.openEpubPath.empty()) {
|
||||
// Boot to home screen directly when back button is held or when reader activity crashes 3 times
|
||||
if (APP_STATE.openEpubPath.empty() || mappedInputManager.isPressed(MappedInputManager::Button::Back) ||
|
||||
APP_STATE.readerActivityLoadCount > 0) {
|
||||
onGoHome();
|
||||
} else {
|
||||
// Clear app state to avoid getting into a boot loop if the epub doesn't load
|
||||
const auto path = APP_STATE.openEpubPath;
|
||||
APP_STATE.openEpubPath = "";
|
||||
APP_STATE.readerActivityLoadCount++;
|
||||
APP_STATE.saveToFile();
|
||||
onGoToReader(path);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user