Skip to content

Trip widget replaces favourite stops; plain search bar; train widget works in the background - #15

Merged
intelarc merged 2 commits into
mainfrom
claude/new-session-mvz2ww
Sep 26, 2026
Merged

intelarc merged 2 commits into
mainfrom
claude/new-session-mvz2ww

Conversation

@intelarc

Copy link
Copy Markdown
Owner

Your trip widget (replaces Favourite stops)

  • While a trip is running it shows:
    • where you're up to, from the tracker's headline and detail
    • the current ride's route pill
    • a progress bar of stops while on board
    • each leg of the trip, with the current one highlighted and the done ones crossed out
    • the arrival time, including live delay
    • an End button
  • With no trip running, it offers "Plan a trip".
  • It redraws right away when something changes (phase, leg, stop, headline), and otherwise at most every 15 s. TripService and TripTracker trigger the redraws.
  • It keeps FavouritesWidgetReceiver as its receiver name, so a favourites widget already on the home screen turns into it.

Search widget

  • Now just a search bar in the Google widget's style, a pill with:
    • the app icon (new ic_widget_logo)
    • the hint text
    • a magnifier
  • Tapping anywhere opens straight into search.

Train widget fix

  • The phone can block network for apps in the background. That left the widget without its map or trains, so it fell back to the old diagram and said "Open the app first".
  • TrainArt now draws the base map (lines, stations, names) once and saves it to the phone with its projection, then paints the trains on top each time.
  • The base map is redrawn when the app is opened, when the widget's size changes, or when the real tracks arrive.
  • Trains are fetched in WorkManager jobs that require a network connection:
    • the periodic worker, which now uses the UPDATE policy
    • a new TrainWidgetWorker, which the ↻ button enqueues
  • The periodic worker only fetches trains when a train widget is placed.

🤖 Generated with Claude Code

https://claude.ai/code/session_011C2fAvFFcMRkaF7qSvRA1v


Generated by Claude Code

…et works in the background

- Your trip: where you're up to on a trip you've started, the rides
  ahead, when you'll get there, and End; a way to plan one otherwise.
  It takes the favourite stops widget's receiver, so a placed one turns
  into it.
- Search: just a search bar, app icon and all, straight into search.
- Train map: the phone may keep an app offline in the background, which
  left the widget without its map or trains. The map is now drawn once
  (when the app's open if need be) and kept, with the trains put on it
  each time; the trains are fetched in jobs that wait for the internet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011C2fAvFFcMRkaF7qSvRA1v
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011C2fAvFFcMRkaF7qSvRA1v
@intelarc
intelarc merged commit a700be8 into main Sep 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants