Bimba.git

commit 93c10581f6eb8577a6e49e6b948acef5484447b0

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>