Meshtastic-Android/conductor/archive/extract_viewmodels_20260316/plan.md

1.7 KiB

Implementation Plan: Extract Remaining App-Only ViewModels

Phase 1: Infrastructure & Abstractions [checkpoint: 89c6fd5]

  • Task: Implement MeshtasticUri (expect/actual wrapper for android.net.Uri) in core:common. 81e5a4a
  • Task: Define FileService and LocationService interfaces in core:repository/commonMain. 1ffa7d2
  • Task: Create Android implementations for these services in core:service/androidMain. 1ffa7d2
  • Task: Conductor - User Manual Verification 'Phase 1: Infrastructure & Abstractions' (Protocol in workflow.md) 89c6fd5

Phase 2: Feature Module Extractions (Settings & Node) [checkpoint: 3ea2b2a]

  • Task: Extract AndroidSettingsViewModel & AndroidRadioConfigViewModel to feature:settings/commonMain. 091452a
  • Task: Extract AndroidMetricsViewModel to feature:node/commonMain. 52c2f6e
  • Task: Extract AndroidDebugViewModel to feature:settings/commonMain. e1a0387
  • Task: Update Koin modules in feature:settings and feature:node to wire the new shared ViewModels. (Handled automatically by Koin Annotations K2 plugin) e1a0387
  • Task: Conductor - User Manual Verification 'Phase 2: Feature Module Extractions' (Protocol in workflow.md) 3ea2b2a

Phase 3: Core UI & Cleanup [checkpoint: c59243d]

  • Task: Extract UIViewModel logic to core:ui/commonMain. 3ea2b2a
  • Task: Verify the app module thinning progress and finalize any remaining DI cleanup in AppKoinModule. 3ea2b2a
  • Task: Ensure all new shared ViewModels have baseline commonTest coverage using core:testing fakes. fdf34f5
  • Task: Conductor - User Manual Verification 'Phase 3: Core UI & Cleanup' (Protocol in workflow.md) c59243d