implemented RMV public transit module including trip search, station departures, and nearby stop lookup, added "Marianum Connect" API integration with bearer token authentication and auto-refresh logic, integrated geolocator for location-based station search, added persistent storage for favorite stations and recent trip queries, and implemented comprehensive UI for journey details, trip results, and disruption alerts

This commit is contained in:
2026-05-20 19:08:05 +02:00
parent f185b3273a
commit 067012cc84
61 changed files with 7885 additions and 1 deletions
+49
View File
@@ -0,0 +1,49 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'rmv_settings.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
RmvSettings _$RmvSettingsFromJson(Map<String, dynamic> json) => RmvSettings(
favoriteStations:
(json['favoriteStations'] as List<dynamic>?)
?.map((e) => StopLocation.fromJson(e as Map<String, dynamic>))
.toList() ??
const [],
recentStations:
(json['recentStations'] as List<dynamic>?)
?.map((e) => StopLocation.fromJson(e as Map<String, dynamic>))
.toList() ??
const [],
recentTripQueries:
(json['recentTripQueries'] as List<dynamic>?)
?.map((e) => RecentTripQuery.fromJson(e as Map<String, dynamic>))
.toList() ??
const [],
);
Map<String, dynamic> _$RmvSettingsToJson(
RmvSettings instance,
) => <String, dynamic>{
'favoriteStations': instance.favoriteStations.map((e) => e.toJson()).toList(),
'recentStations': instance.recentStations.map((e) => e.toJson()).toList(),
'recentTripQueries': instance.recentTripQueries
.map((e) => e.toJson())
.toList(),
};
RecentTripQuery _$RecentTripQueryFromJson(Map<String, dynamic> json) =>
RecentTripQuery(
from: StopLocation.fromJson(json['from'] as Map<String, dynamic>),
to: StopLocation.fromJson(json['to'] as Map<String, dynamic>),
timestampMs: (json['timestampMs'] as num).toInt(),
);
Map<String, dynamic> _$RecentTripQueryToJson(RecentTripQuery instance) =>
<String, dynamic>{
'from': instance.from.toJson(),
'to': instance.to.toJson(),
'timestampMs': instance.timestampMs,
};