Commit Graph
2 Commits
Author SHA1 Message Date
JMR-dev 2ffd237ddd cleanup after DI graph rewrite 2026-06-03 17:27:58 -05:00
JMR-devandClaude Opus 4.8 6523b570c2 Split TrayIconService into interop, renderer, and orchestration
The 660-line tray service mixed three concerns. Split into:
- TrayIconInterop: all P/Invoke declarations, interop structs, and the
  subclass delegate (consumers use 'using static'), so the Win32 surface is
  isolated and reviewable.
- SensorIconRenderer: the GDI drawing of the 16x16 per-sensor value icon.
- TrayIconService: slimmed to tray orchestration (icon lifecycle, context
  menus, callback routing) at ~340 lines.

Also dedupes the per-sensor settings-key helper onto
SensorSelectionService.GetSensorSettingName. Pure relocation; behavior is
unchanged. Verified by clean build, 199 tests, and an app smoke-run.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 11:14:11 -05:00