Skip to content

tbi: update documentation - #43

Merged
fionan313 merged 5 commits into
mainfrom
Updates
Apr 28, 2026
Merged

tbi: update documentation#43
fionan313 merged 5 commits into
mainfrom
Updates

Conversation

@fionan313

Copy link
Copy Markdown
Owner

No description provided.

- Update Android Gradle Plugin (AGP) version from 9.1.0 to 9.1.1 in `gradle/libs.versions.toml`
- Add a comprehensive `IMPORT_LAYOUT_TABLE` to `.idea/codeStyles/Project.xml` to standardize Java import ordering, grouping static imports first followed by specific package hierarchies (android, androidx, com, etc.)
…nd domain layers

- Add detailed KDoc comments to core mesh components including `MeshRoutingEngine`, `MeshMessageSerialiser`, and `LocationMessageSerialiser` to document binary wire formats and routing logic
- Document repository interfaces and implementations (`DeviceRepository`, `LocationRepository`, `MessageRepository`) to clarify BLE discovery, GATT pairing, and location caching lifecycles
- Enhance `MessageViewModel` and `CompassViewModel` with technical explanations of transport selection (BLE vs. Wi-Fi Direct) and sensor fusion for heading estimation
- Add descriptive comments to Room DAOs and Entities explaining the store-and-forward relay queue and message deduplication via `SeenMessageCache`
- Update `MeshNotificationManager` and `MeshService` documentation to cover SOS alert behavior and foreground service persistence
- Refine code formatting and add inline comments across the P2P and BLE subsystems for better maintainability
…finements

- Add detailed KDoc to core BLE classes (`BleScanner`, `BleAdvertiser`, `RelayNodeConnection`) explaining the sequential GATT connection queue, RSSI smoothing, and exponential backoff logic
- Enhance `PairingViewModel` and `PairingScreen` with a robust two-phase QR handshake, supporting AES-256-GCM shared key exchange and incoming request dialogues
- Implement a centralized `DeviceRepositoryImpl` to coordinate mesh routing, encryption/decryption (via Google Tink), and SOS alert broadcasting
- Update `MapScreen` with offline raster tile caching using MapLibre, deterministic friend pin coloring, and rotating heading arrows
- Refine `SosAlertScreen` and `SosViewModel` to support distance estimation based on mesh-reported coordinates and local GPS fixes
- Expand `SettingsScreen` with privacy controls, LoRa relay node integration, and destructive data management actions
- Improve `MainActivity` and `NavGraph` to handle notification deep links for chat and SOS alerts seamlessly
- Standardize UI components and view models for onboarding, discovery, and profile management for better consistency and maintainability
- Implement `confirmationTimeoutJob` in `PairingViewModel` to properly manage and cancel the 20-second handshake timeout
- Prevent configuration changes (like screen rotation) from wiping pairing session state by adding state checks to `generateQRCode`
- Improve `acceptPairingRequest` logic to prioritize the key from the incoming request and ensure BLE discovery is active before sending acceptance
- Update `DeviceRepositoryImpl` to explicitly start scanning and increase retry delays when sending pairing acceptances to improve peer discovery success rates
- Refine `PairingScreen` to skip QR code regeneration if a pairing handshake is already in progress
@fionan313
fionan313 merged commit 6a5262a into main Apr 28, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant