Bimba.git

commit 9472c4e2ac8aeb33900f7274c372def03627b007

Author: Adam Evyčędo <git@apiote.xyz>

merge develop into master for version 3.3.2

%!v(PANIC=String method: strings: negative Repeat count)


diff --git a/CHANGELOG.adoc b/CHANGELOG.adoc
index 72326247cf9be610fb7cae767daeaf4e8c8bdeb3..2414a71faf01bde622bc638aa8c23247cee9e6ae 100644
--- a/CHANGELOG.adoc
+++ b/CHANGELOG.adoc
@@ -14,6 +14,13 @@
 * Travel planning
 * Offline timetable
 
+== [3.3.2] – 2024-05-22
+
+=== Changed
+
+* Openstreetmap attribution
+* Changed minimal map zoom level
+
 == [3.3.1] – 2024-05-21
 
 === Fixed




diff --git a/README.adoc b/README.adoc
index 91efdc01793aac246c4aca7e4e4ff100045e0923..ca64b9acbe6363bc49bc599f03346fe86e70d549 100644
--- a/README.adoc
+++ b/README.adoc
@@ -4,7 +4,7 @@ // SPDX-License-Identifier: GPL-3.0-or-later
 
 = Bimba
 Adam Evyčędo <me@apiote.xyz>
-v3.3.1 2024-05-21
+v3.3.2 2024-05-22
 :toc:
 
 Bimba is a FLOSS public transport passenger companion; a timetable in your pocket.




diff --git a/app/build.gradle b/app/build.gradle
index 069d3f4fde4d6692dcf301afff255bfa62879fd3..95ad937cd17c833225b63ce882c5893c84872f58 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -21,8 +21,8 @@     defaultConfig {
         applicationId "xyz.apiote.bimba.czwek"
         minSdk 21
         targetSdk 34
-        versionCode 26
-        versionName "3.3.1"
+        versionCode 27
+        versionName "3.3.2"
 
         testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
         resourceConfigurations += ["en", "pl", "it", "de"]




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..5ac3de0f96d50708abd7e8c71f2e31aaaa772966 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,17 @@ 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.util.Log
+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
@@ -44,6 +51,7 @@ import xyz.apiote.bimba.czwek.repo.Position
 import xyz.apiote.bimba.czwek.repo.Stop
 import xyz.apiote.bimba.czwek.repo.Vehicle
 
+
 class MapFragment : Fragment() {
 
 	private var maybeBinding: FragmentMapBinding? = null
@@ -79,7 +87,7 @@ 			binding.map.overlayManager.tilesOverlay.setColorFilter(TilesOverlay.INVERT_COLORS)
 		}
 		binding.map.zoomController.setVisibility(CustomZoomButtonsController.Visibility.NEVER)
 		binding.map.maxZoomLevel = 21.5
-		binding.map.minZoomLevel = 10.5
+		binding.map.minZoomLevel = 5.5
 		binding.map.setMultiTouchControls(true)
 		binding.map.overlays.add(RotationGestureOverlay(binding.map).apply { isEnabled = true })
 
@@ -120,11 +128,29 @@ 			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
 	}
 
 	private fun onMapMove() {
 		snack?.dismiss()
+		Log.i("ZOOM", "${binding.map.zoomLevelDouble}")
 		delayGetLocatables()
 	}
 




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>




diff --git a/metadata/en-GB/changelogs/27.txt b/metadata/en-GB/changelogs/27.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a72f7f4c031635612e8f8c366b99a9d35a88090
--- /dev/null
+++ b/metadata/en-GB/changelogs/27.txt
@@ -0,0 +1,16 @@
+Changes in version 3.3.2
+* Add proper openstreetmap attribution
+* Change minimal map zoom
+Changes in version 3.3.1
+* Fixed crash when zooming map too close
+Changes in version 3.3
+* Added selecting date and filtering by time
+* Added filtering departures by line
+* Added alerts shown in stop and departures
+* Fixed landscape version of “about” screen
+* Fixed capabilities for vehicles on map
+* Changed cached localities to lower contrast
+* Fixed showing line directions for other than 2
+* Fixed saving localities cache
+* Updated dependencies
+* Updated deprecated methods in code




