Meshtastic-Android/core/proto
James Rich 536b1eba1c feat(map): replace Google Maps + OSMDroid with unified Mapbox SDK in feature:map/androidMain
Replace the dual flavor-specific map implementations (Google Maps in app/src/google,
OSMDroid in app/src/fdroid) with a single Mapbox Maps Compose SDK (v11.21.1)
implementation living in feature:map/androidMain.

- Add Mapbox Maven repo with MAPBOX_DOWNLOADS_TOKEN auth to settings.gradle.kts
- Add mapbox-maps-android, mapbox-maps-compose deps to feature/map/build.gradle.kts
- Remove Google Maps, osmdroid, osmbonuspack deps from app/build.gradle.kts and catalog
- Create unified MapScreen, MapViewModel, MapboxMapContent, GeoJsonConverters,
  EditWaypointDialog, InlineMap, NodeTrackMap, NodeMapScreen, TracerouteMap
- Wire all Local*Provider CompositionLocals in MainActivity to new implementations
- Delete ~8200 lines of flavor-specific map code across google/fdroid source sets
- Delete dead MapViewProvider interface from core:ui
- Keep LocalMapMainScreenProvider for KMP/Desktop compatibility boundary
- Fix FlavorModule.kt, KoinVerificationTest.kt for deleted modules
- Pass spotlessCheck + detekt with zero violations
2026-04-14 16:24:29 -05:00
..
src/main feat(map): replace Google Maps + OSMDroid with unified Mapbox SDK in feature:map/androidMain 2026-04-14 16:24:29 -05:00
build.gradle.kts feat: Implement iOS support and unify Compose Multiplatform infrastructure (#4876) 2026-03-21 23:19:13 +00:00
consumer-rules.pro feat(wire): migrate from protobuf -> wire (#4401) 2026-02-04 00:01:12 +00:00
README.md refactor: BLE transport and UI for Kotlin Multiplatform unification (#4911) 2026-03-25 02:15:51 +00:00

:core:proto

Overview

This module contains the generated Kotlin and Java code from the Meshtastic Protobuf definitions. It uses the Wire library for efficient and clean model generation.

Key Components

  • PortNum: Defines the identification for different types of data payloads.
  • MeshPacket: The core protocol message definition.
  • Protobuf Modules: Definitions for telemetry, position, administration, and more.

Usage

This module is a low-level dependency for any module that needs to encode or decode Meshtastic protocol data.

implementation(projects.core.proto)

Module dependency graph

graph TB
  :core:proto[proto]:::kmp-library

classDef android-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-application-compose fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef compose-desktop-application fill:#CAFFBF,stroke:#000,stroke-width:2px,color:#000;
classDef android-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef android-library fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-library-compose fill:#9BF6FF,stroke:#000,stroke-width:2px,color:#000;
classDef android-test fill:#A0C4FF,stroke:#000,stroke-width:2px,color:#000;
classDef jvm-library fill:#BDB2FF,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-feature fill:#FFD6A5,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library-compose fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef kmp-library fill:#FFC1CC,stroke:#000,stroke-width:2px,color:#000;
classDef unknown fill:#FFADAD,stroke:#000,stroke-width:2px,color:#000;