You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BoxViewer is built on open data platforms, open-source software, and creative community artwork. This document provides a complete inventory of credits and attributions for datasets, geocoding backends, libraries, and graphics used both in the application and across project documentation.
Copy file name to clipboardExpand all lines: README.md
+22-13Lines changed: 22 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,10 +9,9 @@
9
9
</p>
10
10
11
11
<palign="center">
12
-
<ahref="https://play.google.com/store/apps/details?id=de.nichu42.boxviewer"><imgsrc="https://img.shields.io/badge/Google%20Play-Official%20Release-412991?style=for-the-badge&logo=google-play&logoColor=white"alt="Google Play Official Release" /></a>
13
-
<ahref="https://play.google.com/store/apps/details?id=de.nichu42.boxviewer"><imgsrc="https://img.shields.io/badge/Google%20Play-Open%20Testing-3DDC84?style=for-the-badge&logo=google-play&logoColor=white"alt="Google Play Open Testing" /></a>
@@ -38,30 +37,38 @@ Crafted with **Kotlin** and **Jetpack Compose** following Material Design 3 guid
38
37
***🌐 Multi-Language Support**: BoxViewer supports 8 languages (English, German, Czech, Spanish, French, Hungarian, Italian, Dutch, Polish) with POEditor translation integration.
39
38
***🔗 Quick Sharing & Deep Linking**: Generate local QR codes to share senseBox stations. Recipients scan the code or open a sharing web link to view the station directly inside the BoxViewer app.
40
39
***🔋 Battery & API-Friendly**: Seamless local SQLite caching (`SensorCacheEntity`) and awake-on-unlock widget refresh logic ensure you get fresh data without draining your battery or hammering openSenseMap servers.
41
-
***🔒 Privacy-First & De-Googled Friendly**: 100% free of Google Play Services (GMS) dependencies in the app code. Core functionality relies on the native Android `LocationManager` and direct openSenseMap APIs. Address search and location labels may use the device’s native geocoder (ROM-dependent backend) or an OpenStreetMap-based fallback; see the Privacy Policy for details. Zero telemetry, analytics, or third-party trackers.
40
+
***🛡️ Privacy-First & De-Googled Friendly**: 100% free of Google Play Services (GMS) dependencies in the app code. Core functionality relies on the native Android `LocationManager` and direct openSenseMap APIs. Address search and location labels may use the device’s native geocoder (ROM-dependent backend) or an OpenStreetMap-based fallback; see the Privacy Policy for details. Zero telemetry, analytics, or third-party trackers.
42
41
***🛠️ Local API Debug Logging**: Opt-in to capture raw API requests, responses, and Moshi parsing results in a JSON Lines (`.jsonl`) file stored locally. Copy or share logs via native sheets to diagnose errors easily.
43
42
***🔤 App-Wide Text Scaling**: A dedicated Settings slider lets you scale text throughout the UI (60%–200%) independently of the system font size, making BoxViewer comfortable on tablets, foldables, and Android Automotive displays.
44
43
45
44
---
46
45
47
-
## ⬇️ Download & Install
46
+
## 📥 Download & Install
48
47
49
-
BoxViewer is compatible with Android 7.0 (API 24) and above and is distributed via Google Play as well as direct APK downloads.
48
+
BoxViewer is compatible with Android 7.0 (API 24) and above and is distributed via Google Play, GitHub Releases, and Obtainium.
<imgalt="Get it on Google Play"src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png"height="80" />
52
+
<imgalt="Get it on Google Play"src="metadata/badges/badge_google_play.png"height="80" />
54
53
</a>
55
54
56
-
***Official Release**: Download stable production releases directly from the [Google Play Store](https://play.google.com/store/apps/details?id=de.nichu42.boxviewer).
55
+
***Official Release**: Download stable production releases directly from the **[Google Play Store](https://play.google.com/store/apps/details?id=de.nichu42.boxviewer)**.
57
56
***Open Testing (Beta)**: Opt-in directly on Google Play to test upcoming pre-release builds and new features ahead of general release.
<imgalt="Get it on GitHub"src="metadata/badges/badge_github.png"height="80" />
61
+
</a>
62
+
60
63
You can download APK packages directly from the **[GitHub Releases](https://github.com/nichu42/boxviewer/releases)** page:
61
64
***Latest Releases**: Official stable releases, tested and recommended for general use.
62
65
***Pre-Releases**: Early test builds (Open Beta) published in parallel with the Google Play Open Testing track for users who prefer to try the newest features immediately.
63
66
64
67
### 🔄 Automatic Updates with Obtainium
68
+
<ahref="https://github.com/ImranR98/Obtainium">
69
+
<imgalt="Get it on Obtainium"src="metadata/badges/badge_obtainium.png"height="80" />
70
+
</a>
71
+
65
72
To receive automatic updates on de-googled ROMs or without Google Play Services, we recommend using **[Obtainium](https://obtainium.imranr.dev/)**:
66
73
1. Copy the repository URL: `https://github.com/nichu42/boxviewer`
67
74
2. Open Obtainium, tap **Add App**, and paste the URL.
@@ -82,7 +89,7 @@ BoxViewer is developed with love as an open-source project. If you are happy wit
82
89
83
90
## 🌍 Data, Geocoding & Attribution
84
91
85
-
### openSenseMap API
92
+
### 📡 openSenseMap API
86
93
This app utilizes the open API provided by **openSenseMap**, an open-source platform dedicated to collecting and exploring environmental sensor data from around the globe.
87
94
88
95
***What is openSenseMap?**: Originally emerged from a research project at the University of Münster (Germany), openSenseMap has grown into one of the largest citizen-operated sensor networks in the world. It provides a free platform for schools, universities, scientists, and citizen enthusiasts to publish real-time environmental measurements—such as air quality, temperature, and humidity—and share them as Open Data.
@@ -93,13 +100,15 @@ This app utilizes the open API provided by **openSenseMap**, an open-source plat
***Donate**: [Donate via Betterplace](https://www.betterplace.org/en/projects/89947-opensensemap-org-the-free-map-for-environmental-data)
95
102
96
-
### Geocoding & Address Lookup
103
+
### 📍 Geocoding & Address Lookup
97
104
To resolve coordinates to readable address labels (e.g., city/country) and enable searching for locations without relying on proprietary Google Play Services, BoxViewer integrates open-source OpenStreetMap (OSM) data backends:
98
105
***Photon Geocoder**: An open, privacy-friendly search and reverse-geocoding service powered by OpenStreetMap data, operated by **[komoot GmbH](https://www.komoot.com)**, Berlin, Germany.
99
106
***Nominatim Geocoder**: An open-source search and reverse-geocoding engine for OpenStreetMap data, operated by the **[OpenStreetMap Foundation](https://osmfoundation.org)**.
100
107
101
108
We are extremely grateful to the **OpenStreetMap contributors** for providing the underlying open map data that powers the geo features of this app.
102
109
110
+
📄 **Full Attributions & Licenses**: For a complete inventory of third-party libraries, data sources, and graphic artwork credits, see **[CREDITS.md](CREDITS.md)**.
0 commit comments