Acknowledgements

locationjoystick is built on open-source projects. Thanks to everyone who works on them. For what the app sends to online services, see Settings → External services.

Maps

Everything behind the map, routes, and place search.

MapLibre Android SDK

Draws the interactive map, including the floating map overlay.

License: BSD 2-Clause

OpenStreetMap

Supplies the default map you see on every map screen.

License: ODbL (© OpenStreetMap contributors)

Amap (高德地图)

An optional map source you can choose in Settings.

License: © AutoNavi · GCJ-02 coordinate system

EOX::Maps

Supplies the optional Satellite map: Sentinel-2 cloudless imagery from 2016. Contains modified Copernicus Sentinel data 2016.

License: CC BY 4.0 · © EOX IT Services GmbH

OSRM (Open Source Routing Machine)

Makes routes follow real roads, for guided routes and roaming.

License: BSD 2-Clause

Nominatim (OpenStreetMap Foundation)

Finds places by name in the route creator and the favorites map picker.

License: Data: ODbL · Software: GPL-2.0

Photon (Komoot)

Finds places by name when the main search cannot be reached.

License: Data: ODbL (OpenStreetMap) · Software: Apache-2.0

GeoNames

Supplies the list of larger cities that place search uses offline.

License: CC BY 4.0

Language

The tools the app is written in.

Kotlin (JetBrains)

The language the whole app is written in.

License: Apache 2.0

Kotlin Coroutines (JetBrains)

Runs location updates and network requests in the background without freezing the screen.

License: Apache 2.0

Kotlin Serialization (JetBrains)

Converts your data to and from the backup file format.

License: Apache 2.0

Hilt (Dagger) (Google)

Creates the app's internal parts and links them together at startup.

License: Apache 2.0

Screens

What you see and how you move around.

Jetpack Compose (Google)

Builds every screen and button in the app.

License: Apache 2.0

Material 3 (Google)

Gives the app its look: buttons, cards, dialogs, and colors.

License: Apache 2.0

Google Material Symbols

The show/hide joystick icon on the floating widget.

License: Apache 2.0

AndroidX Navigation Compose (Google)

Moves you between screens and opens the side menu.

License: Apache 2.0

AndroidX Lifecycle (Google)

Keeps each screen's data when you rotate the phone or switch apps.

License: Apache 2.0

Inter (Rasmus Andersson)

The typeface for all text in the app.

License: SIL Open Font License 1.1

Storage

Your data stays on your phone.

AndroidX Room (Google)

Stores your routes and favorites on your phone.

License: Apache 2.0

AndroidX DataStore (Google)

Remembers your settings.

License: Apache 2.0

Network

Sends the few requests the app makes.

Retrofit (Square)

Sends requests for place search and road-following routes.

License: Apache 2.0

OkHttp (Square)

Carries every request the app sends over the internet.

License: Apache 2.0

QR codes

Used for transferring your data between phones.

ZXing (Zebra Crossing) (Google)

Creates and reads the QR codes for phone-to-phone transfer.

License: Apache 2.0

AndroidX CameraX (Google)

Lets the QR scanner use your camera when you receive a transfer.

License: Apache 2.0