Repository navigation
feat: Froyo widget in Google Calendar style, with day headers - #47
Merged
Merged
Conversation
One scrolling list: a header per day (Today in blue and bold, Tomorrow, then dates; the year only when not this year; No date last), then that day's cards. Cards are rounded and colored by type, white text at 4.5:1 or better, with a 24 h time / all day / late line, the icon and the whole title wrapped. Late items go under Today. All-day before timed. RemoteCollectionItems on API 31+, the RemoteViewsService below it.
rayvader
enabled auto-merge
November 6, 2026 16:29
A card cut by the list's edge matched by its description while its title was out of sight, so the long-title check read a node that was not there.
On an unfolded screen the launcher made the widget narrow and the count pushed 'Froyo · Upcoming' down to '..'. Title and count now share the header's width and wrap. The e2e list helpers retry the list's bounds and fail with a message instead of stopping silently.
Sharing one line broke 'Froyo · Upcoming' mid-word on a narrow widget. Below 290 dp (divided by the text scale) the count now gets its own line. The e2e list walk stops only when the screen stops changing, since one tall card can fill a whole swipe.
uiautomator crops a half-hidden card, so a card touching the list's edge no longer counts as shown. The wrap check compares the title with its own card's one-line time, since a short title also wraps on a narrow widget.
On a narrow unfolded widget the 60-character card is taller than the list, so it is never wholly in view; the list scrolls through it. The check now brings the card's top into view and checks the title wraps.
Count its lines against the header title (same text size, always on screen) and keep the most seen while scrolling, instead of catching one scroll position.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
The Froyo · Upcoming widget now looks like Google Calendar (Raymond's option B, "Day headers").
Froyo · Upcoming,N open · Updated HH:mm(oras of HH:mm · <reason>), ⟳Today · Fri 6 Nov(blue, bold),Tomorrow · Sat 7 Nov,Sun 8 Nov; year only when not this year;No datelast14:10,all day, orlate · was Wed 4 Nov); icon; whole title, wrapped; Done chipRemoteCollectionItemson API 31+, the existingRemoteViewsServicebelow that. One tap template; a card fills in "open the app", its Done chip "mark done" (confirm, 5 s Undo,Done: <title>, unchanged).open_items_live->open_items, and the failure text are unchanged.core/UpcomingDays.Tests
UpcomingDaysTest: grouping and order (today, tomorrow, later, next year, late under Today, all-day before timed, no date last), time lines, type -> color, white-text contrast >= 4.5 for every color in both themes, color resources match the tested values, a 60-character title kept whole.Froyo widget: existing checks on the new list (scrolling to items), plus 7 made-up items at 115% text on the phone size and at an unfolded size (smallest width over 600 dp): headers in order, every card in view has its whole title and Done chip, the 60-character title wraps, scrolling reaches the last item. Light and dark screenshots.