Matthew Raymer
|
1dca99ad17
|
feat(ios): Extract orchestration helpers to ScheduleHelper
Extract iOS orchestration logic from plugin to dedicated helper,
matching Android's ScheduleHelper.kt pattern. This completes the
P2.1 native plugin refactoring for both platforms.
Changes:
- Created DailyNotificationScheduleHelper.swift (192 lines)
- scheduleDailyNotification(): Full orchestration (cancel, clear, save, schedule, prefetch)
- scheduleDualNotification(): Dual scheduling coordination
- clearRolloverState(): Rollover state cleanup helper
- getHealthStatus(): Status combination from multiple sources
- Refactored DailyNotificationPlugin.swift to delegate to helper
- Reduced plugin by 236 lines (1854 → 1807 LOC)
- Total iOS reduction: 11.7% (2047 → 1807 LOC)
- Updated documentation
- docs/progress/00-STATUS.md: Marked verification complete, added helper extraction
- docs/progress/01-CHANGELOG-WORK.md: Added iOS helper extraction entry
- docs/progress/P2.1-REFACTORING-COMPLETE.md: Updated with helper extraction
- docs/00-INDEX.md: Added reference to refactoring summary
Verification:
- TypeScript typecheck: PASS
- Build: PASS
- Tests: PASS (115 tests, 8 test suites)
- External API behavior unchanged
Files changed:
- ios/Plugin/DailyNotificationScheduleHelper.swift (new, 192 lines)
- ios/Plugin/DailyNotificationPlugin.swift (198 insertions, 434 deletions)
- docs/progress/00-STATUS.md (verification status updated)
- docs/progress/01-CHANGELOG-WORK.md (changelog entry added)
- docs/00-INDEX.md (index reference added)
Related:
- Completes P2.1 iOS refactoring (27 methods across 3 batches)
- Matches Android ScheduleHelper.kt pattern
- Total P2.1: 55 methods refactored (28 Android + 27 iOS)
|
2025-12-24 06:35:03 +00:00 |
|