Author: Adam Evyčędo <git@apiote.xyz>
make dev responses only available in debug
%!v(PANIC=String method: strings: negative Repeat count)
diff --git a/app/src/debug/java/xyz/apiote/bimba/czwek/api/responses/DevResponses.kt b/app/src/debug/java/xyz/apiote/bimba/czwek/api/responses/DevResponses.kt new file mode 100644 index 0000000000000000000000000000000000000000..e7e36dc7168480786df2c912ee01962d0bfb3826 --- /dev/null +++ b/app/src/debug/java/xyz/apiote/bimba/czwek/api/responses/DevResponses.kt @@ -0,0 +1,123 @@ +// SPDX-FileCopyrightText: Adam Evyčędo +// +// SPDX-License-Identifier: GPL-3.0-or-later + +package xyz.apiote.bimba.czwek.api.responses + +import xyz.apiote.bimba.czwek.api.AlertV1 +import xyz.apiote.bimba.czwek.api.DepartureV4 +import xyz.apiote.bimba.czwek.api.LineV3 +import xyz.apiote.bimba.czwek.api.LocatableV3 +import xyz.apiote.bimba.czwek.api.QueryableV4 +import xyz.apiote.bimba.czwek.api.StopV2 +import xyz.apiote.bimba.czwek.api.UnknownResourceVersionException +import xyz.apiote.bimba.czwek.api.VehicleV3 +import xyz.apiote.bimba.czwek.api.structs.FeedInfoV2 +import xyz.apiote.fruchtfleisch.Reader +import java.io.InputStream + +data class DeparturesResponseDev( + val alerts: List<AlertV1>, + val departures: List<DepartureV4>, + val stop: StopV2 +) : DeparturesResponse { + companion object { + fun unmarshal(stream: InputStream): DeparturesResponseDev { + val alerts = mutableListOf<AlertV1>() + val departures = mutableListOf<DepartureV4>() + + val reader = Reader(stream) + val alertsNum = reader.readUInt().toULong() + for (i in 0UL until alertsNum) { + val alert = AlertV1.unmarshal(stream) + alerts.add(alert) + } + val departuresNum = reader.readUInt().toULong() + for (i in 0UL until departuresNum) { + val departure = DepartureV4.unmarshal(stream) + departures.add(departure) + } + + return DeparturesResponseDev(alerts, departures, StopV2.unmarshal(stream)) + } + } +} + +data class FeedsResponseDev( + val feeds: List<FeedInfoV2> +) : FeedsResponse { + companion object { + fun unmarshal(stream: InputStream): FeedsResponseDev { + val feeds = mutableListOf<FeedInfoV2>() + val reader = Reader(stream) + val n = reader.readUInt().toULong() + for (i in 0UL until n) { + feeds.add(FeedInfoV2.unmarshal(stream)) + } + return FeedsResponseDev(feeds) + } + } +} + +data class LineResponseDev( + val line: LineV3 +) : LineResponse { + companion object { + fun unmarshal(stream: InputStream): LineResponseDev { + return LineResponseDev(LineV3.unmarshal(stream)) + } + } +} + +data class LocatablesResponseDev(val locatables: List<LocatableV3>) : LocatablesResponse { + companion object { + fun unmarshal(stream: InputStream): LocatablesResponseDev { + val locatables = mutableListOf<LocatableV3>() + val reader = Reader(stream) + val n = reader.readUInt().toULong() + for (i in 0UL until n) { + when (val r = reader.readUInt().toULong()) { + 0UL -> { + locatables.add(StopV2.unmarshal(stream)) + } + + 1UL -> { + locatables.add(VehicleV3.unmarshal(stream)) + } + + else -> { + throw UnknownResourceVersionException("Locatable/$r", 0u) + } + } + } + return LocatablesResponseDev(locatables) + } + } +} + + +data class QueryablesResponseDev(val queryables: List<QueryableV4>) : QueryablesResponse { + companion object { + fun unmarshal(stream: InputStream): QueryablesResponseDev { + val queryables = mutableListOf<QueryableV4>() + val reader = Reader(stream) + val n = reader.readUInt().toULong() + for (i in 0UL until n) { + when (val r = reader.readUInt().toULong()) { + 0UL -> { + queryables.add(StopV2.unmarshal(stream)) + } + + 1UL -> { + queryables.add(LineV3.unmarshal(stream)) + } + + else -> { + throw UnknownResourceVersionException("Queryable/$r", 0u) + } + } + } + return QueryablesResponseDev(queryables) + } + } +} 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 330be67791b036ebac516b1802c0a8c1f5e3ec2e..555cb33adfec50567f8005252d881f371a6a6e93 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 @@ -8,7 +8,6 @@ import xyz.apiote.bimba.czwek.api.AlertV1 import xyz.apiote.bimba.czwek.api.DepartureV1 import xyz.apiote.bimba.czwek.api.DepartureV2 import xyz.apiote.bimba.czwek.api.DepartureV3 -import xyz.apiote.bimba.czwek.api.DepartureV4 import xyz.apiote.bimba.czwek.api.StopV1 import xyz.apiote.bimba.czwek.api.StopV2 import xyz.apiote.fruchtfleisch.Reader @@ -25,33 +24,6 @@ 2UL -> DeparturesResponseV2.unmarshal(stream) 3UL -> DeparturesResponseV3.unmarshal(stream) else -> throw UnknownResponseVersion("Departures", v) } - } - } -} - -data class DeparturesResponseDev( - val alerts: List<AlertV1>, - val departures: List<DepartureV4>, - val stop: StopV2 -) : DeparturesResponse { - companion object { - fun unmarshal(stream: InputStream): DeparturesResponseDev { - val alerts = mutableListOf<AlertV1>() - val departures = mutableListOf<DepartureV4>() - - val reader = Reader(stream) - val alertsNum = reader.readUInt().toULong() - for (i in 0UL until alertsNum) { - val alert = AlertV1.unmarshal(stream) - alerts.add(alert) - } - val departuresNum = reader.readUInt().toULong() - for (i in 0UL until departuresNum) { - val departure = DepartureV4.unmarshal(stream) - departures.add(departure) - } - - return DeparturesResponseDev(alerts, departures, StopV2.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 2db68ec32cf82ff44a86c514e5111cf2142f5c6f..21ed8d834755bcb5a319869a689244a55f71747b 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 @@ -4,7 +4,6 @@ // SPDX-License-Identifier: GPL-3.0-or-later package xyz.apiote.bimba.czwek.api.responses -import xyz.apiote.bimba.czwek.api.responses.UnknownResponseVersion import xyz.apiote.bimba.czwek.api.structs.FeedInfoV1 import xyz.apiote.bimba.czwek.api.structs.FeedInfoV2 import xyz.apiote.fruchtfleisch.Reader @@ -20,22 +19,6 @@ 1UL -> FeedsResponseV1.unmarshal(stream) 2UL -> FeedsResponseV2.unmarshal(stream) else -> throw UnknownResponseVersion("Feeds", v) } - } - } -} - -data class FeedsResponseDev( - val feeds: List<FeedInfoV2> -) : FeedsResponse { - companion object { - fun unmarshal(stream: InputStream): FeedsResponseDev { - val feeds = mutableListOf<FeedInfoV2>() - val reader = Reader(stream) - val n = reader.readUInt().toULong() - for (i in 0UL until n) { - feeds.add(FeedInfoV2.unmarshal(stream)) - } - return FeedsResponseDev(feeds) } } } 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 f39fe6a3bed1b7ab03f45ed4a6cac4019df41d13..4709bbeb29ee0695d003bad281f553e0910dfb72 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 @@ -6,7 +6,6 @@ package xyz.apiote.bimba.czwek.api.responses import xyz.apiote.bimba.czwek.api.LineV1 import xyz.apiote.bimba.czwek.api.LineV2 -import xyz.apiote.bimba.czwek.api.LineV3 import xyz.apiote.fruchtfleisch.Reader import java.io.InputStream @@ -20,16 +19,6 @@ 1UL -> LineResponseV1.unmarshal(stream) 2UL -> LineResponseV2.unmarshal(stream) else -> throw UnknownResponseVersion("Line", v) } - } - } -} - -data class LineResponseDev( - val line: LineV3 -) : LineResponse { - companion object { - fun unmarshal(stream: InputStream): LineResponseDev { - return LineResponseDev(LineV3.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 f126d564f35d713d84edb60e202ef413e0622e4c..ea7273fb1c15725996d5a76aae5677b75988c0c0 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 @@ -10,7 +10,6 @@ import xyz.apiote.bimba.czwek.api.LocatableV3 import xyz.apiote.bimba.czwek.api.StopV1 import xyz.apiote.bimba.czwek.api.StopV2 import xyz.apiote.bimba.czwek.api.UnknownResourceVersionException -import xyz.apiote.bimba.czwek.api.responses.UnknownResponseVersion import xyz.apiote.bimba.czwek.api.VehicleV1 import xyz.apiote.bimba.czwek.api.VehicleV2 import xyz.apiote.bimba.czwek.api.VehicleV3 @@ -32,31 +31,6 @@ } } } -data class LocatablesResponseDev(val locatables: List<LocatableV3>) : LocatablesResponse { - companion object { - fun unmarshal(stream: InputStream): LocatablesResponseDev { - val locatables = mutableListOf<LocatableV3>() - val reader = Reader(stream) - val n = reader.readUInt().toULong() - for (i in 0UL until n) { - when (val r = reader.readUInt().toULong()) { - 0UL -> { - locatables.add(StopV2.unmarshal(stream)) - } - - 1UL -> { - locatables.add(VehicleV3.unmarshal(stream)) - } - - else -> { - throw UnknownResourceVersionException("Locatable/$r", 0u) - } - } - } - return LocatablesResponseDev(locatables) - } - } -} data class LocatablesResponseV3(val locatables: List<LocatableV3>) : LocatablesResponse { companion object { 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 64f526286fd71e04dcfbc891278d066cdc339bb2..e63b0b8f3bb35db7db30dcf3e60e0261b2bfa4c0 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 @@ -6,11 +6,9 @@ package xyz.apiote.bimba.czwek.api.responses import xyz.apiote.bimba.czwek.api.LineV1 import xyz.apiote.bimba.czwek.api.LineV2 -import xyz.apiote.bimba.czwek.api.LineV3 import xyz.apiote.bimba.czwek.api.QueryableV1 import xyz.apiote.bimba.czwek.api.QueryableV2 import xyz.apiote.bimba.czwek.api.QueryableV3 -import xyz.apiote.bimba.czwek.api.QueryableV4 import xyz.apiote.bimba.czwek.api.StopV1 import xyz.apiote.bimba.czwek.api.StopV2 import xyz.apiote.bimba.czwek.api.UnknownResourceVersionException @@ -28,32 +26,6 @@ 2UL -> QueryablesResponseV2.unmarshal(stream) 3UL -> QueryablesResponseV3.unmarshal(stream) else -> throw UnknownResponseVersion("Queryables", v) } - } - } -} - -data class QueryablesResponseDev(val queryables: List<QueryableV4>) : QueryablesResponse { - companion object { - fun unmarshal(stream: InputStream): QueryablesResponseDev { - val queryables = mutableListOf<QueryableV4>() - val reader = Reader(stream) - val n = reader.readUInt().toULong() - for (i in 0UL until n) { - when (val r = reader.readUInt().toULong()) { - 0UL -> { - queryables.add(StopV2.unmarshal(stream)) - } - - 1UL -> { - queryables.add(LineV3.unmarshal(stream)) - } - - else -> { - throw UnknownResourceVersionException("Queryable/$r", 0u) - } - } - } - return QueryablesResponseDev(queryables) } } } diff --git a/app/src/release/java/xyz/apiote/bimba/czwek/api/responses/DevResponses.kt b/app/src/release/java/xyz/apiote/bimba/czwek/api/responses/DevResponses.kt new file mode 100644 index 0000000000000000000000000000000000000000..8290582612b62aedbdcfdc18846921dd774b2d60 --- /dev/null +++ b/app/src/release/java/xyz/apiote/bimba/czwek/api/responses/DevResponses.kt @@ -0,0 +1,69 @@ +// SPDX-FileCopyrightText: Adam Evyčędo +// +// SPDX-License-Identifier: GPL-3.0-or-later + +package xyz.apiote.bimba.czwek.api.responses + +import xyz.apiote.bimba.czwek.api.AlertV1 +import xyz.apiote.bimba.czwek.api.DepartureV4 +import xyz.apiote.bimba.czwek.api.LineV3 +import xyz.apiote.bimba.czwek.api.ColourV1 +import xyz.apiote.bimba.czwek.api.LineTypeV3 +import xyz.apiote.bimba.czwek.api.LocatableV3 +import xyz.apiote.bimba.czwek.api.QueryableV4 +import xyz.apiote.bimba.czwek.api.StopV2 +import xyz.apiote.bimba.czwek.api.PositionV1 +import xyz.apiote.bimba.czwek.api.UnknownResourceVersionException +import xyz.apiote.bimba.czwek.api.VehicleV3 +import xyz.apiote.bimba.czwek.api.structs.FeedInfoV2 +import xyz.apiote.fruchtfleisch.Reader +import java.io.InputStream + +data class DeparturesResponseDev( + val alerts: List<AlertV1>, + val departures: List<DepartureV4>, + val stop: StopV2 +) : DeparturesResponse { + companion object { + private fun unmarshal(stream: InputStream): DeparturesResponseDev { + return DeparturesResponseDev(listOf(), listOf(), StopV2("","","","","", PositionV1(0.0, 0.0), listOf())) + } + } +} + +data class FeedsResponseDev( + val feeds: List<FeedInfoV2> +) : FeedsResponse { + companion object { + private fun unmarshal(stream: InputStream): FeedsResponseDev { + return FeedsResponseDev(listOf()) + } + } +} + +data class LineResponseDev( + val line: LineV3 +) : LineResponse { + companion object { + private fun unmarshal(stream: InputStream): LineResponseDev { + return LineResponseDev(LineV3("","",ColourV1(0u,0u,0u),LineTypeV3.UNKNOWN,"",listOf(),listOf())) + } + } +} + +data class LocatablesResponseDev(val locatables: List<LocatableV3>) : LocatablesResponse { + companion object { + private fun unmarshal(stream: InputStream): LocatablesResponseDev { + return LocatablesResponseDev(listOf()) + } + } +} + + +data class QueryablesResponseDev(val queryables: List<QueryableV4>) : QueryablesResponse { + companion object { + private fun unmarshal(stream: InputStream): QueryablesResponseDev { + return QueryablesResponseDev(listOf()) + } + } +}