OneBusAway / onebusaway-android

The official Android app for OneBusAway
http://www.onebusaway.org/
Other
475 stars 292 forks source link

Allow filtering by arrivals or departures at a stop #851

Open barbeau opened 6 years ago

barbeau commented 6 years ago

Summary:

Currently, if there are incoming arrivals and departures at a stop that have the same route and headsign, you can't filter the view to show only the arrivals or only the departures.

From a Puget Sound user:

Is there a way to filter arrivals/departures at a stop? My bus stop is the northern terminus of the D-Line so there are actually independent arrival and departure times (the busses park there for a while).

Since there are always a couple of D-Line busses parked at the stop, I don't need to see when more busses arrive, only when the ones already there are going to leave.

Screenshot below:

image

It would be nice if we could provide a way to filter these to show only arrivals or (probably more useful) only departures.

Steps to reproduce:

View arrivals for a stop that has an incoming and outgoing route with the same route and headsign

Expected behavior:

Give me some way to show only the arrivals for this route, or only the departures, or both

Observed behavior:

There are no way to filter only arrivals or departures for this type of route

Device and Android version:

SAMSUNG-SM-G930A w/ Android 7.0 Google Play Services App: 11.9.75 (448-182402865) Google Play Services Library: 9452000

alexforencich commented 6 years ago

This should be extended by a global configuration option to hide all arrival times.

sjgllghr commented 6 years ago

@barbeau I’ve got the basics of this working, any preferences towards stop vs global config (or both)?

I’m not really sure global is the way to go since a lot of buses tend to depart as they arrive at most stops and would get filtered out if “hide arrivals” were selected.

barbeau commented 6 years ago

@sjgllghr Thanks for working on this! I agree that in my experience stop-specific filters would be best. I was thinking that we'd handle this similarly to "Filter routes" option in the overflow menu when looking at a stop, something like "Filter arrival/departures", with a dialog "Show" with single-select radio button options:

...with "Both" being the default.

@alexforencich Are there certain scenarios where you were thinking that a global configuration option to hide all arrivals would be useful? I see this as problematic as for most stops only arrivals are shown, where as arrivals are what you want to filter out at specific stops like in the original post. So setting a global option of "Hide arrivals" would hide them at many stops where you need them. And, it's not always straightforward to figure out which stops only have arrivals for specific route directions, as IDs and headsigns can change at a stop.

alexforencich commented 6 years ago

The problem is there is no way to differentiate between "arrival" and "arrival with immediate departure" right now. At a bus terminal, "arrival" is ambiguous because it might leave right away, or it might not leave until the next departure time which could be 30 min later. Or it could be going out of service. Or it could be the last stop for that bus and therefore doesn't pick up anybody. I don't care about what time the bus arrives, I only care about the time the bus will be leaving. It is possible that there is no way to solve this without some data plane reworking, though, which may not be possible.