Loading cardinal-android/app/src/main/java/earth/maps/cardinal/transit/TransitousModels.kt +8 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import androidx.compose.ui.graphics.Color import androidx.core.graphics.toColorInt import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlin.time.ExperimentalTime import kotlin.time.Instant @Serializable data class TransitStop( Loading Loading @@ -317,4 +319,9 @@ data class PlanResponse( val itineraries: List<Itinerary>, val previousPageCursor: String, val nextPageCursor: String ) ) { @OptIn(ExperimentalTime::class) fun allItineraries(): List<Itinerary> { return itineraries.plus(direct).sortedBy { itinerary -> Instant.parse(itinerary.endTime) } } } cardinal-android/app/src/main/java/earth/maps/cardinal/transit/TransitousService.kt +4 −2 Original line number Diff line number Diff line Loading @@ -142,7 +142,8 @@ class TransitousService @Inject constructor(private val appPreferenceRepository: directRentalPropulsionTypes: List<String>? = null, preTransitRentalPropulsionTypes: List<String>? = null, postTransitRentalPropulsionTypes: List<String>? = null, numItineraries: Int = 5, numItineraries: Int = 10, maxItineraries: Int = 10, pageCursor: String? = null, timetableView: Boolean = true, withFares: Boolean = false, Loading Loading @@ -199,6 +200,7 @@ class TransitousService @Inject constructor(private val appPreferenceRepository: ) } parameter("numItineraries", numItineraries) parameter("maxItineraries", maxItineraries) pageCursor?.let { parameter("pageCursor", it) } parameter("timetableView", timetableView) parameter("withFares", withFares) Loading @@ -206,7 +208,7 @@ class TransitousService @Inject constructor(private val appPreferenceRepository: } val result = response.body<PlanResponse>() Log.d(TAG, "Plan response: ${result.itineraries.size} itineraries") Log.d(TAG, "Plan response: ${result.allItineraries()} itineraries (including direct)") emit(result) } catch (e: Exception) { Loading cardinal-android/app/src/main/java/earth/maps/cardinal/ui/directions/DirectionsScreen.kt +1 −1 Original line number Diff line number Diff line Loading @@ -727,7 +727,7 @@ fun RouteDisplayHandler( } } } else { onRouteUpdate(null, routeState.routes) onRouteUpdate(null, emptyList()) } } } Loading cardinal-android/app/src/main/java/earth/maps/cardinal/ui/directions/DirectionsViewModel.kt +0 −1 Original line number Diff line number Diff line Loading @@ -191,7 +191,6 @@ class DirectionsViewModel @Inject constructor( transitousService.getPlan( from = LatLng(origin.latLng.latitude, origin.latLng.longitude), to = LatLng(destination.latLng.latitude, destination.latLng.longitude), timetableView = false, withFares = true, ).collect { planResponse -> planStateRepository.setPlanResponse(planResponse) Loading cardinal-android/app/src/main/java/earth/maps/cardinal/ui/directions/TransitDirectionsScreen.kt +3 −2 Original line number Diff line number Diff line Loading @@ -113,9 +113,10 @@ private fun TransitTimelineResults( distanceUnit: Int, modifier: Modifier = Modifier ) { val itineraries = planResponse.allItineraries() LazyColumn(modifier = modifier) { items(planResponse.itineraries.size) { index -> val itinerary = planResponse.itineraries.reversed()[index] items(itineraries.size) { index -> val itinerary = itineraries[index] TransitItineraryCard( itinerary = itinerary, Loading Loading
cardinal-android/app/src/main/java/earth/maps/cardinal/transit/TransitousModels.kt +8 −1 Original line number Diff line number Diff line Loading @@ -22,6 +22,8 @@ import androidx.compose.ui.graphics.Color import androidx.core.graphics.toColorInt import kotlinx.serialization.SerialName import kotlinx.serialization.Serializable import kotlin.time.ExperimentalTime import kotlin.time.Instant @Serializable data class TransitStop( Loading Loading @@ -317,4 +319,9 @@ data class PlanResponse( val itineraries: List<Itinerary>, val previousPageCursor: String, val nextPageCursor: String ) ) { @OptIn(ExperimentalTime::class) fun allItineraries(): List<Itinerary> { return itineraries.plus(direct).sortedBy { itinerary -> Instant.parse(itinerary.endTime) } } }
cardinal-android/app/src/main/java/earth/maps/cardinal/transit/TransitousService.kt +4 −2 Original line number Diff line number Diff line Loading @@ -142,7 +142,8 @@ class TransitousService @Inject constructor(private val appPreferenceRepository: directRentalPropulsionTypes: List<String>? = null, preTransitRentalPropulsionTypes: List<String>? = null, postTransitRentalPropulsionTypes: List<String>? = null, numItineraries: Int = 5, numItineraries: Int = 10, maxItineraries: Int = 10, pageCursor: String? = null, timetableView: Boolean = true, withFares: Boolean = false, Loading Loading @@ -199,6 +200,7 @@ class TransitousService @Inject constructor(private val appPreferenceRepository: ) } parameter("numItineraries", numItineraries) parameter("maxItineraries", maxItineraries) pageCursor?.let { parameter("pageCursor", it) } parameter("timetableView", timetableView) parameter("withFares", withFares) Loading @@ -206,7 +208,7 @@ class TransitousService @Inject constructor(private val appPreferenceRepository: } val result = response.body<PlanResponse>() Log.d(TAG, "Plan response: ${result.itineraries.size} itineraries") Log.d(TAG, "Plan response: ${result.allItineraries()} itineraries (including direct)") emit(result) } catch (e: Exception) { Loading
cardinal-android/app/src/main/java/earth/maps/cardinal/ui/directions/DirectionsScreen.kt +1 −1 Original line number Diff line number Diff line Loading @@ -727,7 +727,7 @@ fun RouteDisplayHandler( } } } else { onRouteUpdate(null, routeState.routes) onRouteUpdate(null, emptyList()) } } } Loading
cardinal-android/app/src/main/java/earth/maps/cardinal/ui/directions/DirectionsViewModel.kt +0 −1 Original line number Diff line number Diff line Loading @@ -191,7 +191,6 @@ class DirectionsViewModel @Inject constructor( transitousService.getPlan( from = LatLng(origin.latLng.latitude, origin.latLng.longitude), to = LatLng(destination.latLng.latitude, destination.latLng.longitude), timetableView = false, withFares = true, ).collect { planResponse -> planStateRepository.setPlanResponse(planResponse) Loading
cardinal-android/app/src/main/java/earth/maps/cardinal/ui/directions/TransitDirectionsScreen.kt +3 −2 Original line number Diff line number Diff line Loading @@ -113,9 +113,10 @@ private fun TransitTimelineResults( distanceUnit: Int, modifier: Modifier = Modifier ) { val itineraries = planResponse.allItineraries() LazyColumn(modifier = modifier) { items(planResponse.itineraries.size) { index -> val itinerary = planResponse.itineraries.reversed()[index] items(itineraries.size) { index -> val itinerary = itineraries[index] TransitItineraryCard( itinerary = itinerary, Loading