Skip to content

Commit

Permalink
Update PTE: New 9292.nl provider and expose auto-complete location score
Browse files Browse the repository at this point in the history
  • Loading branch information
grote committed Jan 31, 2017
1 parent 6796965 commit db1f0fb
Show file tree
Hide file tree
Showing 9 changed files with 112 additions and 8 deletions.
24 changes: 24 additions & 0 deletions art/networks/network_negentwee_logo.svg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 52 additions & 0 deletions res/drawable/network_negentwee_logo.xml
@@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="64dp"
android:height="64dp"
android:viewportHeight="56.7"
android:viewportWidth="56.7">

<path
android:fillColor="#000000"
android:pathData="M0,0 L28.3,0 L28.3,28.3 L0,28.3 L0,0 Z"/>
<path
android:fillColor="#FFFFFF"
android:pathData="M28.3,0 L56.6,0 L56.6,28.3 L28.3,28.3 L28.3,0 Z"/>
<path
android:fillColor="#FFFFFF"
android:pathData="M0,28.3 L28.3,28.3 L28.3,56.6 L0,56.6 L0,28.3 Z"/>
<path
android:fillColor="#000000"
android:pathData="M28.3,28.3 L56.6,28.3 L56.6,56.6 L28.3,56.6 L28.3,28.3 Z"/>
<path
android:fillColor="#000000"
android:pathData="M36,23.4 L36,20.8 L38.3,18.7 C42.2,15.1,44.1,13,44.2,10.9
C44.2,9.4,43.3,8.2,41.3,8.2 C39.8,8.2,38.4,9,37.5,9.7 L36.3,6.7
C37.6,5.7,39.7,4.8,42.1,4.8 C46.2,4.8,48.4,7.2,48.4,10.6
C48.4,13.7,46.3,16.1,43.6,18.5 L42,19.9 L42,20 L48.8,20 L48.8,23.5 L36,23.5"/>
<path
android:fillColor="#FFFFFF"
android:pathData="M36,51.7 L36,49.3 L38.3,47.2 C42.2,43.6,44.2,41.4,44.2,39.2
C44.2,37.6,43.3,36.4,41.2,36.4 C39.7,36.4,38.3,37.2,37.3,37.9 L36.2,34.9
C37.5,33.9,39.6,33,42,33 C46.1,33,48.3,35.4,48.3,38.8
C48.3,41.9,46.2,44.4,43.5,46.8 L41.9,48.2 L41.9,48.3 L48.7,48.3 L48.7,51.7
L36,51.7"/>
<path
android:fillColor="#000000"
android:pathData="M8.9,48.6 C9.4,48.7,9.9,48.7,10.7,48.6 C12,48.5,13.3,48.2,14.2,47.5
C15.4,46.7,16.2,45.4,16.5,44.1 L16.4,44.1 C15.6,44.9,14.4,45.4,12.8,45.4
C9.8,45.4,7.3,43.3,7.3,39.7 C7.3,36.1,10.1,33.1,14,33.1
C18.6,33.1,20.8,36.7,20.8,41 C20.8,44.8,19.6,47.6,17.7,49.5
C16,51.1,13.6,52,10.8,52.1 C10.1,52.2,9.4,52.1,8.9,52.1 L8.9,48.6 Z M13.8,36.2
C12.4,36.2,11.4,37.5,11.4,39.4 C11.4,41,12.3,42.3,13.9,42.3
C15.1,42.3,15.8,41.8,16.3,41.1 C16.4,40.8,16.5,40.5,16.5,40
C16.5,38.1,15.7,36.2,13.8,36.2"/>
<path
android:fillColor="#FFFFFF"
android:pathData="M8.9,20.4 C9.4,20.5,9.9,20.5,10.7,20.4 C12,20.3,13.3,20,14.3,19.3
C15.7,18.4,16.3,17.1,16.6,15.6 L16.5,15.6 C15.6,16.6,14.4,17.1,12.8,17.1
C9.8,17.1,7.3,15,7.3,11.4 S10,4.7,14,4.7 C18.6,4.7,20.8,8.3,20.8,12.6
C20.8,16.4,19.6,19.2,17.7,21.1 C16,22.7,13.6,23.6,10.8,23.7
C10.1,23.8,9.4,23.7,8.9,23.7 L8.9,20.4 Z M13.8,7.7 C12.3,7.7,11.3,9,11.3,11
C11.3,12.7,12.2,14,13.9,14 C15.2,14,15.9,13.5,16.4,12.8
C16.5,12.5,16.6,12.2,16.6,11.7 C16.6,9.7,15.9,7.7,13.8,7.7"/>
</vector>
2 changes: 2 additions & 0 deletions res/values/strings.xml
Expand Up @@ -334,6 +334,8 @@ there are any).</string>

