Skip to content

Vehicle Update Code Refactor, Retrolambda, and Bus List in Natural Order

Compare
Choose a tag to compare
@epicstar epicstar released this 09 Nov 04:44

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.