fix(StopDetailsPage): Distinct errorKeys from API requests on NearbyTransitPage #641
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Ticket: 🤖 | Unfiltered Stop Details | Display error banners
What is this PR for?
Solves part 2 of #638.
getSchedule
was always using the same errorKey, so a race condition where the nearby transitgetSchedule
request finishes after thestopDetails
request resulted the stopDetails error banner disappearing.Now, getSchedule and getGlobalData take an errorKey param so the error can be recorded in a context-dependent way.
Additionally, while debugging I noticed that checkPredictionsStale was not being called periodically. This adds that functionality.
Note:
I created a separate ticket to appropriately clear the error banner when navigating between nearby transit & stop details. This is an issue on iOS as well, and is therefore out of scope of this android parity task.
iOS
android
withContext(Dispatchers.Default)
where possibleTesting
What testing have you done?
getSchedule
forplace-pktrm
. Confirmed error banner displayed as expectedcheckPredictionStale
, confirmed it was called multiple times. Not exactly every 5 seconds, so something may be going on there that warrants further investigation, but it was being called on at least some interval.