<string name="np_region_netherlands">Netherlands</string>
<string name="np_desc_ns">Netherlands, Amsterdam</string>
<string name="np_name_negentwee" translatable="false">9292.nl</string>
<string name="np_desc_negentwee">All public transport in the Netherlands</string>

<string name="np_region_norway">Norway</string>
<string name="np_desc_nri">Norway, Oslo, Bergen</string>
Expand Down
5 changes: 3 additions & 2 deletions src/de/grobox/liberario/locations/LocationAdapter.java
Expand Up @@ -44,6 +44,7 @@
import de.grobox.liberario.networks.TransportNetworkManager.OnFavoriteLocationsLoadedListener;
import de.grobox.liberario.utils.TransportrUtils;
import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.SuggestedLocation;

import static de.grobox.liberario.locations.FavLocation.FavLocationType.FROM;
import static de.grobox.liberario.locations.WrapLocation.WrapType.GPS;
Expand All @@ -57,7 +58,7 @@ class LocationAdapter extends ArrayAdapter<WrapLocation> implements Filterable,
private final TransportNetworkManager manager;
private List<WrapLocation> favoriteLocations = new ArrayList<>();
@Nullable
private List<Location> suggestedLocations;
private List<SuggestedLocation> suggestedLocations;
@Nullable
private CharSequence search;
private Filter filter = null;
Expand Down Expand Up @@ -180,7 +181,7 @@ protected void publishResults(CharSequence charSequence, FilterResults results)
return filter;
}