diff --git a/metadata/en-US/changelogs/27.txt b/metadata/en-US/changelogs/27.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a72f7f4c031635612e8f8c366b99a9d35a88090
--- /dev/null
+++ b/metadata/en-US/changelogs/27.txt
@@ -0,0 +1,16 @@
+Changes in version 3.3.2
+* Add proper openstreetmap attribution
+* Change minimal map zoom
+Changes in version 3.3.1
+* Fixed crash when zooming map too close
+Changes in version 3.3
+* Added selecting date and filtering by time
+* Added filtering departures by line
+* Added alerts shown in stop and departures
+* Fixed landscape version of “about” screen
+* Fixed capabilities for vehicles on map
+* Changed cached localities to lower contrast
+* Fixed showing line directions for other than 2
+* Fixed saving localities cache
+* Updated dependencies
+* Updated deprecated methods in code




diff --git a/metadata/pl-PL/changelogs/26.txt b/metadata/pl-PL/changelogs/26.txt
index 05ccee7facb3b5c74faa6c783359e9460e446e22..4b3fb7392db5465cb8fb1b6e7999e86a1408c2c5 100644
--- a/metadata/pl-PL/changelogs/26.txt
+++ b/metadata/pl-PL/changelogs/26.txt
@@ -11,4 +11,3 @@ * Poprawiono kierunki linii dla innej liczby niż 2
 * Poprawiono zapisuwanie lokalizacji
 * Zaktualizowano zależności
 * Zaktualizowano przestarzałe metody w kodzie
-




diff --git a/metadata/pl-PL/changelogs/27.txt b/metadata/pl-PL/changelogs/27.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f247e9d2fefc5594c338a08ee15b2b2095c5f6e7
--- /dev/null
+++ b/metadata/pl-PL/changelogs/27.txt
@@ -0,0 +1,16 @@
+Zmiany w wersji 3.3.2
+* Dodano poprawne uznanie autorstwa openstreetmap
+* Zmieniono minimalny zoom mapy
+Zmiany w wersji 3.3.1
+* Naprawniono błąd przy zbyt dużym powiększaniu mapy
+Zmiany w wersji 3.3
+* Dodano wybieranie daty i filtrowanie po czasie
+* Dodano filtrowanie po linii
+* Dodany alerty przy przystankach i odjazdach
+* Poprawiono horyzontalną wersję ekranu o Bimbie
+* Poprawiono cechy pojazdów na mapie
+* Zmieniono zapisane lokalizacje na mniejszy kontrast
+* Poprawiono kierunki linii dla innej liczby niż 2
+* Poprawiono zapisuwanie lokalizacji
+* Zaktualizowano zależności
+* Zaktualizowano przestarzałe metody w kodzie




diff --git a/release.sh b/release.sh
index 3d8e82bbf0884ed1f50f229fd1afe6bc67c81556..76d0c0530391fe1a3d0cb63b0d404cd4e6135e95 100755
--- a/release.sh
+++ b/release.sh
@@ -93,7 +93,7 @@
 	echo "time to update changelogs"
 elif [ $phase -eq 1 ]
 then
-	newVersionName=$(grep 'versionName' app/build.gradle | tr -s ' ' | cut -d ' ' -f3 | tr -d '"')
+	newVersionName=$(grep -E 'versionName "[0-9\.]+"' app/build.gradle | tr -s ' ' | cut -d ' ' -f3 | tr -d '"')
 	newVersionCode=$(grep 'versionCode' app/build.gradle | tr -s ' ' | cut -d ' ' -f3)
 	if ! find metadata -type d -name changelogs -print0 | xargs -0 -I{} [ -f "{}/$newVersionCode.txt" ]
 	then
@@ -107,6 +107,8 @@ 	echo 'pushing …'
 	git push
 	git switch master
 	git merge -S --no-ff -m "merge develop into master for version $newVersionName" develop
+	echo 'push to master?'
+	read -r _
 	echo 'pushing …'
 	git push
 	echo 'tag and push tag?'
@@ -120,7 +122,7 @@ 	git switch develop
 	git merge master
 elif [ $phase -eq 2 ]
 then
-	newVersionName=$(grep 'versionName' app/build.gradle | tr -s ' ' | cut -d ' ' -f3 | tr -d '"')
+	newVersionName=$(grep -E 'versionName "[0-9\.]+"' app/build.gradle | tr -s ' ' | cut -d ' ' -f3 | tr -d '"')
 	git tag -s -m "v${newVersionName}" "v${newVersionName}"
 	git push origin --tags
 	git switch develop