public void LoadArrivalsForStop(Stop stop, Route routeFilter) { lock (arrivalsLock) { unfilteredArrivals.Clear(); ArrivalsForStop.Clear(); } this.routeFilter = routeFilter; RefreshArrivalsForStop(stop); // We've sent our first call off, set resultsLoaded to true resultsLoaded = true; }
private void FilterArrivals() { lock (arrivalsLock) { UIAction(() => ArrivalsForStop.Clear()); unfilteredArrivals.Sort(new DepartureTimeComparer()); foreach (ArrivalAndDeparture arrival in unfilteredArrivals) { if (routeFilter != null && routeFilter.id != arrival.routeId) { continue; } ArrivalAndDeparture currentArrival = arrival; UIAction(() => ArrivalsForStop.Add(currentArrival)); } } // Refresh NoResultsAvailable status OnPropertyChanged("NoResultsAvailable"); }