Skip to content

fix(update): make the release notes in the update dialog scrollable - #760

Merged
ProdigyV21 merged 3 commits into
ProdigyV21:mainfrom
ReichiMD:claude/kind-lamport-ed9ony
Sep 27, 2026
Merged

ProdigyV21 merged 3 commits into
ProdigyV21:mainfrom
ReichiMD:claude/kind-lamport-ed9ony

Conversation

@ReichiMD

Copy link
Copy Markdown
Contributor

Summary

The release notes in the app update dialog could not be scrolled — not by swiping on touch devices, not with the D-pad on TV. They were cut at 900 characters and 260 dp, while the actual release notes are 3–15 KB, so most of the text was never reachable. Both places that open the dialog (automatic check on Home, Settings → check for updates) share AppUpdateModal, so both are fixed.

Changes (only AppUpdateModal.kt + one unit test)

  • Only the notes area scrolls (verticalScroll); title and buttons stay fixed. The notes take weight(1f, fill = false) with the existing 260 dp cap, so on short or landscape screens they give up height first and the buttons stay on screen.
  • TV: D-pad up/down scrolls the notes. The key is consumed only while the notes can still move in that direction; at the edges it falls through exactly as before. Left/right/OK are unchanged. A held key scrolls without restarting the animation.
  • A short fade on the top/bottom edge shows that the text continues.
  • The button row is a FlowRow: on narrow phones (e.g. German labels on a 360 dp screen) it wraps instead of squeezing the primary "Download" button. On TV (760 dp) it stays one row.
  • The 900-character cut is replaced by a 20,000-character guard against a runaway release body.
  • A small vertical margin keeps the dialog off the screen edges; tapping outside still dismisses it.

Not in this PR — happy to do it if you want

The notes are the raw GitHub release body, so ##, ** and links show as plain text — now the whole text, including the link lines at the end (and the Obtainium badge <img> from the release template). A light plain-text cleanup (drop heading/emphasis markers, turn [text](url) into text, drop images) or stopping at the "Downloads"/"Get ARVIO" section would be a small follow-up. I kept it out to keep this PR minimal.

Testing

  • Unit test AppUpdateNotesScrollTest (D-pad step, edges, short notes never consume up/down).
  • Device test (sideload debug build with a lowered versionName so the dialog appears):
    • Tablet, touch layout: dialog opens on its own after start, notes scroll to the very end by swiping, buttons stay visible throughout.
    • Phone in landscape: buttons stay on screen.
    • Phone in TV layout with a D-pad remote: up/down scrolls the notes, left/right moves between buttons.
    • Settings → check for updates: same dialog, same behaviour.
Screenshot_20260926-084520 Screenshot_20260926-084325

created by Claude (Anthropic) on behalf of @ReichiMD

The notes were cut at 900 characters and 260 dp with no way to scroll,
while real release notes are 3-15 KB - most of the text was unreachable
on every device.

- Only the notes area scrolls (touch swipe, D-pad up/down on TV); title
  and buttons stay fixed, and the notes give up height first so the
  buttons stay on screen on short or landscape displays.
- D-pad up/down is consumed only while the notes can move in that
  direction; at the edges the key falls through as before. A held key
  scrolls without restarting the animation.
- A fade on the cut edge shows that the text continues.
- The button row wraps on narrow phones instead of squeezing the
  primary button.
- A 20,000-character guard replaces the 900 cut.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0157kRGhEoLXosMFZQUoeHpH
@github-actions github-actions Bot added the area: android Changes to the Android app or Gradle build label Sep 26, 2026
@ProdigyV21

Copy link
Copy Markdown
Owner

Useful focused improvement: release notes can be scrolled without pushing the action buttons away, and buttons wrap on narrow screens. Reviewed the layout and D-pad handling; scroll-boundary unit tests pass and both Android variants compile. Integrated with current main and preserving your original commits.

@ProdigyV21
ProdigyV21 merged commit 89d7dfd into ProdigyV21:main Sep 27, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: android Changes to the Android app or Gradle build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants