Brings ~55 mod-exclusive files to the upstream-based mod/master-resync branch: Activities (migrated to new ActivityManager pattern): - Clock/Time: SetTimeActivity, SetTimezoneOffsetActivity, NtpSyncActivity - Dictionary: DictionaryDefinitionActivity, DictionarySuggestionsActivity, DictionaryWordSelectActivity, LookedUpWordsActivity - Bookmark: EpubReaderBookmarkSelectionActivity - Book management: BookManageMenuActivity, EndOfBookMenuActivity - OPDS: OpdsServerListActivity, OpdsSettingsActivity - Utility: DirectoryPickerActivity, NumericStepperActivity Utilities (unchanged): - BookManager, BookSettings, BookmarkStore, BootNtpSync - Dictionary, LookupHistory, TimeSync, OpdsServerStore Libraries: PlaceholderCover, TableData, ChapterXPathIndexer Scripts: inject_mod_version, generate_book_icon, preview_placeholder_cover Docs: KOReader sync XPath mapping Migration changes: - ActivityWithSubactivity -> Activity base class - Callback constructors -> finish()/setResult() pattern - enterNewActivity() -> startActivityForResult() - Activity::RenderLock&& -> RenderLock&& These files won't compile yet - they reference mod settings and I18n strings that will be added in subsequent phases. Made-with: Cursor
1.2 KiB
1.2 KiB
NTP Sync Clock Feature
Task
Add a "Sync Clock" action to the Clock settings category that connects to WiFi and performs NTP time synchronization.
Changes Made
New Files
- src/activities/settings/NtpSyncActivity.h - Activity class extending
ActivityWithSubactivitywith states: WIFI_SELECTION, SYNCING, SUCCESS, FAILED - src/activities/settings/NtpSyncActivity.cpp - Full implementation:
- Launches
WifiSelectionActivitywith auto-connect enabled - On WiFi connect: blocking
waitForNtpSync(8000ms) - Shows synced time on success; auto-dismisses after 5 seconds
- Failed state requires manual Back press
- Clean WiFi teardown in
onExit()
- Launches
Modified Files
- src/activities/settings/SettingsActivity.h - Added
SyncClocktoSettingActionenum - src/activities/settings/SettingsActivity.cpp - Added include, switch case handler, and action in
rebuildClockActions() - lib/I18n/translations/*.yaml (all 9 files) - Added
STR_SYNC_CLOCKandSTR_TIME_SYNCEDstring keys - lib/I18n/I18nKeys.h, I18nStrings.h, I18nStrings.cpp - Regenerated from YAML
Build Result
SUCCESS - RAM: 32.7%, Flash: 70.7%
Follow-up Items
- Non-English translations use English fallback values; translators can update later