Acknowledgements

locationjoystick is built using a number of open-source projects. Every library and data source listed here is used directly in the app you install. Thanks to everyone who works on them.

Map & location data

The map you see and the routes it can follow come from these projects.

ProjectUsed forLicense
MapLibre Android SDK Renders the interactive map throughout the app, including the floating map overlay. BSD 2-Clause
OpenStreetMap Default map tile data displayed on every map screen. Tiles are fetched from tile.openstreetmap.org as you navigate. ODbL (© OpenStreetMap contributors)
Amap (高德地图) Optional map tiles when "Map source" is set to Amap in Settings. Tiles are fetched from webrd0*.is.autonavi.com as you navigate; only the tile position and zoom level are sent. © AutoNavi · GCJ-02 coordinate system
OSRM (Open Source Routing Machine) Road-following route generation, guided route creation, and roaming with "Follow roads" enabled. The public demo server at router.project-osrm.org is used; waypoint coordinates are sent per request. BSD 2-Clause
Nominatim (OpenStreetMap Foundation) Place-name search used in the route creator and the favorites map picker. See Settings → External services for what's shared with it. Data: ODbL · Software: GPL-2.0

Language & async

These tools form the programming foundation the app is written and run on.

ProjectUsed forLicense
Kotlin (JetBrains) The programming language the entire app is written in. Apache 2.0
Kotlin Coroutines (JetBrains) Handles all background tasks and real-time location updates inside the app. Apache 2.0
Kotlin Serialization (JetBrains) Reads and writes data for export, import, and QR transfer. Apache 2.0

UI & design

These libraries shape how every screen looks and how you move between them.

ProjectUsed forLicense
Jetpack Compose (Google) The toolkit used to build every screen and interface element in the app. Apache 2.0
Material 3 (Google) Provides the visual design system: buttons, cards, dialogs, and colors used throughout the app. Apache 2.0
AndroidX Navigation Compose (Google) In-app navigation between screens and the navigation drawer. Apache 2.0
AndroidX CameraX (Google) Provides camera access for the QR code scanner when importing a configuration. Apache 2.0

Architecture & storage

These libraries wire the app's internals together and store your data on-device.

ProjectUsed forLicense
Hilt (Dagger) (Google) Internal framework that connects the app's components together. Apache 2.0
AndroidX Room (Google) The on-device database that stores your routes, favorites, and settings. Apache 2.0
AndroidX DataStore (Google) Saves your settings and preferences on the device. Apache 2.0
AndroidX Lifecycle (Google) Manages how the app responds to screen rotation, backgrounding, and other Android lifecycle events. Apache 2.0

Networking

These libraries send and receive the app's network requests.

ProjectUsed forLicense
Retrofit (Square) Handles network requests for place search and road-following routes. Apache 2.0
OkHttp (Square) The networking layer that powers all outbound requests from the app. Apache 2.0

QR codes

This library reads and generates the QR codes used for config transfer.

ProjectUsed forLicense
ZXing (Zebra Crossing) (Google) QR code encoding (export) and decoding (import) for the device-to-device config transfer feature. Apache 2.0