diff --git a/oeffi/assets/networks.txt b/oeffi/assets/networks.txt index 9355a38..d66c4f9 100644 --- a/oeffi/assets/networks.txt +++ b/oeffi/assets/networks.txt @@ -45,22 +45,10 @@ VVT|de-AT|Tirol|disabled SVV|de-AT|Salzburg|disabled VMOBIL|de-AT|Vorarlberg;Bregenz|disabled -# CZ -CZECH_REPUBLIC|cs-CZ|Tschechien;Praha;Prag|beta - # CH VBL|de-CH|Luzern ZVV|de-CH|Zürich -# IT -IT|it-IT|IT|alpha - -# FR -PARIS|fr-FR|FR|alpha - -# ES -SPAIN|es-ES|ES|alpha - # LU LU|lb-LU|LU;Luxemburg @@ -88,6 +76,3 @@ CMTA|us-US|US;Texas;Austin|beta # AU SYDNEY|en-AU|AU;New South Wales;Sydney MET|en-AU|AU;Victoria;Melbourne|disabled - -# NI -NICARAGUA|es-NI|NI;Managua|beta diff --git a/oeffi/res/values-de/networks.xml b/oeffi/res/values-de/networks.xml index 9545206..591b3c3 100644 --- a/oeffi/res/values-de/networks.xml +++ b/oeffi/res/values-de/networks.xml @@ -81,18 +81,10 @@ Lokal- und Regionalverkehr Bregenz & Vorarlberg Nicht verfügbar, weil der VVV ausdrücklich darum gebeten hat, nicht in Öffi enthalten zu sein. Du kannst stattdessen die ÖBB verwenden, das funktioniert für Vorarlberg auch gut. - Prag - Lokal- und Regionalverkehr Luzern nur Tram und Bus Zürich Lokal- und Regionalverkehr - Italien - Fern-, Regional und Lokalverkehr (z.B. Mailand, Rom, Neapel) - Paris - Lokal- und Regionalverkehr - Spanien - Lokal- und Regionalverkehr (z.B. Barcelona) Luxemburg Lokal- und Regionalverkehr Niederlande @@ -115,8 +107,6 @@ Lokal- und Regionalverkehr Sydney Lokal- und Regionalverkehr - Nicaragua - nationale und städtische Buslinien Melbourne Nicht mehr verfügbar, da der PTV keine EFA-API mehr anbietet. diff --git a/oeffi/res/values/networks.xml b/oeffi/res/values/networks.xml index 8915363..e7a6def 100644 --- a/oeffi/res/values/networks.xml +++ b/oeffi/res/values/networks.xml @@ -81,18 +81,10 @@ local and regional Bregenz & Vorarlberg Not available, because the VVV explicitly desires not to be included in Offi. You can use the ÖBB instead, it works well for Vorarlberg too. - Prague - local and regional Lucerne tram and bus only Zurich local and regional - Italy - long-distance, regional and local (e.g. Milan, Rome, Naples) - Paris - local and regional - Spain - local and regional (e.g. Barcelona) Luxembourg local and regional Netherlands @@ -115,8 +107,6 @@ local and regional Sydney local and regional - Nicaragua - national and urban buses Melbourne Not available, because the PTV does not offer an EFA API any more. diff --git a/oeffi/src/de/schildbach/oeffi/Application.java b/oeffi/src/de/schildbach/oeffi/Application.java index bae1145..1b00c67 100644 --- a/oeffi/src/de/schildbach/oeffi/Application.java +++ b/oeffi/src/de/schildbach/oeffi/Application.java @@ -125,6 +125,36 @@ public class Application extends android.app.Application { FavoriteStationsProvider.deleteFavoriteStations(this, FINLAND); QueryHistoryProvider.deleteQueryHistory(this, FINLAND); + // 2024-08-30: migrate Czech Republic to use RT + final String CZECH_REPUBLIC = "CZECH_REPUBLIC"; + migrateSelectedNetwork(CZECH_REPUBLIC, NetworkId.RT); + FavoriteStationsProvider.deleteFavoriteStations(this, CZECH_REPUBLIC); + QueryHistoryProvider.deleteQueryHistory(this, CZECH_REPUBLIC); + + // 2024-08-30: migrate Italy to use RT + final String IT = "IT"; + migrateSelectedNetwork(IT, NetworkId.RT); + FavoriteStationsProvider.deleteFavoriteStations(this, IT); + QueryHistoryProvider.deleteQueryHistory(this, IT); + + // 2024-08-30: migrate Paris to use RT + final String PARIS = "PARIS"; + migrateSelectedNetwork(PARIS, NetworkId.RT); + FavoriteStationsProvider.deleteFavoriteStations(this, PARIS); + QueryHistoryProvider.deleteQueryHistory(this, PARIS); + + // 2024-08-30: migrate Spain to use RT + final String SPAIN = "SPAIN"; + migrateSelectedNetwork(SPAIN, NetworkId.RT); + FavoriteStationsProvider.deleteFavoriteStations(this, SPAIN); + QueryHistoryProvider.deleteQueryHistory(this, SPAIN); + + // 2024-08-30: migrate Nicaragua to use RT + final String NICARAGUA = "NICARAGUA"; + migrateSelectedNetwork(NICARAGUA, NetworkId.RT); + FavoriteStationsProvider.deleteFavoriteStations(this, NICARAGUA); + QueryHistoryProvider.deleteQueryHistory(this, NICARAGUA); + log.info("Migrations took {}", watch); } diff --git a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java index ba5c8fd..cab21f6 100644 --- a/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java +++ b/oeffi/src/de/schildbach/oeffi/network/NetworkPickerActivity.java @@ -56,7 +56,6 @@ import de.schildbach.oeffi.network.list.NetworksAdapter; import de.schildbach.oeffi.util.DividerItemDecoration; import de.schildbach.oeffi.util.GeocoderThread; import de.schildbach.oeffi.util.LocationHelper; -import de.schildbach.pte.AbstractNavitiaProvider; import de.schildbach.pte.NetworkId; import de.schildbach.pte.NetworkProvider; import de.schildbach.pte.dto.Location; @@ -475,10 +474,6 @@ public class NetworkPickerActivity extends ComponentActivity implements Location final NetworkProvider networkProvider = NetworkProviderFactory.provider(NetworkId.valueOf(network.id)); - // workaround, because of network access for navitia - if (AbstractNavitiaProvider.class.isAssignableFrom(networkProvider.getClass())) - return false; - boolean inArea = false; final Point[] area = getArea(networkProvider); diff --git a/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java b/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java index 03ce9e1..eb54880 100644 --- a/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java +++ b/oeffi/src/de/schildbach/oeffi/network/NetworkProviderFactory.java @@ -27,14 +27,12 @@ import de.schildbach.pte.BayernProvider; import de.schildbach.pte.BsvagProvider; import de.schildbach.pte.BvgProvider; import de.schildbach.pte.CmtaProvider; -import de.schildbach.pte.CzechRepublicProvider; import de.schildbach.pte.DbProvider; import de.schildbach.pte.DingProvider; import de.schildbach.pte.DsbProvider; import de.schildbach.pte.DubProvider; import de.schildbach.pte.GvhProvider; import de.schildbach.pte.InvgProvider; -import de.schildbach.pte.ItalyProvider; import de.schildbach.pte.KvvProvider; import de.schildbach.pte.LinzProvider; import de.schildbach.pte.LuProvider; @@ -44,17 +42,14 @@ import de.schildbach.pte.MvvProvider; import de.schildbach.pte.NasaProvider; import de.schildbach.pte.NetworkId; import de.schildbach.pte.NetworkProvider; -import de.schildbach.pte.NicaraguaProvider; import de.schildbach.pte.NsProvider; import de.schildbach.pte.NvbwProvider; import de.schildbach.pte.NvvProvider; import de.schildbach.pte.OebbProvider; -import de.schildbach.pte.ParisProvider; import de.schildbach.pte.RtProvider; import de.schildbach.pte.RtaChicagoProvider; import de.schildbach.pte.SeProvider; import de.schildbach.pte.ShProvider; -import de.schildbach.pte.SpainProvider; import de.schildbach.pte.StvProvider; import de.schildbach.pte.SydneyProvider; import de.schildbach.pte.TlemProvider; @@ -83,7 +78,6 @@ public final class NetworkProviderFactory { private static final BaseEncoding BASE64 = BaseEncoding.base64(); private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.54"; - private static final String NAVITIA_AUTHORIZATION = "577e5781-23ee-4ff0-a5b3-92e5b04887e5"; // oeffi@schildbach.de private static final byte[] VRS_CLIENT_CERTIFICATE = BASE64.decode("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"); public static synchronized NetworkProvider provider(final NetworkId networkId) { @@ -169,18 +163,10 @@ public final class NetworkProviderFactory { return new LinzProvider(); else if (networkId.equals(NetworkId.STV)) return new StvProvider(); - else if (networkId.equals(NetworkId.CZECH_REPUBLIC)) - return new CzechRepublicProvider(NAVITIA_AUTHORIZATION); else if (networkId.equals(NetworkId.VBL)) return new VblProvider(); else if (networkId.equals(NetworkId.ZVV)) return new ZvvProvider("{\"type\":\"AID\",\"aid\":\"hf7mcf9bv3nv8g5f\"}"); - else if (networkId.equals(NetworkId.IT)) - return new ItalyProvider(NAVITIA_AUTHORIZATION); - else if (networkId.equals(NetworkId.PARIS)) - return new ParisProvider(NAVITIA_AUTHORIZATION); - else if (networkId.equals(NetworkId.SPAIN)) - return new SpainProvider(NAVITIA_AUTHORIZATION); else if (networkId.equals(NetworkId.LU)) return new LuProvider("{\"type\":\"AID\",\"aid\":\"SkC81GuwuzL4e0\"}"); else if (networkId.equals(NetworkId.NS)) @@ -203,8 +189,6 @@ public final class NetworkProviderFactory { return new CmtaProvider("{\"type\":\"AID\",\"aid\":\"web9j2nak29uz41irb\"}"); else if (networkId.equals(NetworkId.SYDNEY)) return new SydneyProvider(); - else if (networkId.equals(NetworkId.NICARAGUA)) - return new NicaraguaProvider(NAVITIA_AUTHORIZATION); else throw new IllegalArgumentException(networkId.name()); }