mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
2.6 KiB
2.6 KiB
Implementation Plan: Desktop BLE Enablement via Kable
Phase 1: Define MeshtasticRadioProfile Abstraction [checkpoint: 1206e87]
- Task: Define
MeshtasticRadioProfileinterface incore:ble/commonMaineaa623a- Write tests for expected profile behavior (e.g., state flow emission) using a simple fake
- Implement
MeshtasticRadioProfileinterface, data classes for states, and configuration
- Task: Conductor - User Manual Verification 'Phase 1: Define
MeshtasticRadioProfileAbstraction' (Protocol in workflow.md) 1206e87
Phase 2: Refactor Nordic Implementation to use Abstraction [checkpoint: dc700a5]
- Task: Implement
MeshtasticRadioProfilein the existing Nordic implementation (androidMain) 83a8a9b- Write/adapt existing Android tests to verify
MeshtasticRadioProfileadherence - Implement wrapper/adapter for Nordic classes to fulfill
MeshtasticRadioProfile
- Write/adapt existing Android tests to verify
- Task: Decouple app-level BLE transport from Nordic types 2dfedde
- Write tests to ensure BLE transport only relies on
MeshtasticRadioProfile - Refactor transport layer (e.g.,
NordicBleInterfaceusages) to use the new profile interface
- Write tests to ensure BLE transport only relies on
- Task: Conductor - User Manual Verification 'Phase 2: Refactor Nordic Implementation to use Abstraction' (Protocol in workflow.md) dc700a5
Phase 3: Implement Kable Backend for Desktop [checkpoint: ed2a459]
- Task: Setup Kable dependencies for
jvmMainincore:bleb152eff- Update
build.gradle.ktsto include Kable dependency for Desktop
- Update
- Task: Implement Kable
MeshtasticRadioProfilebackend (jvmMain) fa5cc82- Write
commonMainunit tests with Kable fakes to verify scanning, connection, and read/write operations - Implement Kable scanning logic
- Implement Kable connection and characteristic management
- Implement Kable read/write data transfer logic
- Write
- Task: Conductor - User Manual Verification 'Phase 3: Implement Kable Backend for Desktop' (Protocol in workflow.md) ed2a459
Phase 4: Integration and Final Testing [checkpoint: af6d3b3]
- Task: Integrate Kable backend into Desktop app DI graph 28afcad
- Wire up the Kable implementation in
desktopmodule DI
- Wire up the Kable implementation in
- Task: End-to-end verification 84aae75
- Verify Android app still compiles and connects using Nordic
- Verify Desktop app compiles and connects using Kable
- Task: Conductor - User Manual Verification 'Phase 4: Integration and Final Testing' (Protocol in workflow.md) af6d3b3
Phase: Review Fixes
- Task: Apply review suggestions b36da82