Author: Adam Evyčędo <git@apiote.xyz>
add proper openstreetmap attribution
%!v(PANIC=String method: strings: negative Repeat count)
diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/map/MapFragment.kt b/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/map/MapFragment.kt index aa287e8248c16ec7c0ce60a753274cadb6ae0e17..a318026ca937a5bab878c06d417c4cacd5f04b85 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/map/MapFragment.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/map/MapFragment.kt @@ -14,10 +14,16 @@ import android.graphics.Bitmap import android.os.Bundle import android.os.Handler import android.os.Looper +import android.text.Html +import android.text.method.LinkMovementMethod +import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.view.ViewGroup.LayoutParams.WRAP_CONTENT +import android.widget.TextView import androidx.appcompat.content.res.AppCompatResources +import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.content.edit import androidx.core.graphics.drawable.toBitmap import androidx.fragment.app.Fragment @@ -43,6 +49,7 @@ import xyz.apiote.bimba.czwek.repo.ErrorLocatable import xyz.apiote.bimba.czwek.repo.Position import xyz.apiote.bimba.czwek.repo.Stop import xyz.apiote.bimba.czwek.repo.Vehicle + class MapFragment : Fragment() { @@ -119,6 +126,23 @@ binding.map.setOnTouchListener { _, _ -> binding.floatingActionButton.show() false } + + val attributionOverlay = TextView(context).apply { + // TODO deprecated in API 24 + text = + Html.fromHtml(getString(R.string.map_attribution)) + linksClickable = true + movementMethod = LinkMovementMethod.getInstance() + setPadding(10,10,10,10) + } + val layoutParams = CoordinatorLayout.LayoutParams(WRAP_CONTENT, WRAP_CONTENT).apply { + gravity = Gravity.END or Gravity.BOTTOM + } + binding.mapFragmentRoot.addView( + attributionOverlay, + layoutParams + ) + attributionOverlay.bringToFront() return root } diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml index 5512f212e09b28a7317561cd1c1f817ad85622af..4bb0362b9f81ec9df0166e7452f7ae92b67f2b19 100644 --- a/app/src/main/res/layout/fragment_map.xml +++ b/app/src/main/res/layout/fragment_map.xml @@ -7,6 +7,7 @@ SPDX-License-Identifier: GPL-3.0-or-later --> <androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/map_fragment_root" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tool="http://schemas.android.com/tools" android:layout_width="match_parent" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7c8b6eb99c2812fbdceb7a75eec84c1f2c7bb2c2..fd0d12a8a9e5c7a3b6851551306b5d4ef7820137 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -10,7 +10,7 @@Home <string name="title_map">Map</string> <string name="title_voyage">Voyage</string> <string name="home_fab_description">GPS icon</string> - <string name="search_placeholder">stops, lines, or plus codes</string> <!-- and lines --> + <string name="search_placeholder">stops, lines, or plus codes</string> <string name="title_activity_results">Results</string> <string name="cont">Continue</string> <string name="save">Save</string> @@ -100,7 +100,7 @@Stop on demand <string name="stop_stub_in_zone">Stop in zone %1$s</string> <string name="vehicle_headsign_content_description">%1$s towards %2$s</string> <string name="departure_headsign">» %1$s</string> - <string name="credits">Font yellowcircle8 (https://git.apiote.xyz/yellowcircle8.git) based on Railway Sans © Greg Fleming, OFL-1.1 https://github.com/davelab6/Railway-Sans\n\n Mastodon icon (https://github.com/mastodon/joinmastodon) © Mastodon contributors, AGPL-3.0-or-later\n\n Bimba logo created by https://github.com/tebriz159\n\n Material icons © Google, Apache-2.0\n\n Map data © OpenStreetMap contributors, ODbL-1.0</string> + <string name="credits">Font yellowcircle8 (https://git.apiote.xyz/yellowcircle8.git) based on Railway Sans © Greg Fleming, OFL-1.1 https://github.com/davelab6/Railway-Sans\n\n Mastodon icon (https://github.com/mastodon/joinmastodon) © Mastodon contributors, AGPL-3.0-or-later\n\n Bimba logo created by https://github.com/tebriz159\n\n Material icons © Google, Apache-2.0\n\n Map data © OpenStreetMap contributors (https://www.openstreetmap.org/copyright), ODbL-1.0</string> <string name="title_about">About</string> <string name="translation_button_description">link to translations service</string> <string name="app_description">FLOSS public transport passenger companion; a timetable in your pocket.</string> @@ -125,4 +125,6 @@Select start time <string name="title_select_time_end">Select end time</string> <string name="more">More</string> <string name="alert_header">Status updates</string> + <string name="map_attribution"><![CDATA[© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors]]></string> + </resources> diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 06a8812c2b57108762c4e9d8f5ff0308501f0996..4b8162ad24cae62e539542f5747503263a3424a7 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -111,7 +111,7 @@Orario attuale valido: %1$s fino alla %2$s <string name="error_406">La versione dell’app non è compatibile con il server</string> <string name="filter_localities">filtra le località</string> <string name="error_41">Questa località non è supportata dal server</string> - <string name="credits">Font yellowcircle8 (https://git.apiote.xyz/yellowcircle8.git) basato su Railway Sans © Greg Fleming, OFL-1.1 https://github.com/davelab6/Railway-Sans\n\n L’icona Mastodona (https://github.com/mastodon/joinmastodon) © Mastodon contributors, AGPL-3.0-or-later\n\n Logo Bimby stworzone przez https://github.com/tebriz159\n\n Material icons © Google, Apache-2.0\n\n Dane mapy © kontrybutorzy OpenStreetMap, ODbL-1.0</string> + <string name="credits">Font yellowcircle8 (https://git.apiote.xyz/yellowcircle8.git) basato su Railway Sans © Greg Fleming, OFL-1.1 https://github.com/davelab6/Railway-Sans\n\n L’icona di Mastodon (https://github.com/mastodon/joinmastodon) © collaboratori Mastodon, AGPL-3.0-or-later\n\n L’icona di Bimba creata da https://github.com/tebriz159\n\n Material icons © Google, Apache-2.0\n\n Dati della carta © collaboratori OpenStreetMap (https://www.openstreetmap.org/copyright), ODbL-1.0</string> <string name="stop_from_qr_code">Stop del codice QR</string> <string name="departures_snackbar">L’ultimo aggiornamento: %1$s</string> <string name="title_select_date">Scegli il giorno della partenza</string> @@ -124,4 +124,5 @@Scegli l’inizio <string name="title_select_time_end">Scegli il fine</string> <string name="more">Più</string> <string name="alert_header">Informazioni tempestive</string> -</resources> \ No newline at end of file + <string name="map_attribution"><![CDATA[© collaboratori <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>]]></string> +</resources> diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 4bcbeaae1cf21379a118eedf1fbe3a10b98db137..541705d81a56a03233dbe01c4f898b4090b4da74 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -99,7 +99,7 @@Uprawnienia do używania lokalizacji są wymagane, aby znaleźć przystanki w pobliżu i pokazać aktualną pozycję na mapie. Pozostałe funkcje będą działały bez tych uprawnień. Mogą być one w każdym momencie nadane i odebrane w ustawieniach systemowych. <string name="stop_stub_on_demand_in_zone">Przystanek na żądanie w strefie %1$s</string> <string name="stop_stub_on_demand">Przystanek na żądanie</string> <string name="stop_stub_in_zone">Przystanek w strefie %1$s</string> - <string name="credits">Font yellowcircle8 (https://git.apiote.xyz/yellowcircle8.git) na podstawie Railway Sans © Greg Fleming, OFL-1.1 https://github.com/davelab6/Railway-Sans\n\n Ikona Mastodona (https://github.com/mastodon/joinmastodon) © Mastodon contributors, AGPL-3.0-or-later\n\n Logo Bimby stworzone przez https://github.com/tebriz159\n\n Material icons © Google, Apache-2.0\n\n Dane mapy © kontrybutorzy OpenStreetMap, ODbL-1.0</string> + <string name="credits">Font yellowcircle8 (https://git.apiote.xyz/yellowcircle8.git) na podstawie Railway Sans © Greg Fleming, OFL-1.1 https://github.com/davelab6/Railway-Sans\n\n Ikona Mastodona (https://github.com/mastodon/joinmastodon) © Mastodon contributors, AGPL-3.0-or-later\n\n Logo Bimby stworzone przez https://github.com/tebriz159\n\n Material icons © Google, Apache-2.0\n\n Dane mapy © kontrybutorzy OpenStreetMap (https://www.openstreetmap.org/copyright), ODbL-1.0</string> <string name="title_about">O Bimbie</string> <string name="translation_button_description">link do narzędzia do tłumaczeń</string> <string name="app_description">Wolny i otwarty kompan pasażerów transportu publicznego; rozkład jazdy w twojej kieszeni</string> @@ -124,4 +124,5 @@Wybierz początkowy czas <string name="title_select_time_end">Wybierz końcowy czas</string> <string name="more">Więcej</string> <string name="alert_header">Komunikaty</string> -</resources> \ No newline at end of file + <string name="map_attribution"><![CDATA[© kontrubutorzy <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>]]></string> +</resources>