Files
crosspoint-reader-mod/chat-summaries/2026-02-21_00-00-summary.md
cottongin dfbc931c14 mod: Phase 1 - bring forward mod-exclusive files with ActivityManager migration
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
2026-03-07 15:10:00 -05:00

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 ActivityWithSubactivity with states: WIFI_SELECTION, SYNCING, SUCCESS, FAILED
  • src/activities/settings/NtpSyncActivity.cpp - Full implementation:
    • Launches WifiSelectionActivity with 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()

Modified Files

  • src/activities/settings/SettingsActivity.h - Added SyncClock to SettingAction enum
  • src/activities/settings/SettingsActivity.cpp - Added include, switch case handler, and action in rebuildClockActions()
  • lib/I18n/translations/*.yaml (all 9 files) - Added STR_SYNC_CLOCK and STR_TIME_SYNCED string 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