mirror of
https://gitlab.com/oeffi/oeffi.git
synced 2025-07-06 17:38:48 +00:00
Compare commits
10 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
f1198671b1 | ||
![]() |
2736bc82dd | ||
![]() |
cd6628088a | ||
![]() |
e7e8af6a10 | ||
![]() |
53c5ea26b6 | ||
![]() |
37949d2628 | ||
![]() |
90c3e70665 | ||
![]() |
d1c124478d | ||
![]() |
004f32b234 | ||
![]() |
e361a6fc06 |
11 changed files with 35 additions and 14 deletions
|
@ -18,8 +18,11 @@ FROM debian:bookworm-slim AS build-stage
|
|||
|
||||
# install debian packages
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
RUN /usr/bin/apt-get update && \
|
||||
/usr/bin/apt-get --yes install disorderfs openjdk-17-jdk-headless gradle sdkmanager && \
|
||||
RUN --mount=target=/var/lib/apt/lists,type=cache,sharing=locked \
|
||||
--mount=target=/var/cache/apt,type=cache,sharing=locked \
|
||||
/bin/rm -f /etc/apt/apt.conf.d/docker-clean && \
|
||||
/usr/bin/apt-get update && \
|
||||
/usr/bin/apt-get --yes --no-install-recommends install disorderfs openjdk-17-jdk-headless gradle sdkmanager && \
|
||||
/bin/ln -fs /usr/share/zoneinfo/CET /etc/localtime && \
|
||||
/usr/sbin/dpkg-reconfigure --frontend noninteractive tzdata && \
|
||||
/bin/ln -s /proc/self/mounts /etc/mtab && \
|
||||
|
@ -34,10 +37,13 @@ COPY --chown=builder / project/
|
|||
|
||||
# accept SDK licenses
|
||||
ENV ANDROID_HOME /home/builder/android-sdk
|
||||
RUN yes | /usr/bin/sdkmanager --licenses >/dev/null
|
||||
RUN --mount=target=/home/builder/android-sdk,type=cache,uid=1000,gid=1000,sharing=locked \
|
||||
yes | /usr/bin/sdkmanager --licenses >/dev/null
|
||||
|
||||
# build project
|
||||
RUN if [ -e /dev/fuse ] ; \
|
||||
RUN --mount=target=/home/builder/android-sdk,type=cache,uid=1000,gid=1000,sharing=locked \
|
||||
--mount=target=/home/builder/.gradle,type=cache,uid=1000,gid=1000,sharing=locked \
|
||||
if [ -e /dev/fuse ] ; \
|
||||
then /bin/mv project project.u && /bin/mkdir project && \
|
||||
/usr/bin/disorderfs --sort-dirents=yes --reverse-dirents=no project.u project ; \
|
||||
fi && \
|
||||
|
|
|
@ -20,8 +20,8 @@
|
|||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="de.schildbach.oeffi"
|
||||
android:versionCode="130009"
|
||||
android:versionName="13.0.9">
|
||||
android:versionCode="130011"
|
||||
android:versionName="13.0.11">
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="24"
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
v13.0.4-v13.0.9
|
||||
v13.0.11
|
||||
|
||||
* Add region again: Poland (PKP)
|
||||
|
||||
v13.0.4-v13.0.10
|
||||
|
||||
* Target Android 15.
|
||||
|
||||
|
|
|
@ -65,6 +65,9 @@ SE|sv-SE|SE;Stockholm
|
|||
TLEM|en-UK|GB;Greater London;Derbyshire;Leicestershire;Rutland;Northamptonshire;Nottinghamshire;Lincolnshire;Berkshire;Buckinghamshire;East Sussex;Hampshire;Isle of Wight;Kent;Oxfordshire;Surrey;West Sussex;Essex;Hertfordshire;Bedfordshire;Cambridgeshire;Norfolk;Suffolk;Somerset;Gloucestershire;Wiltshire;Dorset;Devon;Cornwall;West Devon;Stowford;Eastleigh;Swindon;Gloucester;Plymouth;Torbay;Bournemouth;Poole;Birmingham
|
||||
MERSEY|en-UK|GB;Liverpool|beta
|
||||
|
||||
# PL
|
||||
PL|pl-PL|PL;Warschau
|
||||
|
||||
# AE
|
||||
DUB|ae-AE|AE;Dubai|beta
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ dependencies {
|
|||
implementation 'com.squareup.okhttp3:okhttp:3.12.13'
|
||||
//noinspection GradleDependency
|
||||
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.13'
|
||||
implementation 'com.google.guava:guava:33.3.0-android'
|
||||
implementation 'com.google.guava:guava:33.4.0-android'
|
||||
implementation 'org.osmdroid:osmdroid-android:6.1.20'
|
||||
//noinspection GradleDependency
|
||||
implementation 'org.slf4j:slf4j-api:2.0.9'
|
||||
|
|
|
@ -97,6 +97,8 @@
|
|||
<string name="network_tlem_comment">Lokal- und Regionalverkehr (z.B. London, Birmingham)</string>
|
||||
<string name="network_mersey_label">Liverpool</string>
|
||||
<string name="network_mersey_comment">Lokal- und Regionalverkehr</string>
|
||||
<string name="network_pl_label">Polen</string>
|
||||
<string name="network_pl_comment">Fern-, Regional und Lokalverkehr (z.B. Warschau)</string>
|
||||
<string name="network_dub_label">Dubai</string>
|
||||
<string name="network_dub_comment">Lokalverkehr</string>
|
||||
<string name="network_bart_label">San Francisco</string>
|
||||
|
|
|
@ -97,6 +97,8 @@
|
|||
<string name="network_tlem_comment">local and regional (e.g. London, Birmingham)</string>
|
||||
<string name="network_mersey_label">Liverpool</string>
|
||||
<string name="network_mersey_comment">local and regional</string>
|
||||
<string name="network_pl_label">Poland</string>
|
||||
<string name="network_pl_comment">long-distance, regional and local (e.g. Warsaw)</string>
|
||||
<string name="network_dub_label">Dubai</string>
|
||||
<string name="network_dub_comment">local</string>
|
||||
<string name="network_bart_label">San Francisco</string>
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
<domain includeSubdomains="false">appefa10.verbundlinie.at</domain><!-- STV -->
|
||||
<domain includeSubdomains="false">railteam.hafas.eu</domain><!-- Railteam -->
|
||||
<domain includeSubdomains="false">mobil.vbl.ch</domain><!-- VBL -->
|
||||
<domain includeSubdomains="false">mobil.rozklad-pkp.pl</domain><!-- PKP -->
|
||||
</domain-config>
|
||||
|
||||
</network-security-config>
|
||||
|
|
|
@ -46,6 +46,7 @@ import de.schildbach.pte.NsProvider;
|
|||
import de.schildbach.pte.NvbwProvider;
|
||||
import de.schildbach.pte.NvvProvider;
|
||||
import de.schildbach.pte.OebbProvider;
|
||||
import de.schildbach.pte.PlProvider;
|
||||
import de.schildbach.pte.RtProvider;
|
||||
import de.schildbach.pte.RtaChicagoProvider;
|
||||
import de.schildbach.pte.SeProvider;
|
||||
|
@ -77,7 +78,7 @@ public final class NetworkProviderFactory {
|
|||
private static Map<NetworkId, NetworkProvider> providerCache = new HashMap<>();
|
||||
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 USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:134.0) Gecko/20100101 Firefox/134.0";
|
||||
private static final byte[] VRS_CLIENT_CERTIFICATE = BASE64.decode("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");
|
||||
|
||||
public static synchronized NetworkProvider provider(final NetworkId networkId) {
|
||||
|
@ -86,7 +87,8 @@ public final class NetworkProviderFactory {
|
|||
return cachedNetworkProvider;
|
||||
|
||||
final AbstractNetworkProvider networkProvider = forId(networkId);
|
||||
networkProvider.setUserAgent(USER_AGENT);
|
||||
if (networkId != NetworkId.PL)
|
||||
networkProvider.setUserAgent(USER_AGENT);
|
||||
providerCache.put(networkId, networkProvider);
|
||||
return networkProvider;
|
||||
}
|
||||
|
@ -178,6 +180,8 @@ public final class NetworkProviderFactory {
|
|||
return new TlemProvider();
|
||||
else if (networkId.equals(NetworkId.MERSEY))
|
||||
return new MerseyProvider();
|
||||
else if (networkId.equals(NetworkId.PL))
|
||||
return new PlProvider("{\"type\":\"AID\",\"aid\":\"DrxJYtYZQpEBCtcb\"}");
|
||||
else if (networkId.equals(NetworkId.DUB))
|
||||
return new DubProvider();
|
||||
else if (networkId.equals(NetworkId.BART))
|
||||
|
|
|
@ -433,9 +433,8 @@ public class StationDetailsActivity extends OeffiActivity implements StationsAwa
|
|||
@Override
|
||||
public int getItemCount() {
|
||||
final List<Departure> selectedDepartures = StationDetailsActivity.this.selectedDepartures;
|
||||
if (selectedDepartures == null || selectedDepartures.isEmpty())
|
||||
return 1;
|
||||
return selectedDepartures.size();
|
||||
final int numDepartures = selectedDepartures != null ? selectedDepartures.size() : 0;
|
||||
return numDepartures + 1; // account for header
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 3589b7accc43656c13421a9cbe1335f188d128a2
|
||||
Subproject commit c7f77ac4c89b9dbb31625998b9de1dd3d617d68a
|
Loading…
Add table
Add a link
Reference in a new issue