Skip to content

Network position provider#4338

Open
Withalion wants to merge 19 commits intomasterfrom
feature/network-provider
Open

Network position provider#4338
Withalion wants to merge 19 commits intomasterfrom
feature/network-provider

Conversation

@Withalion
Copy link
Copy Markdown
Contributor

@Withalion Withalion commented Feb 17, 2026

fixes #1893
This PR adds new network position provider support. The user is able to connect both UDP and TCP providers.

New UI:

Provider picker Network provider info Provider list

These designs are not final, new design here: https://www.figma.com/design/d78a4ehBBgK6MyxCTuCAqg/Mobile-App?node-id=5837-12631

TODO:

  • fix UI to resemble figma doc
    • MMIconCheckBoxHorizontal is the component we want to reuse and update to new design
    • add bluetooth and wifi icons
    • split components out of MMPositionProviderPage

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📬 Mergin Maps 63691 dmg Expires: 18/05/2026 #6369
linux Build 📭 Build not yet complete or failed.
win64 Build 📭 Build not yet complete or failed.
Android Build 📬 Mergin Maps 767911 APK [armeabi-v7a] Expires: 18/05/2026 #7679
Android Build 📬 Mergin Maps 767951 APK [arm64-v8a] Expires: 18/05/2026 #7679
iOS Build 📬 Build number: 26.02.862011 #8620

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📭 Build not yet complete or failed.
linux Build 📭 Build not yet complete or failed.
win64 Build 📬 Mergin Maps 55651 win64 Expires: 18/05/2026 #5565
Android Build 📭 Build not yet complete or failed.
iOS Build 📬 Build number: 26.02.862111 #8621

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📭 Build not yet complete or failed.
linux Build 📭 Build not yet complete or failed.
win64 Build 📬 Mergin Maps 55721 win64 Expires: 19/05/2026 #5572
Android Build 📭 Build not yet complete or failed.
iOS Build 📭 Build not yet complete or failed.

@Withalion Withalion added FROZEN 🥶 do not merge before upcoming release and removed FROZEN 🥶 do not merge before upcoming release labels Feb 26, 2026
@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📭 Build not yet complete or failed.
linux Build 📭 Build not yet complete or failed.
win64 Build 📬 Mergin Maps 56971 win64 Expires: 09/06/2026 #5697
Android Build 📬 Mergin Maps 781211 APK [armeabi-v7a] Expires: 09/06/2026 #7812
Android Build 📬 Mergin Maps 781251 APK [arm64-v8a] Expires: 09/06/2026 #7812
iOS Build 📭 Build not yet complete or failed.

@gabriel-bolbotina
Copy link
Copy Markdown
Contributor

Some visual and component changes:

  • followed the Figma designs
  • added the new icons for Bluetooth and Network providers
  • added new images when trying to connect to an external provider
  • refactored MMBluetoothConnectionDrawer to be multi-purpose, e.g., to be used for both bluetooth and network providers
  • modularised the components outside of the MMPositionProviderPage
  • refactored the MMIconCheckBoxHorizontal component to accommodate text and description, while keeping the functionality like before
  • small modifications in the Gallery app with the refactoring of some components mentioned above

Withalion and others added 16 commits March 12, 2026 15:16
This commit adds both UDP & TCP sockets under one network provider.
We further differ external provider into bluetooth and network
providers.
Modified the MMIconCheckBoxHorizontal to feature a description if needed
Modularised the MMPositionProviderPage
Refactored MMBluetoothConnectionDrawer to be used for the network provider as well
Changes the connecting and failure images for the network provider
Other small changes
@gabriel-bolbotina gabriel-bolbotina force-pushed the feature/network-provider branch from c0e811a to c415f60 Compare March 12, 2026 13:17
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 12, 2026

Pull Request Test Coverage Report for Build 23595311521

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 175 unchanged lines in 7 files lost coverage.
  • Overall coverage decreased (-0.5%) to 59.285%

