Vehicle Update Code Refactor, Retrolambda, and Bus List in Natural Order
Retrieving the Release
To obtain a copy of the app, please visit the Play Store's Website:
https://play.google.com/store/apps/details?id=rectangledbmi.com.pittsburghrealtimetracker
To opt into the open beta to get the latest (and possibly more stable features) first, please visit:
https://play.google.com/apps/testing/rectangledbmi.com.pittsburghrealtimetracker
The changes should...
- Increase app responsiveness -> all processing is done on background processes
- quell headaches regarding error messages -> like messages will be combined and will be printed only when changed.
- Reduce bus list headaches...
Changes:
- bus lists -> all in natural alphanumeric order as opposed to lexicographic order -> thanks @VincentIII - #192
- Added a Natural Order Comparator to the code -> thanks @paour
- code now uses RetroLambda for
- some java 8 syntax
- RxAndroid/RxJava code ease for making the app look more functional
- ReactiveX code for vehicle updates vastly improved -> thanks @mikeantonacci
- all processing is done in the background -> previously a list of buses and errors were processed on the main thread
- App should feel much much faster
- final output for vehicle updates only updated/added on main thread
- updates to errors only happens when updates change or buses are reselected
- like error messages from the API are handled together
- should reduce memory footprint tenfold -> no chance for memory issues from bad multithreading
- Like Transient error messages now processed to be together -> thanks @sgdoerfler - #221
- leads to much less repeatable error messages
- App should now say "No tracking data available for routes: allNonTrackedBusRoutes" as opposed to "Port Authority currently not tracking oneBusRoute"
- Google Libraries updated for more stability
- No more hidden packages to hide Port Authority API Key from GitHub
Issues not Fixed
- Toasts can still be flaky, especially when selecting 10 buses
- Camera sometimes unsets at irregular intervals.