From 0e3c3daa745654be5b22584045c3cc1ad21ad8f8 Mon Sep 17 00:00:00 2001 From: jpirnay Date: Sat, 28 Mar 2026 16:19:21 +0100 Subject: [PATCH] Auto close on upload success after 3sec --- src/activities/reader/KOReaderSyncActivity.cpp | 8 ++++++++ src/activities/reader/KOReaderSyncActivity.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/src/activities/reader/KOReaderSyncActivity.cpp b/src/activities/reader/KOReaderSyncActivity.cpp index cff9e41a..46944278 100644 --- a/src/activities/reader/KOReaderSyncActivity.cpp +++ b/src/activities/reader/KOReaderSyncActivity.cpp @@ -201,6 +201,7 @@ void KOReaderSyncActivity::performUpload() { { RenderLock lock(*this); state = UPLOAD_COMPLETE; + uploadCompleteTime = millis(); } requestUpdate(true); } @@ -350,6 +351,13 @@ void KOReaderSyncActivity::render(RenderLock&&) { void KOReaderSyncActivity::loop() { if (state == NO_CREDENTIALS || state == SYNC_FAILED || state == UPLOAD_COMPLETE) { + if (state == UPLOAD_COMPLETE && millis() - uploadCompleteTime >= 3000) { + ActivityResult result; + result.isCancelled = true; + setResult(std::move(result)); + finish(); + return; + } if (mappedInput.wasReleased(MappedInputManager::Button::Back)) { ActivityResult result; result.isCancelled = true; diff --git a/src/activities/reader/KOReaderSyncActivity.h b/src/activities/reader/KOReaderSyncActivity.h index 1cdd8477..d0276444 100644 --- a/src/activities/reader/KOReaderSyncActivity.h +++ b/src/activities/reader/KOReaderSyncActivity.h @@ -78,6 +78,9 @@ class KOReaderSyncActivity final : public Activity { // Selection in result screen (0=Apply, 1=Upload) int selectedOption = 0; + // Timestamp when UPLOAD_COMPLETE state was entered (for auto-close) + unsigned long uploadCompleteTime = 0; + void onWifiSelectionComplete(bool success); void performSync(); void performUpload();