Author: Adam Evyčędo <git@apiote.xyz>
cleanup
%!v(PANIC=String method: strings: negative Repeat count)
diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/api/Structs.kt b/app/src/main/java/xyz/apiote/bimba/czwek/api/Structs.kt index be4ec222b4c4101a9706ef4790cac08c36e14904..9e604c62e01918732d5d03565aa5492cb5989dd5 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/api/Structs.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/api/Structs.kt @@ -11,11 +11,6 @@ import org.yaml.snakeyaml.Yaml import xyz.apiote.bimba.czwek.api.structs.VehicleStatusV1 import xyz.apiote.fruchtfleisch.Reader import java.io.InputStream -import java.time.LocalDate -import java.time.LocalDateTime -import java.time.LocalTime -import java.time.ZoneId -import java.time.ZonedDateTime import kotlin.reflect.KClass class TrafficFormatException(override val message: String) : IllegalArgumentException() @@ -200,16 +195,6 @@ reader.readI8(), reader.readString() ) } - } - - fun toDateTime(): ZonedDateTime { - return ZonedDateTime.of( - LocalDateTime.of( - LocalDate.now().plusDays(DayOffset.toLong()), - LocalTime.of(Hour.toInt(), Minute.toInt(), Second.toInt()) - ), - ZoneId.of(Zone) - ) } } diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Departures.kt b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Departures.kt index 4e22e00b1b8365b32fc365f86c904dd74366651c..0d053162b88f3d4f2a65975d1d2cff92e2b979a4 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Departures.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Departures.kt @@ -19,7 +19,7 @@ companion object { fun unmarshal(stream: InputStream): DeparturesResponse { val reader = Reader(stream) return when (val v = reader.readUInt().toULong()) { - 0UL -> DeparturesResponseDev.unmarshal(stream) + // 0UL -> DeparturesResponseDev.unmarshal(stream) 1UL -> DeparturesResponseV1.unmarshal(stream) 2UL -> DeparturesResponseV2.unmarshal(stream) 3UL -> DeparturesResponseV3.unmarshal(stream) diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Feeds.kt b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Feeds.kt index 21ed8d834755bcb5a319869a689244a55f71747b..2bb1c7b23d5db5ea1184c2a787c42124f2ce0211 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Feeds.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Feeds.kt @@ -14,7 +14,7 @@ companion object { fun unmarshal(stream: InputStream): FeedsResponse { val reader = Reader(stream) return when (val v = reader.readUInt().toULong()) { - 0UL -> FeedsResponseDev.unmarshal(stream) + // 0UL -> FeedsResponseDev.unmarshal(stream) 1UL -> FeedsResponseV1.unmarshal(stream) 2UL -> FeedsResponseV2.unmarshal(stream) else -> throw UnknownResponseVersion("Feeds", v) diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Line.kt b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Line.kt index 6094e3eb5fdd7a3e70ba3579dc5bb2e44a75a0a6..2ea9f2c732a68df8155e79559e7a23741de253c5 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Line.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Line.kt @@ -15,7 +15,7 @@ companion object { fun unmarshal(stream: InputStream): LineResponse { val reader = Reader(stream) return when (val v = reader.readUInt().toULong()) { - 0UL -> LineResponseDev.unmarshal(stream) + // 0UL -> LineResponseDev.unmarshal(stream) 1UL -> LineResponseV1.unmarshal(stream) 2UL -> LineResponseV2.unmarshal(stream) 3UL -> LineResponseV3.unmarshal(stream) diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Locatables.kt b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Locatables.kt index ea7273fb1c15725996d5a76aae5677b75988c0c0..a176bd2dff780abb44aa27b89af2679233679fe7 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Locatables.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Locatables.kt @@ -21,7 +21,7 @@ companion object { fun unmarshal(stream: InputStream): LocatablesResponse { val reader = Reader(stream) return when (val v = reader.readUInt().toULong()) { - 0UL -> LocatablesResponseDev.unmarshal(stream) + // 0UL -> LocatablesResponseDev.unmarshal(stream) 1UL -> LocatablesResponseV1.unmarshal(stream) 2UL -> LocatablesResponseV2.unmarshal(stream) 3UL -> LocatablesResponseV3.unmarshal(stream) diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Queryables.kt b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Queryables.kt index 216ab34e80475121dde939626338c14e59e382cb..8e7cc8f8c7a63204b4c2d69604ae33f2fe4ac768 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Queryables.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/api/responses/Queryables.kt @@ -22,7 +22,7 @@ companion object { fun unmarshal(stream: InputStream): QueryablesResponse { val reader = Reader(stream) return when (val v = reader.readUInt().toULong()) { - 0UL -> QueryablesResponseDev.unmarshal(stream) + // 0UL -> QueryablesResponseDev.unmarshal(stream) 1UL -> QueryablesResponseV1.unmarshal(stream) 2UL -> QueryablesResponseV2.unmarshal(stream) 3UL -> QueryablesResponseV3.unmarshal(stream) diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/MainActivity.kt b/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/MainActivity.kt index 76d0caa48af1122b8b7f89b2beab8543cedfd5d9..090e870cac6a76658ce555f4a8e7a0eac3f98355 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/MainActivity.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/MainActivity.kt @@ -44,7 +44,7 @@ private lateinit var binding: ActivityMainBinding private lateinit var locationPermissionRequest: ActivityResultLauncher<Array<String>> private lateinit var permissionAsker: Fragment - var locationPermissionDialogShown = false + private var locationPermissionDialogShown = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/home/HomeViewModel.kt b/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/home/HomeViewModel.kt index 38afc1078fe260f2e80a6553869cc720b446b48e..d42be675e2f6c4b569a608c3c0e66e7598f1b4ab 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/home/HomeViewModel.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/dashboard/ui/home/HomeViewModel.kt @@ -5,7 +5,6 @@ package xyz.apiote.bimba.czwek.dashboard.ui.home import android.content.Context -import android.net.ConnectivityManager import android.os.Handler import android.os.Looper import android.text.Editable 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 2a1df9ff63ccd46e5b422eac5ab9228b27b01759..bd2f1614e6497260be727826f03a5a6e3ccf2b9e 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 @@ -103,11 +103,13 @@ } binding.map.addMapListener(object : MapListener { override fun onScroll(event: ScrollEvent?): Boolean { - return onMapMove() + onMapMove() + return true } override fun onZoom(event: ZoomEvent?): Boolean { - return onMapMove() + onMapMove() + return true } }) @@ -119,18 +121,17 @@ return root } - private fun onMapMove(): Boolean { + private fun onMapMove() { snack?.dismiss() - return delayGetLocatables() + delayGetLocatables() } - private fun delayGetLocatables(delay: Long = 1000): Boolean { + private fun delayGetLocatables(delay: Long = 1000) { handler.removeCallbacks(workRunnable) workRunnable = Runnable { getLocatables() } handler.postDelayed(workRunnable, delay) - return true } private fun observeLocatables() { diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/departures/Departures.kt b/app/src/main/java/xyz/apiote/bimba/czwek/departures/Departures.kt index 2648a7addef2f05aa7dae3c5d1a2131b019a1b27..7b334c3d4efecdfa7b18e8d98c1de5bb9d8e1e6c 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/departures/Departures.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/departures/Departures.kt @@ -135,8 +135,8 @@ } override fun getItemCount(): Int = departures.size - fun get(ID: String): Departure? { - val position = departuresPositions[ID] + fun get(id: String): Departure? { + val position = departuresPositions[id] return if (position == null) { null } else { diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/repo/FeedInfo.kt b/app/src/main/java/xyz/apiote/bimba/czwek/repo/FeedInfo.kt index 04d7f546e88a6465b0fc535cd15d304d42b478d6..3d645e655861a1f67f3694aa12da1ab90eb1d675 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/repo/FeedInfo.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/repo/FeedInfo.kt @@ -163,7 +163,3 @@ ) validTill else other.validTill, this.cached && other.cached ) } - -fun migrateFeeds() { - -} \ No newline at end of file diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/repo/LineAbstract.kt b/app/src/main/java/xyz/apiote/bimba/czwek/repo/LineAbstract.kt index 527ba30671fdb54696be7f43caf2c228762faf68..d5ecc9bbbba7111c55e31d0015ce15f696e17274 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/repo/LineAbstract.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/repo/LineAbstract.kt @@ -17,6 +17,7 @@ import xyz.apiote.bimba.czwek.R import xyz.apiote.bimba.czwek.dpToPixel import xyz.apiote.bimba.czwek.dpToPixelI import kotlin.math.abs +import kotlin.math.cbrt import kotlin.math.pow interface LineAbstract { @@ -88,10 +89,10 @@ val radiusToPow = (radius * radius * radius).toDouble() val path = Path() path.moveTo(-radius.toFloat(), 0f) for (x in -radius..radius) path.lineTo( - x.toFloat(), Math.cbrt(radiusToPow - abs(x * x * x)).toFloat() + x.toFloat(), cbrt(radiusToPow - abs(x * x * x)).toFloat() ) for (x in radius downTo -radius) path.lineTo( - x.toFloat(), -Math.cbrt(radiusToPow - abs(x * x * x)).toFloat() + x.toFloat(), -cbrt(radiusToPow - abs(x * x * x)).toFloat() ) path.close() val matrix = Matrix() diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/repo/OfflineRepository.kt b/app/src/main/java/xyz/apiote/bimba/czwek/repo/OfflineRepository.kt index 370e3fdc6c72ba886737c4440c0b88e18d4c77cc..6f9849cfc8b086ec4809afba0ad14e6218b4f58f 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/repo/OfflineRepository.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/repo/OfflineRepository.kt @@ -6,6 +6,8 @@ package xyz.apiote.bimba.czwek.repo import android.content.Context import androidx.core.content.edit +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext import xyz.apiote.bimba.czwek.api.Server import xyz.apiote.fruchtfleisch.Reader import xyz.apiote.fruchtfleisch.Writer @@ -37,7 +39,9 @@ context: Context, server: Server ): Map<String, FeedInfo>? { val file = File( - context.filesDir, URLEncoder.encode(server.apiPath, "utf-8") + context.filesDir, withContext(Dispatchers.IO) { + URLEncoder.encode(server.apiPath, "utf-8") + } ) if (!file.exists()) { return emptyMap() diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/repo/OnlineRepository.kt b/app/src/main/java/xyz/apiote/bimba/czwek/repo/OnlineRepository.kt index 41719310917f2dbc331d147cd03fa30d5676bd61..8432f937e713904e92c77440c6d634607f8167fe 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/repo/OnlineRepository.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/repo/OnlineRepository.kt @@ -45,8 +45,6 @@ import xyz.apiote.bimba.czwek.api.responses.QueryablesResponseV1 import xyz.apiote.bimba.czwek.api.responses.QueryablesResponseV2 import xyz.apiote.bimba.czwek.api.responses.QueryablesResponseV3 import xyz.apiote.bimba.czwek.api.responses.QueryablesResponseV4 -import java.io.File -import java.net.URLEncoder import java.time.LocalDate // todo [3.2] in Repository check if responses are BARE or HTML diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/repo/Stop.kt b/app/src/main/java/xyz/apiote/bimba/czwek/repo/Stop.kt index 3c79dffea5278fa9f9090bd4cbd18c8f098a3a79..0c6909006f92fe6a5bc7add619c14d4b7cc7a0a4 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/repo/Stop.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/repo/Stop.kt @@ -5,20 +5,10 @@ package xyz.apiote.bimba.czwek.repo import android.content.Context -import android.content.res.Configuration -import android.content.res.TypedArray -import android.graphics.Bitmap -import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable -import androidx.appcompat.content.res.AppCompatResources -import androidx.core.graphics.ColorUtils -import androidx.core.graphics.drawable.toBitmap import xyz.apiote.bimba.czwek.R import xyz.apiote.bimba.czwek.api.StopV1 import xyz.apiote.bimba.czwek.api.StopV2 -import xyz.apiote.bimba.czwek.dpToPixelI -import java.util.zip.Adler32 - data class Stop( val code: String, @@ -28,32 +18,10 @@ val zone: String, val feedID: String?, val position: Position, val changeOptions: List<ChangeOption> -) : Queryable, Locatable { +) : Queryable, Locatable, StopAbstract { override fun icon(context: Context, scale: Float): Drawable { - val md = Adler32().let { - it.update(nodeName.toByteArray()) - it.value - } - val h = md % 359f - val s = 1.0f - val a: TypedArray = context.theme.obtainStyledAttributes( - R.style.Theme_Bimba, intArrayOf(R.attr.randomColourLightness) - ) - val l = a.getFloat(0, when (context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) { - Configuration.UI_MODE_NIGHT_YES -> 1f - Configuration.UI_MODE_NIGHT_NO -> 0f - Configuration.UI_MODE_NIGHT_UNDEFINED -> 0f - else -> 0f - }) - a.recycle() - val bg = AppCompatResources.getDrawable(context, R.drawable.stop)!!.mutate().apply { - setTint(ColorUtils.HSLToColor(floatArrayOf(h, s, l))) - } - return BitmapDrawable( - context.resources, - bg.toBitmap(dpToPixelI(24f / scale), dpToPixelI(24f / scale), Bitmap.Config.ARGB_8888) - ) + return super.icon(context, nodeName, scale) } override fun id(): String = code diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/repo/StopAbstract.kt b/app/src/main/java/xyz/apiote/bimba/czwek/repo/StopAbstract.kt new file mode 100644 index 0000000000000000000000000000000000000000..5a50f42e09d60e52d10100d188243eaa51cae669 --- /dev/null +++ b/app/src/main/java/xyz/apiote/bimba/czwek/repo/StopAbstract.kt @@ -0,0 +1,46 @@ +// SPDX-FileCopyrightText: Adam Evyčędo +// +// SPDX-License-Identifier: GPL-3.0-or-later + +package xyz.apiote.bimba.czwek.repo + +import android.content.Context +import android.content.res.Configuration +import android.content.res.TypedArray +import android.graphics.Bitmap +import android.graphics.drawable.BitmapDrawable +import android.graphics.drawable.Drawable +import androidx.appcompat.content.res.AppCompatResources +import androidx.core.graphics.ColorUtils +import androidx.core.graphics.drawable.toBitmap +import xyz.apiote.bimba.czwek.R +import xyz.apiote.bimba.czwek.dpToPixelI +import java.util.zip.Adler32 + +interface StopAbstract{ + fun icon(context: Context, nodeName: String, scale: Float): Drawable { + val md = Adler32().let { + it.update(nodeName.toByteArray()) + it.value + } + val h = md % 359f + val s = 1.0f + val a: TypedArray = context.theme.obtainStyledAttributes( + R.style.Theme_Bimba, intArrayOf(R.attr.randomColourLightness) + ) + val l = a.getFloat(0, when (context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) { + Configuration.UI_MODE_NIGHT_YES -> 1f + Configuration.UI_MODE_NIGHT_NO -> 0f + Configuration.UI_MODE_NIGHT_UNDEFINED -> 0f + else -> 0f + }) + a.recycle() + val bg = AppCompatResources.getDrawable(context, R.drawable.stop)!!.mutate().apply { + setTint(ColorUtils.HSLToColor(floatArrayOf(h, s, l))) + } + return BitmapDrawable( + context.resources, + bg.toBitmap(dpToPixelI(24f / scale), dpToPixelI(24f / scale), Bitmap.Config.ARGB_8888) + ) + } +} \ No newline at end of file diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/repo/StopStub.kt b/app/src/main/java/xyz/apiote/bimba/czwek/repo/StopStub.kt index b3536dc60d5d3c69af3f9dab98b919110aa0856e..361b093c3f8dd836f328f608dda785f7db11d186 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/repo/StopStub.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/repo/StopStub.kt @@ -5,24 +5,14 @@ package xyz.apiote.bimba.czwek.repo import android.content.Context -import android.content.res.Configuration -import android.content.res.TypedArray -import android.graphics.Bitmap -import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import android.os.Parcelable -import androidx.appcompat.content.res.AppCompatResources -import androidx.core.graphics.ColorUtils -import androidx.core.graphics.drawable.toBitmap import kotlinx.parcelize.Parcelize -import xyz.apiote.bimba.czwek.R import xyz.apiote.bimba.czwek.api.StopStub -import xyz.apiote.bimba.czwek.dpToPixelI -import java.util.zip.Adler32 @Parcelize data class StopStub(val name: String, val nodeName: String, val code: String, val zone: String, val onDemand: Boolean) : - Parcelable { + Parcelable, StopAbstract { constructor(stopStub: StopStub) : this( stopStub.name, stopStub.nodeName, @@ -31,29 +21,6 @@ stopStub.zone, stopStub.onDemand ) fun icon(context: Context, scale: Float = 1f): Drawable { - // TODO same is in Stop - val md = Adler32().let { - it.update(nodeName.toByteArray()) - it.value - } - val h = md % 359f - val s = 1.0f - val a: TypedArray = context.theme.obtainStyledAttributes( - R.style.Theme_Bimba, intArrayOf(R.attr.randomColourLightness) - ) - val l = a.getFloat(0, when (context.resources.configuration.uiMode and Configuration.UI_MODE_NIGHT_MASK) { - Configuration.UI_MODE_NIGHT_YES -> 1f - Configuration.UI_MODE_NIGHT_NO -> 0f - Configuration.UI_MODE_NIGHT_UNDEFINED -> 0f - else -> 0f - }) - a.recycle() - val bg = AppCompatResources.getDrawable(context, R.drawable.stop)!!.mutate().apply { - setTint(ColorUtils.HSLToColor(floatArrayOf(h, s, l))) - } - return BitmapDrawable( - context.resources, - bg.toBitmap(dpToPixelI(24f / scale), dpToPixelI(24f / scale), Bitmap.Config.ARGB_8888) - ) + return super.icon(context, nodeName, scale) } } \ No newline at end of file diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/search/ResultsActivity.kt b/app/src/main/java/xyz/apiote/bimba/czwek/search/ResultsActivity.kt index 6243e61e18928bc6551514c3f3195c511222738c..95054348f2de4faf524e27245737e784f1222b45 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/search/ResultsActivity.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/search/ResultsActivity.kt @@ -8,7 +8,6 @@ import android.content.Context import android.location.Location import android.location.LocationListener import android.location.LocationManager -import android.net.ConnectivityManager import android.os.Build import android.os.Bundle import android.os.Handler diff --git a/app/src/main/java/xyz/apiote/bimba/czwek/settings/feeds/FeedInfos.kt b/app/src/main/java/xyz/apiote/bimba/czwek/settings/feeds/FeedInfos.kt index eef661fae7852973c68f30dfc11fe1cc92bc957a..411804efd7acd137d2fb6b463d7794c3cf1395a5 100644 --- a/app/src/main/java/xyz/apiote/bimba/czwek/settings/feeds/FeedInfos.kt +++ b/app/src/main/java/xyz/apiote/bimba/czwek/settings/feeds/FeedInfos.kt @@ -4,7 +4,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later package xyz.apiote.bimba.czwek.settings.feeds -import android.content.Context import android.content.DialogInterface import android.os.Bundle import android.view.LayoutInflater diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 9d6059f8751cc4e6a210a4459c94807001d67074..cc6338a0fc5b2a418f0f9b14b74b587cd15f9eee 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -110,7 +110,7 @@link al codice sorgente <string name="mastodon_button_description">link a Mastodon</string> <string name="use_online_feed">Usa online</string> <string name="information_may_be_outdated">Le informazioni possono essere obsolete</string> - <string name="current_timetable_validity">Orario attuale valido: %1$s fino alla %1$s</string> + <string name="current_timetable_validity">Orario attuale valido: %1$s fino alla %2$s</string> <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> diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 4fd625132f229f0283aad0a849f11e5d6aecb19f..f8cb6efee9ec00b3f6337eb02a65a946d5bbdba4 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -111,7 +111,7 @@link do kodu źródłowego <string name="mastodon_button_description">link do Mastodona</string> <string name="use_online_feed">Używaj online</string> <string name="information_may_be_outdated">Informacje mogą być nieaktualne</string> - <string name="current_timetable_validity">Aktualny rozkła ważny: %1$s do %2$s</string> + <string name="current_timetable_validity">Aktualny rozkład ważny: %1$s do %2$s</string> <string name="error_406">Wersja aplikacji jest niekompatybilna z serwerem</string> <string name="filter_localities">filtruj lokalizacje</string> <string name="error_41">Ta lokalizacja nie jest obsługiwana przez serwer</string>