Files with Coverage Reduction New Missed Lines %
mm/app/position/providers/simulatedpositionprovider.cpp 1 91.67%
mm/app/position/positiontransformer.cpp 6 85.09%
mm/app/position/providers/positionprovidersmodel.cpp 12 63.96%
mm/app/position/providers/bluetoothpositionprovider.cpp 13 82.61%
mm/app/appsettings.cpp 17 68.57%
mm/app/mmstyle.h 60 1.83%
mm/app/position/positionkit.cpp 66 66.29%
Totals Coverage Status
Change from base Build 22999470615: -0.5%
Covered Lines: 8776
Relevant Lines: 14803

💛 - Coveralls

@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📬 Mergin Maps 65091 dmg Expires: 10/06/2026 #6509
linux Build 📬 Mergin Maps 65201 x86_64 Expires: 10/06/2026 #6520
win64 Build 📬 Mergin Maps 57041 win64 Expires: 10/06/2026 #5704
Android Build 📬 Mergin Maps 781951 APK [arm64-v8a] Expires: 10/06/2026 #7819
Android Build 📬 Mergin Maps 781911 APK [armeabi-v7a] Expires: 10/06/2026 #7819
iOS Build 📬 Build number: 26.03.876011 #8760

Added ip address getter for network provider
Changed provider constructor to make iOS device connect to external IP provider
@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build Build failed or not found. #6519
linux Build 📬 Mergin Maps 65301 x86_64 Expires: 14/06/2026 #6530
win64 Build 📬 Mergin Maps 57141 win64 Expires: 14/06/2026 #5714
Android Build 📬 Mergin Maps 783011 APK [armeabi-v7a] Expires: 14/06/2026 #7830
Android Build 📬 Mergin Maps 783051 APK [arm64-v8a] Expires: 14/06/2026 #7830
iOS Build 📬 Build number: 26.03.877011 #8770

Added hyperlink
Modified the getIPAddress method
Enhanced visuals
@github-actions
Copy link
Copy Markdown

📦 Build Artifacts Ready

OS Status Build Info Workflow run
macOS Build 📬 Mergin Maps 65751 dmg Expires: 24/06/2026 #6575
linux Build 📬 Mergin Maps 65861 x86_64 Expires: 24/06/2026 #6586
win64 Build 📬 Mergin Maps 57701 win64 Expires: 24/06/2026 #5770
Android Build 📬 Mergin Maps 788751 APK [arm64-v8a] Expires: 24/06/2026 #7887
Android Build 📬 Mergin Maps 788711 APK [armeabi-v7a] Expires: 24/06/2026 #7887
iOS Build 📬 Build number: 26.03.882611 #8826

@IvaKuklica
Copy link
Copy Markdown

GPS Outstanding Issues & Recommnedations:

iOS / Android:
1. GPS icon on the map — missing status information

  • The GPS button displayed on the background map shows only a bubble with a GPS symbol. It is missing any information such as GPS accuracy, antenna height. Users have no way to assess the GPS quality directly from the map view without opening the GPS info panel.
Screenshot 2026-03-31 145455

2. External receiver connection details — IP address and port not displayed

  • When a new external GPS receiver is connected, the app shows only the external receiver name and connection status. The IP address and port number used for the connection are not visible anywhere in the UI, making it impossible for the user to verify or review the connection configuration.

  • The user must navigate back to the internal receivers screen for the connection details to become visible — this is not intuitive and the information should be accessible directly in the external receiver connection view.

Screenshot 2026-03-31 145611

3. External receiver settings — no option to edit after initial setup

  • Once an external GPS receiver has been configured, there is no way to update or modify its connection settings. If an incorrect IP address or port was entered during setup, the user has no option to correct it without removing and re-adding the receiver entirely.

iOS only

4. Manage GPS Receiver" button is cut off and inaccessible

  • When the user opens the GPS info panel and attempts to access the Manage GPS Receiver button, the button is cut off at the bottom of the screen due to insufficient screen space or layout overflow. The user must scroll up manually to reveal and tap the button, which is not intuitive.
Screenshot 2026-03-31 145915

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.

Support for network position provider

3 participants