void swapSuggestedLocations(List<Location> suggestedLocations, String search) {
void swapSuggestedLocations(List<SuggestedLocation> suggestedLocations, String search) {
this.suggestedLocations = suggestedLocations;
if (search.length() >= TYPING_THRESHOLD) {
this.search = search;
Expand Down
2 changes: 1 addition & 1 deletion src/de/grobox/liberario/locations/LocationView.java
Expand Up @@ -273,7 +273,7 @@ public void onSuggestLocationsResult(@Nullable SuggestLocationsResult suggestLoc
if(suggestLocationsResult == null) return;

if(getAdapter() != null) {
getAdapter().swapSuggestedLocations(suggestLocationsResult.getLocations(), ui.location.getText().toString());
getAdapter().swapSuggestedLocations(suggestLocationsResult.suggestedLocations, ui.location.getText().toString());
}
}

Expand Down
10 changes: 6 additions & 4 deletions src/de/grobox/liberario/locations/SuggestLocationsFilter.java
Expand Up @@ -5,30 +5,32 @@
import java.util.ArrayList;
import java.util.List;

import de.schildbach.pte.dto.Location;
import de.schildbach.pte.dto.SuggestedLocation;

abstract class SuggestLocationsFilter extends Filter {

/**
* Starts an asynchronous filtering operation on a worker thread.
*/
FilterResults performFiltering(CharSequence constraint, List<WrapLocation> favoriteLocations, List<Location> suggestedLocations) {
FilterResults performFiltering(CharSequence constraint, List<WrapLocation> favoriteLocations, List<SuggestedLocation> suggestedLocations) {
FilterResults filterResults = new FilterResults();
if (constraint == null) return filterResults;
List<WrapLocation> result = new ArrayList<>();

// add fav locations that fulfill constraint
for (WrapLocation l : favoriteLocations) {
// case-insensitive match of location name and location not already included
// TODO don't only match name, but also place
if (l.getLocation().name != null && l.getLocation().name.toLowerCase().contains(constraint.toString().toLowerCase()) && !result.contains(l)) {
result.add(l);
}
}

// add suggested locations (from network provider) without filtering if not already included
if (suggestedLocations != null) {
for (Location l : suggestedLocations) {
WrapLocation loc = new WrapLocation(l);
// the locations are pre-sorted by priority
for (SuggestedLocation l : suggestedLocations) {
WrapLocation loc = new WrapLocation(l.location);
// prevent duplicates
if (!result.contains(loc)) {
result.add(loc);
Expand Down
14 changes: 14 additions & 0 deletions src/de/grobox/liberario/networks/NetworkProviderFactory.java
Expand Up @@ -73,6 +73,7 @@ public final class NetworkProviderFactory
private static Reference<SncbProvider> sncbProviderRef;
private static Reference<LuProvider> luProviderRef;
private static Reference<NsProvider> nsProviderRef;
private static Reference<NegentweeProvider> negentweeProviderRef;
private static Reference<DsbProvider> dsbProviderRef;
private static Reference<SeProvider> seProviderRef;
private static Reference<NriProvider> nriProviderRef;
Expand Down Expand Up @@ -695,6 +696,19 @@ else if (networkId.equals(NetworkId.NS))
nsProviderRef = new SoftReference<>(provider);
return provider;
}
else if (networkId.equals(NetworkId.NEGENTWEE))
{
if (negentweeProviderRef != null)
{
final NegentweeProvider provider = negentweeProviderRef.get();
if (provider != null)
return provider;
}

final NegentweeProvider provider = new NegentweeProvider();
negentweeProviderRef = new SoftReference<>(provider);
return provider;
}
else if (networkId.equals(NetworkId.DSB))
{
if (dsbProviderRef != null)
Expand Down
9 changes: 9 additions & 0 deletions src/de/grobox/liberario/networks/TransportNetworks.java
Expand Up @@ -339,6 +339,15 @@ public interface TransportNetworks {
.setStatus(BETA)
.build(),

new TransportNetworkBuilder()
.setId(NetworkId.NEGENTWEE)
.setName(R.string.np_name_negentwee)
.setDescription(R.string.np_desc_negentwee)
.setLogo(R.drawable.network_negentwee_logo)
.setRegion(Region.NETHERLANDS)
.setStatus(ALPHA)
.build(),

// Denmark

new TransportNetworkBuilder()
Expand Down
2 changes: 1 addition & 1 deletion sublibs/public-transport-enabler
Submodule public-transport-enabler updated 39 files
+32 −32 enabler/src/de/schildbach/pte/AbstractEfaProvider.java
+17 −17 enabler/src/de/schildbach/pte/AbstractHafasLegacyProvider.java
+9 −9 enabler/src/de/schildbach/pte/AbstractHafasMobileProvider.java
+2 −3 enabler/src/de/schildbach/pte/AbstractHafasProvider.java
+6 −6 enabler/src/de/schildbach/pte/AbstractNavitiaProvider.java
+8 −8 enabler/src/de/schildbach/pte/AbstractTsiProvider.java
+1 −1 enabler/src/de/schildbach/pte/AvvProvider.java
+1 −1 enabler/src/de/schildbach/pte/BsvagProvider.java
+2 −2 enabler/src/de/schildbach/pte/BvgProvider.java
+1 −1 enabler/src/de/schildbach/pte/GvhProvider.java
+16 −16 enabler/src/de/schildbach/pte/HslProvider.java
+2 −2 enabler/src/de/schildbach/pte/InvgProvider.java
+1 −1 enabler/src/de/schildbach/pte/KvvProvider.java
+1 −1 enabler/src/de/schildbach/pte/LinzProvider.java
+1 −1 enabler/src/de/schildbach/pte/MvvProvider.java
+875 −0 enabler/src/de/schildbach/pte/NegentweeProvider.java
+1 −1 enabler/src/de/schildbach/pte/NetworkId.java
+1 −1 enabler/src/de/schildbach/pte/SeptaProvider.java
+1 −1 enabler/src/de/schildbach/pte/ShProvider.java
+1 −1 enabler/src/de/schildbach/pte/Standard.java
+1 −1 enabler/src/de/schildbach/pte/SvvProvider.java
+7 −1 enabler/src/de/schildbach/pte/SydneyProvider.java
+1 −1 enabler/src/de/schildbach/pte/TlemProvider.java
+1 −1 enabler/src/de/schildbach/pte/VagfrProvider.java
+1 −1 enabler/src/de/schildbach/pte/VaoProvider.java
+1 −1 enabler/src/de/schildbach/pte/VbnProvider.java
+1 −1 enabler/src/de/schildbach/pte/VorProvider.java
+1 −1 enabler/src/de/schildbach/pte/VrnProvider.java
+1 −1 enabler/src/de/schildbach/pte/VrrProvider.java
+11 −11 enabler/src/de/schildbach/pte/VrsProvider.java
+1 −1 enabler/src/de/schildbach/pte/WienProvider.java
+1 −1 enabler/src/de/schildbach/pte/ZvvProvider.java
+1 −1 enabler/src/de/schildbach/pte/dto/QueryDeparturesResult.java
+3 −3 enabler/src/de/schildbach/pte/dto/SuggestLocationsResult.java
+1 −1 enabler/src/de/schildbach/pte/util/HttpClient.java
+12 −0 enabler/src/de/schildbach/pte/util/ParserUtils.java
+8 −0 enabler/src/de/schildbach/pte/util/WordUtils.java
+163 −0 enabler/test/de/schildbach/pte/live/NegentweeProviderLiveTest.java
+2 −2 enabler/test/de/schildbach/pte/live/VrsProviderLiveTest.java

2 comments on commit db1f0fb

@grote
Copy link
Owner Author

@grote grote commented on db1f0fb Jan 31, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@patkan master and the v1 branch are starting to deviate a lot, but maybe you want to add the new NegentweeProvider to the v1 branch based on this? Just cherry picking this commit and removing what is not needed and adapting to the old code should do it.

@patkan
Copy link
Contributor

@patkan patkan commented on db1f0fb Jan 31, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like @full-duplex is already on it :-) 👍

Please sign in to comment.