Android application for Meshtastic
Find a file
James Rich a28dc377ae
fix: Handle node public key mismatch and show warning (#1720)
* Handle node public key mismatch and show warning

- Add a mismatchKey flag to Node and MessageTopBar to indicate a public key mismatch.
- Set the public key to a default error value (all zeros) when a node's public key changes.
- Display a warning in the MessageTopBar when a key mismatch is detected in PKC.
- Only clear all nodes when a different mynode number is present.

* feat: Add key mismatch detection to NodeInfoDao

This commit introduces a new feature to the `NodeInfoDao` that detects and handles public key mismatches for existing nodes.

-   A new function `upsertCheckKeyMatch` is added to `NodeInfoDao` that checks for public key changes when upserting a node. If a mismatch is detected, the public key is set to `ERROR_BYTE_STRING`, and a warning is logged.
- The function `upsertCheckKeyMatch` is used instead of `upsert` in `NodeRepository` and in `putAll` inside of `NodeInfoDao`.
-   A new test `testPkcMismatch` is added to `NodeInfoDaoTest` to verify the key mismatch detection.
- Changed `testNodes` to have unique public keys.
- Added `mismatchKey` state to the node model.

* detekt spacing

* Refactor: Correctly handle different node installations in NodeRepository

The logic for detecting different node installations in `NodeRepository.kt` was inverted, this commit fixes the logic to use `!=` instead of `==` to detect if the node number has changed.
2025-03-27 15:58:43 -05:00
.github fix #1645: Ensure test run completion on Android by killing crashpad_handler (#1646) 2025-03-05 20:35:26 -06:00
.idea chore(devex): Update project name and icon (#1601) 2025-02-22 09:17:50 -06:00
app fix: Handle node public key mismatch and show warning (#1720) 2025-03-27 15:58:43 -05:00
config/detekt chore: Unused code cleanup (#1612) 2025-02-27 16:18:42 -06:00
design@6d9d5966b7 chore: update design submodule 2024-01-10 05:48:48 -03:00
gradle chore(dependencies): Upgrade Kotlin to 2.1.20 and KSP to 2.1.20-1.0.31 (#1711) 2025-03-23 22:09:54 -05:00
.gitignore chore(devex): Update project name and icon (#1601) 2025-02-22 09:17:50 -06:00
.gitmodules update submodule names 2022-11-02 14:49:38 -03:00
build.gradle feat: Introduce Version Catalog for Dependency Management (#1607) 2025-02-24 18:42:37 -06:00
debugging-android.md add instructions on how to capture logcat logs 2020-03-07 17:19:36 -08:00
gradle.properties refactor: migrate BuildConfig to Gradle build files 2024-01-10 18:52:05 -03:00
gradlew chore(deps): update gradle to v8.13 (#1614) 2025-02-27 16:19:09 -06:00
gradlew.bat chore(deps): update gradle to v8.9 2024-07-13 07:09:41 -03:00
LICENSE Add license and copyright 2020-03-01 16:39:53 -08:00
README.md feat: Update README.md to add repository statistics (#1694) 2025-03-19 10:01:03 -05:00
renovate.json chore(renovate): revert grouping (#1710) 2025-03-23 21:55:59 -05:00
settings.gradle chore(devex): Update project name and icon (#1601) 2025-02-22 09:17:50 -06:00

Meshtastic-Android

GitHub all releases Android CI Crowdin CLA assistant Fiscal Contributors Vercel

This is a tool for using Android with open-source mesh radios. For more information see our webpage: meshtastic.org. If you are looking for the the device side code, see here.

This project is currently beta testing, if you have questions or feedback please Join our discussion forum. We would love to hear from you!

Get it on F-Droid Get it on IzzyOnDroid Download at https://play.google.com/store/apps/details?id=com.geeksville.mesh]

If you want to join the Play Store testing program go to this URL and opt-in to become a tester. If you encounter any problems or have questions, post in the forum and we'll help.

However, if you must use 'raw' APKs you can get them from our github releases. It is recommend to use these with Obtainum to get the latest updates.

Translations

You can help translate the app into your native language using Crowdin.

Building the Android App

https://meshtastic.org/docs/development/android/

Repository Statistics

Alt

Copyright 2025, Meshtastic LLC. GPL-3.0 license