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

28 lines
1.2 KiB
Markdown

# 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